solid-ui 2.4.16 → 2.4.18-18f68eaa

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 (126) hide show
  1. package/README.md +7 -11
  2. package/lib/acl/access-controller.d.ts.map +1 -1
  3. package/lib/acl/access-controller.js +5 -1
  4. package/lib/acl/access-controller.js.map +1 -1
  5. package/lib/acl/access-groups.d.ts +2 -2
  6. package/lib/acl/access-groups.d.ts.map +1 -1
  7. package/lib/acl/access-groups.js +1 -5
  8. package/lib/acl/access-groups.js.map +1 -1
  9. package/lib/acl/acl.d.ts.map +1 -1
  10. package/lib/acl/acl.js +2 -4
  11. package/lib/acl/acl.js.map +1 -1
  12. package/lib/acl/add-agent-buttons.d.ts.map +1 -1
  13. package/lib/acl/add-agent-buttons.js +5 -5
  14. package/lib/acl/add-agent-buttons.js.map +1 -1
  15. package/lib/chat/bookmarks.js +20 -22
  16. package/lib/chat/bookmarks.js.map +1 -1
  17. package/lib/chat/chatLogic.js +13 -15
  18. package/lib/chat/chatLogic.js.map +1 -1
  19. package/lib/chat/dateFolder.js +10 -10
  20. package/lib/chat/dateFolder.js.map +1 -1
  21. package/lib/chat/infinite.js +14 -16
  22. package/lib/chat/infinite.js.map +1 -1
  23. package/lib/chat/message.js +19 -23
  24. package/lib/chat/message.js.map +1 -1
  25. package/lib/chat/messageTools.js +16 -21
  26. package/lib/chat/messageTools.js.map +1 -1
  27. package/lib/chat/thread.js +24 -24
  28. package/lib/chat/thread.js.map +1 -1
  29. package/lib/create/create.d.ts.map +1 -1
  30. package/lib/create/create.js +9 -9
  31. package/lib/create/create.js.map +1 -1
  32. package/lib/folders.js +2 -6
  33. package/lib/folders.js.map +1 -1
  34. package/lib/footer/index.js +4 -4
  35. package/lib/footer/index.js.map +1 -1
  36. package/lib/header/index.d.ts.map +1 -1
  37. package/lib/header/index.js +11 -8
  38. package/lib/header/index.js.map +1 -1
  39. package/lib/index.d.ts +4 -4
  40. package/lib/index.d.ts.map +1 -1
  41. package/lib/index.js +30 -28
  42. package/lib/index.js.map +1 -1
  43. package/lib/login/login.d.ts +130 -0
  44. package/lib/login/login.d.ts.map +1 -0
  45. package/lib/login/login.js +1415 -0
  46. package/lib/login/login.js.map +1 -0
  47. package/lib/matrix/matrix.js +2 -2
  48. package/lib/matrix/matrix.js.map +1 -1
  49. package/lib/messageArea.js +9 -10
  50. package/lib/messageArea.js.map +1 -1
  51. package/lib/pad.js +2 -2
  52. package/lib/pad.js.map +1 -1
  53. package/lib/participation.d.ts.map +1 -1
  54. package/lib/participation.js +61 -33
  55. package/lib/participation.js.map +1 -1
  56. package/lib/preferences.js +8 -8
  57. package/lib/preferences.js.map +1 -1
  58. package/lib/{authn → signup}/config-default.js +0 -0
  59. package/lib/signup/config-default.js.map +1 -0
  60. package/lib/{authn → signup}/signup.js +0 -0
  61. package/lib/signup/signup.js.map +1 -0
  62. package/lib/table.js +2 -3
  63. package/lib/table.js.map +1 -1
  64. package/lib/tabs.js +3 -3
  65. package/lib/tabs.js.map +1 -1
  66. package/lib/utils/index.js +6 -6
  67. package/lib/utils/index.js.map +1 -1
  68. package/lib/utils/label.js +4 -5
  69. package/lib/utils/label.js.map +1 -1
  70. package/lib/versionInfo.js +10 -10
  71. package/lib/versionInfo.js.map +1 -1
  72. package/lib/webpack-bundle.js +8300 -24470
  73. package/lib/webpack-bundle.js.map +1 -1
  74. package/lib/widgets/buttons.js +16 -16
  75. package/lib/widgets/buttons.js.map +1 -1
  76. package/lib/widgets/forms/autocomplete/autocompleteBar.js +2 -2
  77. package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +1 -1
  78. package/lib/widgets/forms/autocomplete/autocompleteField.js +2 -2
  79. package/lib/widgets/forms/autocomplete/autocompleteField.js.map +1 -1
  80. package/lib/widgets/forms/autocomplete/autocompletePicker.js +2 -2
  81. package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +1 -1
  82. package/lib/widgets/forms/autocomplete/language.d.ts.map +1 -1
  83. package/lib/widgets/forms/autocomplete/language.js +7 -10
  84. package/lib/widgets/forms/autocomplete/language.js.map +1 -1
  85. package/lib/widgets/forms/autocomplete/publicData.d.ts +2 -1
  86. package/lib/widgets/forms/autocomplete/publicData.d.ts.map +1 -1
  87. package/lib/widgets/forms/autocomplete/publicData.js +16 -16
  88. package/lib/widgets/forms/autocomplete/publicData.js.map +1 -1
  89. package/lib/widgets/forms/basic.d.ts +1 -1
  90. package/lib/widgets/forms/basic.d.ts.map +1 -1
  91. package/lib/widgets/forms/basic.js +2 -2
  92. package/lib/widgets/forms/basic.js.map +1 -1
  93. package/lib/widgets/forms/comment.d.ts +1 -1
  94. package/lib/widgets/forms/comment.js +3 -3
  95. package/lib/widgets/forms/comment.js.map +1 -1
  96. package/lib/widgets/forms/fieldFunction.js +2 -2
  97. package/lib/widgets/forms/fieldFunction.js.map +1 -1
  98. package/lib/widgets/forms/formStyle.js +3 -3
  99. package/lib/widgets/forms/formStyle.js.map +1 -1
  100. package/lib/widgets/forms.js +11 -11
  101. package/lib/widgets/forms.js.map +1 -1
  102. package/lib/widgets/peoplePicker.js +2 -2
  103. package/lib/widgets/peoplePicker.js.map +1 -1
  104. package/package.json +12 -4
  105. package/lib/authn/authSession.d.ts +0 -4
  106. package/lib/authn/authSession.d.ts.map +0 -1
  107. package/lib/authn/authSession.js +0 -25
  108. package/lib/authn/authSession.js.map +0 -1
  109. package/lib/authn/authn.d.ts +0 -193
  110. package/lib/authn/authn.d.ts.map +0 -1
  111. package/lib/authn/authn.js +0 -2238
  112. package/lib/authn/authn.js.map +0 -1
  113. package/lib/authn/config-default.js.map +0 -1
  114. package/lib/authn/index.d.ts +0 -35
  115. package/lib/authn/index.d.ts.map +0 -1
  116. package/lib/authn/index.js +0 -44
  117. package/lib/authn/index.js.map +0 -1
  118. package/lib/authn/signup.js.map +0 -1
  119. package/lib/authn/types.d.ts +0 -25
  120. package/lib/authn/types.d.ts.map +0 -1
  121. package/lib/authn/types.js +0 -6
  122. package/lib/authn/types.js.map +0 -1
  123. package/lib/logic.d.ts +0 -8
  124. package/lib/logic.d.ts.map +0 -1
  125. package/lib/logic.js +0 -79
  126. package/lib/logic.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/chat/thread.js"],"names":["UI","authn","icons","ns","media","pad","store","style","utils","widgets","thread","dom","subject","messageStore","options","doc","WF","$rdf","Namespace","DCT","newestFirst","messageBodyStyle","div","createElement","messageTable","me","updater","anchor","text","term","a","uri","setAttribute","addEventListener","openHrefInOutlineMode","textContent","mention","message","pre","appendChild","createTextNode","announce","log","warn","error","newMessageForm","form","lhs","middle","rhs","AJAR_date","sendMessage","field","disabled","appendMsg","value","dateStamp","sts","sendComplete","success","body","errorMessageBlock","bindings","literal","renderMessage","update","sendButton","turnOnInput","creatorAndDate","innerHTML","rows","e","keyCode","altKey","button","iconBase","buttonStyle","context","logIn","then","fieldValue","oldMsg","now","Date","timestamp","getTime","sym","push","Statement","mostRecentVersion","wf","msgBody","nick","sioc","foaf","person","s","any","label","td1","creator","date","nickAnchor","fetcher","nowOrWhenFetched","undefined","_ok","_body","syncMessages","about","displayed","ele","ele2","firstChild","nextSibling","AJAR_subject","messages","each","stored","forEach","m","addMessage","removeChild","msg","statementsMatching","_deleteMessage","connectedStatements","deletions","ok","fresh","content","dateString","tr","done","insertBefore","shortDate","td2","td3","delButton","_event","cancelButton","sureButton","query","Query","v","vs","x","vars","variable","pat","add","dct","doneQuery","refresh"],"mappings":"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","sourcesContent":["/**\n * Contains the [[thread]] function\n * @packageDocumentation\n */\n\nimport { authn } from '../authn/index'\nimport { icons } from '../iconBase'\nimport { store } from '../logic'\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'\n\nconst UI = { authn, icons, ns, media, pad, store, style, utils, widgets }\n\n/**\n * HTML component for a chat thread\n */\nexport function thread (dom, store, subject, messageStore, options) {\n store = store || UI.store\n messageStore = messageStore.doc() // No hash\n const ns = UI.ns\n const WF = $rdf.Namespace('http://www.w3.org/2005/01/wf/flow#')\n const DCT = $rdf.Namespace('http://purl.org/dc/terms/')\n\n options = options || {}\n\n const newestFirst = !!options.newestFirst\n\n const messageBodyStyle =\n 'white-space: pre-wrap; width: 90%; font-size:100%; border: 0.07em solid #eee; padding: .2em 0.5em; margin: 0.1em 1em 0.1em 1em;'\n // 'font-size: 100%; margin: 0.1em 1em 0.1em 1em; background-color: white; white-space: pre-wrap; padding: 0.1em;'\n\n const div = dom.createElement('div')\n // eslint-disable-next-line prefer-const\n let messageTable // Shared by initial build and addMessageFromBindings\n\n let me\n\n const updater = UI.store.updater\n\n const anchor = function (text, term) {\n // If there is no link return an element anyway\n const a = dom.createElement('a')\n if (term && term.uri) {\n a.setAttribute('href', term.uri)\n a.addEventListener('click', UI.widgets.openHrefInOutlineMode, true)\n a.setAttribute('style', 'color: #3B5998; text-decoration: none; ') // font-weight: bold\n }\n a.textContent = text\n return a\n }\n\n const mention = function mention (message, style) {\n const pre = dom.createElement('pre')\n pre.setAttribute('style', style || 'color: grey')\n div.appendChild(pre)\n pre.appendChild(dom.createTextNode(message))\n return pre\n }\n\n const announce = {\n log: function (message) {\n mention(message, 'color: #111;')\n },\n warn: function (message) {\n mention(message, 'color: #880;')\n },\n error: function (message) {\n mention(message, 'color: #800;')\n }\n }\n\n /**\n * Form for a new message\n */\n const newMessageForm = function () {\n const form = dom.createElement('tr')\n const lhs = dom.createElement('td')\n const middle = dom.createElement('td')\n const rhs = dom.createElement('td')\n form.appendChild(lhs)\n form.appendChild(middle)\n form.appendChild(rhs)\n form.AJAR_date = '9999-01-01T00:00:00Z' // ISO format for field sort\n\n const sendMessage = function () {\n // titlefield.setAttribute('class','pendingedit')\n // titlefield.disabled = true\n field.setAttribute('class', 'pendingedit')\n field.disabled = true\n const { message, dateStamp, sts } = appendMsg(field.value)\n\n const sendComplete = function (uri, success, body) {\n if (!success) {\n form.appendChild(\n UI.widgets.errorMessageBlock(dom, 'Error writing message: ' + body)\n )\n } else {\n const bindings = {\n '?msg': message,\n '?content': store.literal(field.value),\n '?date': dateStamp,\n '?creator': me\n }\n renderMessage(bindings, false) // not green\n\n field.value = '' // clear from out for reuse\n field.setAttribute('class', '')\n field.disabled = false\n }\n }\n updater.update([], sts, sendComplete)\n }\n form.appendChild(dom.createElement('br'))\n\n let field, sendButton\n const turnOnInput = function () {\n creatorAndDate(lhs, me, '', null)\n\n field = dom.createElement('textarea')\n middle.innerHTML = ''\n middle.appendChild(field)\n field.rows = 3\n // field.cols = 40\n field.setAttribute('style', messageBodyStyle + 'background-color: #eef;')\n\n field.addEventListener(\n 'keyup',\n function (e) {\n // User preference?\n if (e.keyCode === 13) {\n if (!e.altKey) {\n // Alt-Enter just adds a new line\n sendMessage()\n }\n }\n },\n false\n )\n\n rhs.innerHTML = ''\n sendButton = UI.widgets.button(\n dom,\n UI.icons.iconBase + 'noun_383448.svg',\n 'Send'\n )\n sendButton.setAttribute('style', UI.style.buttonStyle + 'float: right;')\n sendButton.addEventListener('click', sendMessage, false)\n rhs.appendChild(sendButton)\n }\n\n const context = { div: middle, dom: dom }\n UI.authn.logIn(context).then(context => {\n me = context.me\n turnOnInput()\n })\n\n return form\n }\n\n /* const sendMessage = function (oldMsg, options) { // alain\n // titlefield.setAttribute('class','pendingedit')\n // titlefield.disabled = true\n field.setAttribute('class', 'pendingedit')\n field.disabled = true\n const sts = []\n const now = new Date()\n const timestamp = '' + now.getTime()\n const dateStamp = $rdf.term(now)\n // http://www.w3schools.com/jsref/jsref_obj_date.asp\n const message = store.sym(messageStore.uri + '#' + 'Msg' + timestamp)\n\n if (options === 'edit' || options === 'delete') {\n sts.push(\n new $rdf.Statement(mostRecentVersion(oldMsg), DCT('isReplacedBy'), message, messageStore)\n )\n } else {\n sts.push(\n new $rdf.Statement(subject, ns.wf('message'), message, messageStore)\n )\n }\n // sts.push(new $rdf.Statement(message, ns.dc('title'), store.literal(titlefield.value), messageStore))\n const msgBody = options !== 'delete' ? field.value : `message deleted\\nby ${nick(me)}`\n sts.push(\n new $rdf.Statement(\n message,\n ns.sioc('content'),\n store.literal(msgBody),\n messageStore\n )\n )\n sts.push(\n new $rdf.Statement(message, DCT('created'), dateStamp, messageStore)\n )\n if (me) {\n sts.push(\n new $rdf.Statement(message, ns.foaf('maker'), me, messageStore)\n )\n }\n\n const sendComplete = function (uri, success, body) {\n if (!success) {\n form.appendChild(\n UI.widgets.errorMessageBlock(dom, 'Error writing message: ' + body)\n )\n } else {\n const bindings = {\n '?msg': message,\n '?content': store.literal(field.value),\n '?date': dateStamp,\n '?creator': me\n }\n renderMessage(bindings, false) // not green\n\n field.value = '' // clear from out for reuse\n field.setAttribute('class', '')\n field.disabled = false\n }\n }\n updater.update([], sts, sendComplete)\n } */\n\n const appendMsg = function (fieldValue, oldMsg = {}, options = '') { // alain\n const sts = []\n const now = new Date()\n const timestamp = '' + now.getTime()\n const dateStamp = $rdf.term(now)\n // http://www.w3schools.com/jsref/jsref_obj_date.asp\n const message = store.sym(messageStore.uri + '#' + 'Msg' + timestamp)\n\n if (options === 'edit' || options === 'delete') {\n sts.push(\n new $rdf.Statement(mostRecentVersion(oldMsg), DCT('isReplacedBy'), message, messageStore)\n )\n } else {\n sts.push(\n new $rdf.Statement(subject, ns.wf('message'), message, messageStore)\n )\n }\n // sts.push(new $rdf.Statement(message, ns.dc('title'), store.literal(titlefield.value), messageStore))\n const msgBody = options !== 'delete' ? fieldValue : `message deleted\\nby ${nick(me)}`\n sts.push(\n new $rdf.Statement(\n message,\n ns.sioc('content'),\n store.literal(msgBody),\n messageStore\n )\n )\n sts.push(\n new $rdf.Statement(message, DCT('created'), dateStamp, messageStore)\n )\n if (me) {\n sts.push(\n new $rdf.Statement(message, ns.foaf('maker'), me, messageStore)\n )\n }\n return { message, dateStamp, sts }\n }\n\n function nick (person) {\n const s = UI.store.any(person, UI.ns.foaf('nick'))\n if (s) return '' + s.value\n return '' + utils.label(person)\n }\n\n function creatorAndDate (td1, creator, date, message) {\n const nickAnchor = td1.appendChild(anchor(nick(creator), creator))\n if (creator.uri) {\n UI.store.fetcher.nowOrWhenFetched(creator.doc(), undefined, function (\n _ok,\n _body\n ) {\n nickAnchor.textContent = nick(creator)\n })\n }\n td1.appendChild(dom.createElement('br'))\n td1.appendChild(anchor(date, message))\n }\n\n // ///////////////////////////////////////////////////////////////////////\n\n function syncMessages (about, messageTable) {\n const displayed = {}\n let ele, ele2\n for (ele = messageTable.firstChild; ele; ele = ele.nextSibling) {\n if (ele.AJAR_subject) {\n displayed[ele.AJAR_subject.uri] = true\n }\n }\n const messages = store.each(about, ns.wf('message'))\n const stored = {}\n messages.forEach(function (m) {\n stored[m.uri] = true\n if (!displayed[m.uri]) {\n addMessage(m)\n }\n })\n\n // eslint-disable-next-line space-in-parens\n for (ele = messageTable.firstChild; ele; ) {\n ele2 = ele.nextSibling\n if (ele.AJAR_subject && !stored[ele.AJAR_subject.uri]) {\n messageTable.removeChild(ele)\n }\n ele = ele2\n }\n }\n\n const mostRecentVersion = function (message) {\n let msg = message\n // const listMsg = []\n while (msg) {\n // listMsg.push(msg)\n msg = store.statementsMatching(message, DCT('isReplacedBy'))\n }\n return msg\n }\n\n const _deleteMessage = async function (message) { // alain: must delete message and all linked with isReplacedBy\n // alain: check that me is not the author and ask for confirmation.\n const deletions = await store.connectedStatements(message, messageStore)\n updater.update(deletions, [], function (uri, ok, body) {\n if (!ok) {\n announce.error('Cant delete messages:' + body)\n } else {\n syncMessages(subject, messageTable)\n }\n })\n }\n\n const addMessage = function (message) {\n const bindings = {\n '?msg': message,\n '?creator': store.any(message, ns.foaf('maker')),\n '?date': store.any(message, DCT('created')),\n '?content': store.any(message, ns.sioc('content'))\n }\n renderMessage(bindings, true) // fresh from elsewhere\n }\n\n const renderMessage = function (bindings, fresh) {\n const creator = bindings['?creator']\n const message = bindings['?msg']\n const date = bindings['?date']\n const content = bindings['?content']\n\n const dateString = date.value\n const tr = dom.createElement('tr')\n tr.AJAR_date = dateString\n tr.AJAR_subject = message\n\n let done = false\n for (let ele = messageTable.firstChild; ; ele = ele.nextSibling) {\n if (!ele) {\n // empty\n break\n }\n if (\n (dateString > ele.AJAR_date && newestFirst) ||\n (dateString < ele.AJAR_date && !newestFirst)\n ) {\n messageTable.insertBefore(tr, ele)\n done = true\n break\n }\n }\n if (!done) {\n messageTable.appendChild(tr)\n }\n\n const td1 = dom.createElement('td')\n tr.appendChild(td1)\n creatorAndDate(td1, creator, UI.widgets.shortDate(dateString), message)\n\n const td2 = dom.createElement('td')\n tr.appendChild(td2)\n const pre = dom.createElement('p')\n pre.setAttribute(\n 'style',\n messageBodyStyle +\n (fresh ? 'background-color: #e8ffe8;' : 'background-color: #white;')\n )\n td2.appendChild(pre)\n pre.textContent = content.value\n\n const td3 = dom.createElement('td')\n tr.appendChild(td3)\n\n const delButton = dom.createElement('button')\n td3.appendChild(delButton)\n delButton.textContent = '-'\n\n tr.setAttribute('class', 'hoverControl') // See tabbedtab.css (sigh global CSS)\n delButton.setAttribute('class', 'hoverControlHide')\n delButton.setAttribute('style', 'color: red;')\n delButton.addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(delButton) // Ask -- are you sure?\n const cancelButton = dom.createElement('button')\n cancelButton.textContent = 'cancel'\n td3.appendChild(cancelButton).addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(sureButton)\n td3.removeChild(cancelButton)\n td3.appendChild(delButton)\n },\n false\n )\n const sureButton = dom.createElement('button')\n sureButton.textContent = 'Delete message'\n td3.appendChild(sureButton).addEventListener(\n 'click',\n function (_event) { // alain test for delete or edit depending on me = maker\n td3.removeChild(sureButton)\n td3.removeChild(cancelButton)\n // deleteMessage(message) // alain or sendMessage(message, 'delete' or 'edit') //alain\n if (me.value === store.any(message, ns.foaf('maker')).value) {\n const { sts } = appendMsg() // alain\n updater.update([], sts)\n }\n },\n false\n )\n },\n false\n )\n }\n\n // Messages with date, author etc\n\n messageTable = dom.createElement('table')\n messageTable.fresh = false\n div.appendChild(messageTable)\n messageTable.setAttribute('style', 'width: 100%;') // fill that div!\n\n const tr = newMessageForm()\n if (newestFirst) {\n messageTable.insertBefore(tr, messageTable.firstChild) // If newestFirst\n } else {\n messageTable.appendChild(tr) // not newestFirst\n }\n\n let query\n // Do this with a live query to pull in messages from web\n if (options.query) {\n query = options.query\n } else {\n query = new $rdf.Query('Messages')\n const v = {} // semicolon needed\n const vs = ['msg', 'date', 'creator', 'content']\n vs.forEach(function (x) {\n query.vars.push((v[x] = $rdf.variable(x)))\n })\n query.pat.add(subject, WF('message'), v.msg)\n query.pat.add(v.msg, ns.dct('created'), v.date)\n query.pat.add(v.msg, ns.foaf('maker'), v.creator)\n query.pat.add(v.msg, ns.sioc('content'), v.content)\n }\n\n function doneQuery () {\n messageTable.fresh = true // any new are fresh and so will be greenish\n }\n store.query(query, renderMessage, undefined, doneQuery)\n div.refresh = function () {\n syncMessages(subject, messageTable)\n }\n // syncMessages(subject, messageTable) // no the query will do this async\n return div\n}\n"],"file":"thread.js"}
1
+ {"version":3,"sources":["../../src/chat/thread.js"],"names":["UI","icons","ns","media","pad","style","utils","widgets","thread","dom","kb","subject","messageStore","options","store","doc","WF","$rdf","Namespace","DCT","newestFirst","messageBodyStyle","div","createElement","messageTable","me","updater","anchor","text","term","a","uri","setAttribute","addEventListener","openHrefInOutlineMode","textContent","mention","message","pre","appendChild","createTextNode","announce","log","warn","error","newMessageForm","form","lhs","middle","rhs","AJAR_date","sendMessage","field","disabled","appendMsg","value","dateStamp","sts","sendComplete","success","body","errorMessageBlock","bindings","literal","renderMessage","update","sendButton","turnOnInput","creatorAndDate","innerHTML","rows","e","keyCode","altKey","button","iconBase","buttonStyle","context","login","ensureLoggedIn","then","fieldValue","oldMsg","now","Date","timestamp","getTime","sym","push","Statement","mostRecentVersion","wf","msgBody","nick","sioc","foaf","person","s","any","label","td1","creator","date","nickAnchor","fetcher","nowOrWhenFetched","undefined","_ok","_body","syncMessages","about","displayed","ele","ele2","firstChild","nextSibling","AJAR_subject","messages","each","stored","forEach","m","addMessage","removeChild","msg","statementsMatching","_deleteMessage","connectedStatements","deletions","ok","fresh","content","dateString","tr","done","insertBefore","shortDate","td2","td3","delButton","_event","cancelButton","sureButton","query","Query","v","vs","x","vars","variable","pat","add","dct","doneQuery","refresh"],"mappings":"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","sourcesContent":["/**\n * Contains the [[thread]] function\n * @packageDocumentation\n */\n\nimport { icons } from '../iconBase'\nimport { store } from 'solid-logic'\nimport { media } from '../media/index'\nimport * as ns from '../ns'\nimport * as login from '../login/login'\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'\n\nconst UI = { icons, ns, media, pad, style, utils, widgets }\n\n/**\n * HTML component for a chat thread\n */\nexport function thread (dom, kb, subject, messageStore, options) {\n kb = kb || store\n messageStore = messageStore.doc() // No hash\n const ns = UI.ns\n const WF = $rdf.Namespace('http://www.w3.org/2005/01/wf/flow#')\n const DCT = $rdf.Namespace('http://purl.org/dc/terms/')\n\n options = options || {}\n\n const newestFirst = !!options.newestFirst\n\n const messageBodyStyle =\n 'white-space: pre-wrap; width: 90%; font-size:100%; border: 0.07em solid #eee; padding: .2em 0.5em; margin: 0.1em 1em 0.1em 1em;'\n // 'font-size: 100%; margin: 0.1em 1em 0.1em 1em; background-color: white; white-space: pre-wrap; padding: 0.1em;'\n\n const div = dom.createElement('div')\n // eslint-disable-next-line prefer-const\n let messageTable // Shared by initial build and addMessageFromBindings\n\n let me\n\n const updater = store.updater\n\n const anchor = function (text, term) {\n // If there is no link return an element anyway\n const a = dom.createElement('a')\n if (term && term.uri) {\n a.setAttribute('href', term.uri)\n a.addEventListener('click', UI.widgets.openHrefInOutlineMode, true)\n a.setAttribute('style', 'color: #3B5998; text-decoration: none; ') // font-weight: bold\n }\n a.textContent = text\n return a\n }\n\n const mention = function mention (message, style) {\n const pre = dom.createElement('pre')\n pre.setAttribute('style', style || 'color: grey')\n div.appendChild(pre)\n pre.appendChild(dom.createTextNode(message))\n return pre\n }\n\n const announce = {\n log: function (message) {\n mention(message, 'color: #111;')\n },\n warn: function (message) {\n mention(message, 'color: #880;')\n },\n error: function (message) {\n mention(message, 'color: #800;')\n }\n }\n\n /**\n * Form for a new message\n */\n const newMessageForm = function () {\n const form = dom.createElement('tr')\n const lhs = dom.createElement('td')\n const middle = dom.createElement('td')\n const rhs = dom.createElement('td')\n form.appendChild(lhs)\n form.appendChild(middle)\n form.appendChild(rhs)\n form.AJAR_date = '9999-01-01T00:00:00Z' // ISO format for field sort\n\n const sendMessage = function () {\n // titlefield.setAttribute('class','pendingedit')\n // titlefield.disabled = true\n field.setAttribute('class', 'pendingedit')\n field.disabled = true\n const { message, dateStamp, sts } = appendMsg(field.value)\n\n const sendComplete = function (uri, success, body) {\n if (!success) {\n form.appendChild(\n UI.widgets.errorMessageBlock(dom, 'Error writing message: ' + body)\n )\n } else {\n const bindings = {\n '?msg': message,\n '?content': store.literal(field.value),\n '?date': dateStamp,\n '?creator': me\n }\n renderMessage(bindings, false) // not green\n\n field.value = '' // clear from out for reuse\n field.setAttribute('class', '')\n field.disabled = false\n }\n }\n updater.update([], sts, sendComplete)\n }\n form.appendChild(dom.createElement('br'))\n\n let field, sendButton\n const turnOnInput = function () {\n creatorAndDate(lhs, me, '', null)\n\n field = dom.createElement('textarea')\n middle.innerHTML = ''\n middle.appendChild(field)\n field.rows = 3\n // field.cols = 40\n field.setAttribute('style', messageBodyStyle + 'background-color: #eef;')\n\n field.addEventListener(\n 'keyup',\n function (e) {\n // User preference?\n if (e.keyCode === 13) {\n if (!e.altKey) {\n // Alt-Enter just adds a new line\n sendMessage()\n }\n }\n },\n false\n )\n\n rhs.innerHTML = ''\n sendButton = UI.widgets.button(\n dom,\n UI.icons.iconBase + 'noun_383448.svg',\n 'Send'\n )\n sendButton.setAttribute('style', UI.style.buttonStyle + 'float: right;')\n sendButton.addEventListener('click', sendMessage, false)\n rhs.appendChild(sendButton)\n }\n\n const context = { div: middle, dom: dom }\n login.ensureLoggedIn(context).then(context => {\n me = context.me\n turnOnInput()\n })\n\n return form\n }\n\n /* const sendMessage = function (oldMsg, options) { // alain\n // titlefield.setAttribute('class','pendingedit')\n // titlefield.disabled = true\n field.setAttribute('class', 'pendingedit')\n field.disabled = true\n const sts = []\n const now = new Date()\n const timestamp = '' + now.getTime()\n const dateStamp = $rdf.term(now)\n // http://www.w3schools.com/jsref/jsref_obj_date.asp\n const message = store.sym(messageStore.uri + '#' + 'Msg' + timestamp)\n\n if (options === 'edit' || options === 'delete') {\n sts.push(\n new $rdf.Statement(mostRecentVersion(oldMsg), DCT('isReplacedBy'), message, messageStore)\n )\n } else {\n sts.push(\n new $rdf.Statement(subject, ns.wf('message'), message, messageStore)\n )\n }\n // sts.push(new $rdf.Statement(message, ns.dc('title'), store.literal(titlefield.value), messageStore))\n const msgBody = options !== 'delete' ? field.value : `message deleted\\nby ${nick(me)}`\n sts.push(\n new $rdf.Statement(\n message,\n ns.sioc('content'),\n store.literal(msgBody),\n messageStore\n )\n )\n sts.push(\n new $rdf.Statement(message, DCT('created'), dateStamp, messageStore)\n )\n if (me) {\n sts.push(\n new $rdf.Statement(message, ns.foaf('maker'), me, messageStore)\n )\n }\n\n const sendComplete = function (uri, success, body) {\n if (!success) {\n form.appendChild(\n UI.widgets.errorMessageBlock(dom, 'Error writing message: ' + body)\n )\n } else {\n const bindings = {\n '?msg': message,\n '?content': store.literal(field.value),\n '?date': dateStamp,\n '?creator': me\n }\n renderMessage(bindings, false) // not green\n\n field.value = '' // clear from out for reuse\n field.setAttribute('class', '')\n field.disabled = false\n }\n }\n updater.update([], sts, sendComplete)\n } */\n\n const appendMsg = function (fieldValue, oldMsg = {}, options = '') { // alain\n const sts = []\n const now = new Date()\n const timestamp = '' + now.getTime()\n const dateStamp = $rdf.term(now)\n // http://www.w3schools.com/jsref/jsref_obj_date.asp\n const message = store.sym(messageStore.uri + '#' + 'Msg' + timestamp)\n\n if (options === 'edit' || options === 'delete') {\n sts.push(\n new $rdf.Statement(mostRecentVersion(oldMsg), DCT('isReplacedBy'), message, messageStore)\n )\n } else {\n sts.push(\n new $rdf.Statement(subject, ns.wf('message'), message, messageStore)\n )\n }\n // sts.push(new $rdf.Statement(message, ns.dc('title'), store.literal(titlefield.value), messageStore))\n const msgBody = options !== 'delete' ? fieldValue : `message deleted\\nby ${nick(me)}`\n sts.push(\n new $rdf.Statement(\n message,\n ns.sioc('content'),\n store.literal(msgBody),\n messageStore\n )\n )\n sts.push(\n new $rdf.Statement(message, DCT('created'), dateStamp, messageStore)\n )\n if (me) {\n sts.push(\n new $rdf.Statement(message, ns.foaf('maker'), me, messageStore)\n )\n }\n return { message, dateStamp, sts }\n }\n\n function nick (person) {\n const s = store.any(person, UI.ns.foaf('nick'))\n if (s) return '' + s.value\n return '' + utils.label(person)\n }\n\n function creatorAndDate (td1, creator, date, message) {\n const nickAnchor = td1.appendChild(anchor(nick(creator), creator))\n if (creator.uri) {\n store.fetcher.nowOrWhenFetched(creator.doc(), undefined, function (\n _ok,\n _body\n ) {\n nickAnchor.textContent = nick(creator)\n })\n }\n td1.appendChild(dom.createElement('br'))\n td1.appendChild(anchor(date, message))\n }\n\n // ///////////////////////////////////////////////////////////////////////\n\n function syncMessages (about, messageTable) {\n const displayed = {}\n let ele, ele2\n for (ele = messageTable.firstChild; ele; ele = ele.nextSibling) {\n if (ele.AJAR_subject) {\n displayed[ele.AJAR_subject.uri] = true\n }\n }\n const messages = store.each(about, ns.wf('message'))\n const stored = {}\n messages.forEach(function (m) {\n stored[m.uri] = true\n if (!displayed[m.uri]) {\n addMessage(m)\n }\n })\n\n // eslint-disable-next-line space-in-parens\n for (ele = messageTable.firstChild; ele; ) {\n ele2 = ele.nextSibling\n if (ele.AJAR_subject && !stored[ele.AJAR_subject.uri]) {\n messageTable.removeChild(ele)\n }\n ele = ele2\n }\n }\n\n const mostRecentVersion = function (message) {\n let msg = message\n // const listMsg = []\n while (msg) {\n // listMsg.push(msg)\n msg = store.statementsMatching(message, DCT('isReplacedBy'))\n }\n return msg\n }\n\n const _deleteMessage = async function (message) { // alain: must delete message and all linked with isReplacedBy\n // alain: check that me is not the author and ask for confirmation.\n const deletions = await store.connectedStatements(message, messageStore)\n updater.update(deletions, [], function (uri, ok, body) {\n if (!ok) {\n announce.error('Cant delete messages:' + body)\n } else {\n syncMessages(subject, messageTable)\n }\n })\n }\n\n const addMessage = function (message) {\n const bindings = {\n '?msg': message,\n '?creator': store.any(message, ns.foaf('maker')),\n '?date': store.any(message, DCT('created')),\n '?content': store.any(message, ns.sioc('content'))\n }\n renderMessage(bindings, true) // fresh from elsewhere\n }\n\n const renderMessage = function (bindings, fresh) {\n const creator = bindings['?creator']\n const message = bindings['?msg']\n const date = bindings['?date']\n const content = bindings['?content']\n\n const dateString = date.value\n const tr = dom.createElement('tr')\n tr.AJAR_date = dateString\n tr.AJAR_subject = message\n\n let done = false\n for (let ele = messageTable.firstChild; ; ele = ele.nextSibling) {\n if (!ele) {\n // empty\n break\n }\n if (\n (dateString > ele.AJAR_date && newestFirst) ||\n (dateString < ele.AJAR_date && !newestFirst)\n ) {\n messageTable.insertBefore(tr, ele)\n done = true\n break\n }\n }\n if (!done) {\n messageTable.appendChild(tr)\n }\n\n const td1 = dom.createElement('td')\n tr.appendChild(td1)\n creatorAndDate(td1, creator, UI.widgets.shortDate(dateString), message)\n\n const td2 = dom.createElement('td')\n tr.appendChild(td2)\n const pre = dom.createElement('p')\n pre.setAttribute(\n 'style',\n messageBodyStyle +\n (fresh ? 'background-color: #e8ffe8;' : 'background-color: #white;')\n )\n td2.appendChild(pre)\n pre.textContent = content.value\n\n const td3 = dom.createElement('td')\n tr.appendChild(td3)\n\n const delButton = dom.createElement('button')\n td3.appendChild(delButton)\n delButton.textContent = '-'\n\n tr.setAttribute('class', 'hoverControl') // See tabbedtab.css (sigh global CSS)\n delButton.setAttribute('class', 'hoverControlHide')\n delButton.setAttribute('style', 'color: red;')\n delButton.addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(delButton) // Ask -- are you sure?\n const cancelButton = dom.createElement('button')\n cancelButton.textContent = 'cancel'\n td3.appendChild(cancelButton).addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(sureButton)\n td3.removeChild(cancelButton)\n td3.appendChild(delButton)\n },\n false\n )\n const sureButton = dom.createElement('button')\n sureButton.textContent = 'Delete message'\n td3.appendChild(sureButton).addEventListener(\n 'click',\n function (_event) { // alain test for delete or edit depending on me = maker\n td3.removeChild(sureButton)\n td3.removeChild(cancelButton)\n // deleteMessage(message) // alain or sendMessage(message, 'delete' or 'edit') //alain\n if (me.value === store.any(message, ns.foaf('maker')).value) {\n const { sts } = appendMsg() // alain\n updater.update([], sts)\n }\n },\n false\n )\n },\n false\n )\n }\n\n // Messages with date, author etc\n\n messageTable = dom.createElement('table')\n messageTable.fresh = false\n div.appendChild(messageTable)\n messageTable.setAttribute('style', 'width: 100%;') // fill that div!\n\n const tr = newMessageForm()\n if (newestFirst) {\n messageTable.insertBefore(tr, messageTable.firstChild) // If newestFirst\n } else {\n messageTable.appendChild(tr) // not newestFirst\n }\n\n let query\n // Do this with a live query to pull in messages from web\n if (options.query) {\n query = options.query\n } else {\n query = new $rdf.Query('Messages')\n const v = {} // semicolon needed\n const vs = ['msg', 'date', 'creator', 'content']\n vs.forEach(function (x) {\n query.vars.push((v[x] = $rdf.variable(x)))\n })\n query.pat.add(subject, WF('message'), v.msg)\n query.pat.add(v.msg, ns.dct('created'), v.date)\n query.pat.add(v.msg, ns.foaf('maker'), v.creator)\n query.pat.add(v.msg, ns.sioc('content'), v.content)\n }\n\n function doneQuery () {\n messageTable.fresh = true // any new are fresh and so will be greenish\n }\n store.query(query, renderMessage, undefined, doneQuery)\n div.refresh = function () {\n syncMessages(subject, messageTable)\n }\n // syncMessages(subject, messageTable) // no the query will do this async\n return div\n}\n"],"file":"thread.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/create/create.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,kBAAkB,EAAkB,cAAc,EAAE,MAAM,eAAe,CAAA;AAClF,OAAO,EAAE,aAAa,EAAyB,MAAM,SAAS,CAAA;AAW9D,wBAAgB,UAAU,CACxB,aAAa,EAAE,aAAa,EAC5B,kBAAkB,EAAE,kBAAkB,EACtC,QAAQ,EAAE,KAAK,CAAC,cAAc,CAAC,GAC9B,IAAI,CAqNN"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/create/create.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAkB,cAAc,EAAE,MAAM,eAAe,CAAA;AAQlF,OAAO,EAAE,aAAa,EAAyB,MAAM,SAAS,CAAA;AAW9D,wBAAgB,UAAU,CACxB,aAAa,EAAE,aAAa,EAC5B,kBAAkB,EAAE,kBAAkB,EACtC,QAAQ,EAAE,KAAK,CAAC,cAAc,CAAC,GAC9B,IAAI,CAqNN"}
@@ -7,19 +7,19 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.newThingUI = newThingUI;
9
9
 
10
+ var _solidLogic = require("solid-logic");
11
+
10
12
  var debug = _interopRequireWildcard(require("../debug"));
11
13
 
12
14
  var _iconBase = require("../iconBase");
13
15
 
14
- var utils = _interopRequireWildcard(require("../utils"));
15
-
16
- var widgets = _interopRequireWildcard(require("../widgets"));
17
-
18
- var _logic = require("../logic");
16
+ var _login = require("../login/login");
19
17
 
20
18
  var ns = _interopRequireWildcard(require("../ns"));
21
19
 
22
- var _authn = require("../authn/authn");
20
+ var utils = _interopRequireWildcard(require("../utils"));
21
+
22
+ var widgets = _interopRequireWildcard(require("../widgets"));
23
23
 
24
24
  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); }
25
25
 
@@ -28,7 +28,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
28
28
  /* create.js UI to craete new objects in the solid-app-set world
29
29
  **
30
30
  */
31
- var kb = _logic.solidLogicSingleton.store;
31
+ var kb = _solidLogic.solidLogicSingleton.store;
32
32
  /* newThingUI -- return UI for user to select a new object, folder, etc
33
33
  **
34
34
  ** context must include: dom, div,
@@ -94,7 +94,7 @@ function newThingUI(createContext, dataBrowserContext, thePanes) {
94
94
  var selectUI; // , selectUIParent
95
95
 
96
96
  function callbackWS(ws, newBase) {
97
- (0, _authn.logInLoadProfile)(createContext).then(function (_context) {
97
+ (0, _login.ensureLoadedProfile)(createContext).then(function (_context) {
98
98
  var newPaneOptions = Object.assign({
99
99
  newBase: newBase,
100
100
  folder: options.folder || undefined,
@@ -158,7 +158,7 @@ function newThingUI(createContext, dataBrowserContext, thePanes) {
158
158
 
159
159
  if (!options.folder) {
160
160
  // No folder given? Ask user for full URI
161
- selectUI = (0, _authn.selectWorkspace)(dom, {
161
+ selectUI = (0, _login.selectWorkspace)(dom, {
162
162
  noun: options.noun,
163
163
  appPathSegment: options.appPathSegment
164
164
  }, callbackWS);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/create/create.ts"],"names":["kb","solidLogicSingleton","store","newThingUI","createContext","dataBrowserContext","thePanes","dom","div","me","uri","Error","iconStyle","star","appendChild","createElement","visible","setAttribute","icons","iconBase","complain","message","pre","createTextNode","styleTheIcons","style","i","iconArray","length","st","disabled","selectTool","icon","selectNewTool","_event","addEventListener","makeNewAppInstance","options","Promise","resolve","reject","selectUI","callbackWS","ws","newBase","then","_context","newPaneOptions","Object","assign","folder","undefined","workspace","opt","debug","log","pane","name","mintNew","newInstance","tail","slice","isPackage","includes","add","ns","ldp","sym","doc","refreshTarget","refresh","p","innerHTML","noun","err","pa","mintClass","utils","label","appPathSegment","toUpperCase","gotName","endsWith","encodeURIComponent","widgets","askName","foaf","mintingPanes","values","filter","mintingClassMap","reduce","classMap","forEach","push","e","event","iconEle","noIndexHTML"],"mappings":"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","sourcesContent":["/* create.js UI to craete new objects in the solid-app-set world\n **\n */\n\nimport * as debug from '../debug'\nimport { icons } from '../iconBase'\nimport * as utils from '../utils'\nimport * as widgets from '../widgets'\nimport { solidLogicSingleton } from '../logic'\nimport * as ns from '../ns'\nimport { logInLoadProfile, selectWorkspace } from '../authn/authn'\nimport { DataBrowserContext, NewPaneOptions, PaneDefinition } from 'pane-registry'\nimport { CreateContext, NewAppInstanceOptions } from './types'\n\nconst kb = solidLogicSingleton.store\n\n/* newThingUI -- return UI for user to select a new object, folder, etc\n **\n ** context must include: dom, div,\n ** optional: folder: NamedNode -- the folder where the thing is bring put\n ** (suppresses asking for a full URI or workspace)\n **\n */\nexport function newThingUI (\n createContext: CreateContext,\n dataBrowserContext: DataBrowserContext,\n thePanes: Array<PaneDefinition>\n): void {\n const dom = createContext.dom\n const div = createContext.div\n if (createContext.me && !createContext.me.uri) {\n throw new Error('newThingUI: Invalid userid: ' + createContext.me)\n }\n\n const iconStyle = 'padding: 0.7em; width: 2em; height: 2em;' // was: 'padding: 1em; width: 3em; height: 3em;'\n const star = div.appendChild(dom.createElement('img'))\n let visible = false // the inividual tools tools\n // noun_272948.svg = black star\n // noun_34653_green.svg = green plus\n star.setAttribute('src', icons.iconBase + 'noun_34653_green.svg')\n star.setAttribute('style', iconStyle)\n star.setAttribute('title', 'Add another tool')\n\n const complain = function complain (message) {\n const pre = div.appendChild(dom.createElement('pre'))\n pre.setAttribute('style', 'background-color: pink')\n pre.appendChild(dom.createTextNode(message))\n }\n\n function styleTheIcons (style) {\n for (let i = 0; i < iconArray.length; i++) {\n let st = iconStyle + style\n if (iconArray[i].disabled) {\n // @@ unused\n st += 'opacity: 0.3;'\n }\n iconArray[i].setAttribute('style', st) // eg 'background-color: #ccc;'\n }\n }\n\n function selectTool (icon) {\n styleTheIcons('display: none;') // 'background-color: #ccc;'\n icon.setAttribute('style', iconStyle + 'background-color: yellow;')\n }\n\n function selectNewTool (_event?) {\n visible = !visible\n star.setAttribute(\n 'style',\n iconStyle + (visible ? 'background-color: yellow;' : '')\n )\n styleTheIcons(visible ? '' : 'display: none;')\n }\n\n star.addEventListener('click', selectNewTool)\n\n function makeNewAppInstance (options: NewAppInstanceOptions) {\n return new Promise(function (resolve, reject) {\n let selectUI // , selectUIParent\n function callbackWS (ws, newBase) {\n logInLoadProfile(createContext).then(\n _context => {\n const newPaneOptions: NewPaneOptions = Object.assign({\n newBase: newBase,\n folder: options.folder || undefined,\n workspace: ws\n }, options)\n for (const opt in options) {\n // get div, dom, me, folder, pane, refreshTable\n newPaneOptions[opt] = options[opt]\n }\n debug.log(`newThingUI: Minting new ${newPaneOptions.pane.name} at ${newPaneOptions.newBase}`)\n options.pane\n .mintNew!(dataBrowserContext, newPaneOptions)\n .then(function (newPaneOptions) {\n if (!newPaneOptions || !newPaneOptions.newInstance) {\n throw new Error('Cannot mint new - missing newInstance')\n }\n if (newPaneOptions.folder) {\n const tail = newPaneOptions.newInstance.uri.slice(\n newPaneOptions.folder.uri.length\n )\n const isPackage = tail.includes('/')\n debug.log(' new thing is packge? ' + isPackage)\n if (isPackage) {\n kb.add(\n newPaneOptions.folder,\n ns.ldp('contains'),\n kb.sym(newPaneOptions.newBase),\n newPaneOptions.folder.doc()\n )\n } else {\n // single file\n kb.add(\n newPaneOptions.folder,\n ns.ldp('contains'),\n newPaneOptions.newInstance,\n newPaneOptions.folder.doc()\n ) // Ping the patch system?\n }\n // @ts-ignore @@ TODO check whether refresh can exist here. Either fix type or remove unreachable code\n if (newPaneOptions.refreshTarget && newPaneOptions.refreshTarget.refresh) {\n // @@ TODO Remove the need to cast as any\n ;(newPaneOptions.refreshTarget as any).refresh() // Refresh the containing display\n }\n // selectUI.parentNode.removeChild(selectUI) It removes itself\n } else {\n const p = options.div.appendChild(dom.createElement('p'))\n p.setAttribute('style', 'font-size: 120%;')\n // Make link to new thing\n p.innerHTML =\n \"Your <a target='_blank' href='\" +\n newPaneOptions.newInstance.uri +\n \"'><b>new \" +\n options.noun +\n '</b></a> is ready to be set up. ' +\n \"<br/><br/><a target='_blank' href='\" +\n newPaneOptions.newInstance.uri +\n \"'>Go to your new \" +\n options.noun +\n '.</a>'\n // selectUI.parentNode.removeChild(selectUI) // Clean up\n // selectUIParent.removeChild(selectUI) // Clean up\n }\n selectNewTool() // toggle star to plain and menu vanish again\n })\n .catch(function (err) {\n complain(err)\n reject(err)\n })\n },\n err => {\n // login fails\n complain('Error logging on: ' + err)\n }\n )\n } // callbackWS\n\n const pa = options.pane\n // options.appPathSegment = pa.name // was 'edu.mit.solid.pane.'\n options.noun = pa.mintClass ? utils.label(pa.mintClass) : pa.name\n options.appPathSegment = options.noun.slice(0, 1).toUpperCase() + options.noun.slice(1)\n\n if (!options.folder) {\n // No folder given? Ask user for full URI\n selectUI = selectWorkspace(dom, {\n noun: options.noun,\n appPathSegment: options.appPathSegment\n }, callbackWS)\n options.div.appendChild(selectUI)\n // selectUIParent = options.div\n } else {\n const gotName = function (name) {\n if (!name) {\n // selectUIParent.removeChild(selectUI) itremves itself if cancelled\n selectNewTool() // toggle star to plain and menu vanish again\n } else {\n let uri = options.folder!.uri\n if (!uri.endsWith('/')) {\n uri = uri + '/'\n }\n uri = uri + encodeURIComponent(name) + '/'\n callbackWS(null, uri)\n }\n }\n widgets\n .askName(\n dom,\n kb,\n options.div,\n ns.foaf('name'),\n null,\n options.noun\n )\n .then(gotName)\n // selectUI = getNameForm(dom, kb, options.noun, gotName)\n // options.div.appendChild(selectUI)\n // selectUIParent = options.div\n }\n })\n } // makeNewAppInstance\n\n const iconArray: Array<any> = []\n const mintingPanes = Object.values(thePanes).filter(pane => pane.mintNew)\n const mintingClassMap = mintingPanes.reduce((classMap, pane) => {\n if (pane.mintClass) {\n classMap[pane.mintClass.uri] = (classMap[pane.mintClass.uri] || 0) + 1\n }\n return classMap\n }, {})\n mintingPanes.forEach(pane => {\n // @@ TODO Remove the need to cast to any\n const icon: any = createContext.div.appendChild(dom.createElement('img'))\n icon.setAttribute('src', pane.icon)\n const noun = pane.mintClass\n ? mintingClassMap[pane.mintClass.uri] > 1\n ? `${utils.label(pane.mintClass)} (using ${pane.name} pane)`\n : utils.label(pane.mintClass)\n : pane.name + ' @@'\n icon.setAttribute('title', 'Make new ' + noun)\n icon.setAttribute('style', iconStyle + 'display: none;')\n iconArray.push(icon)\n if (!icon.disabled) {\n icon.addEventListener('click', function (e) {\n selectTool(icon)\n makeNewAppInstance({\n event: e,\n folder: createContext.folder || null,\n iconEle: icon,\n pane,\n noun,\n noIndexHTML: true, // do NOT @@ for now write a HTML file\n div: createContext.div,\n me: createContext.me,\n dom: createContext.dom,\n refreshTarget: createContext.refreshTarget\n })\n })\n }\n })\n}\n\n// Form to get the name of a new thing before we create it\n//\n// Used in contacts for new groups, individuals.\n//\n/*\nfunction getNameForm (dom, kb, classLabel, gotNameCallback) {\n const form = dom.createElement('div') // form is broken as HTML behaviour can resurface on js error\n form.innerHTML = '<p>Name of new ' + classLabel + ':</p>'\n const namefield = dom.createElement('input')\n namefield.setAttribute('type', 'text')\n namefield.setAttribute('size', '30')\n namefield.setAttribute('style', style.textInputStyle)\n namefield.setAttribute('maxLength', '2048') // No arbitrary limits\n namefield.select() // focus next user input\n\n const gotName = function () {\n namefield.setAttribute('class', 'pendingedit')\n namefield.disabled = true\n continueButton.disabled = true\n cancel.disabled = true\n gotNameCallback(true, namefield.value)\n }\n\n namefield.addEventListener('keyup', function (e) {\n if (e.keyCode === 13) {\n gotName()\n }\n }, false)\n form.appendChild(namefield)\n\n form.appendChild(dom.createElement('br'))\n\n const cancel = form.appendChild(widgets.cancelButton(dom))\n cancel.addEventListener('click', function (e) {\n form.parentNode.removeChild(form)\n gotNameCallback(false)\n }, false)\n\n const continueButton = form.appendChild(widgets.continueButton(dom))\n continueButton.addEventListener('click', function (e) {\n gotName()\n }, false)\n\n return form\n}\n*/\n"],"file":"create.js"}
1
+ {"version":3,"sources":["../../src/create/create.ts"],"names":["kb","solidLogicSingleton","store","newThingUI","createContext","dataBrowserContext","thePanes","dom","div","me","uri","Error","iconStyle","star","appendChild","createElement","visible","setAttribute","icons","iconBase","complain","message","pre","createTextNode","styleTheIcons","style","i","iconArray","length","st","disabled","selectTool","icon","selectNewTool","_event","addEventListener","makeNewAppInstance","options","Promise","resolve","reject","selectUI","callbackWS","ws","newBase","then","_context","newPaneOptions","Object","assign","folder","undefined","workspace","opt","debug","log","pane","name","mintNew","newInstance","tail","slice","isPackage","includes","add","ns","ldp","sym","doc","refreshTarget","refresh","p","innerHTML","noun","err","pa","mintClass","utils","label","appPathSegment","toUpperCase","gotName","endsWith","encodeURIComponent","widgets","askName","foaf","mintingPanes","values","filter","mintingClassMap","reduce","classMap","forEach","push","e","event","iconEle","noIndexHTML"],"mappings":"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","sourcesContent":["/* create.js UI to craete new objects in the solid-app-set world\n **\n */\n\nimport { DataBrowserContext, NewPaneOptions, PaneDefinition } from 'pane-registry'\nimport { solidLogicSingleton } from 'solid-logic'\nimport * as debug from '../debug'\nimport { icons } from '../iconBase'\nimport { ensureLoadedProfile, selectWorkspace } from '../login/login'\nimport * as ns from '../ns'\nimport * as utils from '../utils'\nimport * as widgets from '../widgets'\nimport { CreateContext, NewAppInstanceOptions } from './types'\n\nconst kb = solidLogicSingleton.store\n\n/* newThingUI -- return UI for user to select a new object, folder, etc\n **\n ** context must include: dom, div,\n ** optional: folder: NamedNode -- the folder where the thing is bring put\n ** (suppresses asking for a full URI or workspace)\n **\n */\nexport function newThingUI (\n createContext: CreateContext,\n dataBrowserContext: DataBrowserContext,\n thePanes: Array<PaneDefinition>\n): void {\n const dom = createContext.dom\n const div = createContext.div\n if (createContext.me && !createContext.me.uri) {\n throw new Error('newThingUI: Invalid userid: ' + createContext.me)\n }\n\n const iconStyle = 'padding: 0.7em; width: 2em; height: 2em;' // was: 'padding: 1em; width: 3em; height: 3em;'\n const star = div.appendChild(dom.createElement('img'))\n let visible = false // the inividual tools tools\n // noun_272948.svg = black star\n // noun_34653_green.svg = green plus\n star.setAttribute('src', icons.iconBase + 'noun_34653_green.svg')\n star.setAttribute('style', iconStyle)\n star.setAttribute('title', 'Add another tool')\n\n const complain = function complain (message) {\n const pre = div.appendChild(dom.createElement('pre'))\n pre.setAttribute('style', 'background-color: pink')\n pre.appendChild(dom.createTextNode(message))\n }\n\n function styleTheIcons (style) {\n for (let i = 0; i < iconArray.length; i++) {\n let st = iconStyle + style\n if (iconArray[i].disabled) {\n // @@ unused\n st += 'opacity: 0.3;'\n }\n iconArray[i].setAttribute('style', st) // eg 'background-color: #ccc;'\n }\n }\n\n function selectTool (icon) {\n styleTheIcons('display: none;') // 'background-color: #ccc;'\n icon.setAttribute('style', iconStyle + 'background-color: yellow;')\n }\n\n function selectNewTool (_event?) {\n visible = !visible\n star.setAttribute(\n 'style',\n iconStyle + (visible ? 'background-color: yellow;' : '')\n )\n styleTheIcons(visible ? '' : 'display: none;')\n }\n\n star.addEventListener('click', selectNewTool)\n\n function makeNewAppInstance (options: NewAppInstanceOptions) {\n return new Promise(function (resolve, reject) {\n let selectUI // , selectUIParent\n function callbackWS (ws, newBase) {\n ensureLoadedProfile(createContext).then(\n _context => {\n const newPaneOptions: NewPaneOptions = Object.assign({\n newBase: newBase,\n folder: options.folder || undefined,\n workspace: ws\n }, options)\n for (const opt in options) {\n // get div, dom, me, folder, pane, refreshTable\n newPaneOptions[opt] = options[opt]\n }\n debug.log(`newThingUI: Minting new ${newPaneOptions.pane.name} at ${newPaneOptions.newBase}`)\n options.pane\n .mintNew!(dataBrowserContext, newPaneOptions)\n .then(function (newPaneOptions) {\n if (!newPaneOptions || !newPaneOptions.newInstance) {\n throw new Error('Cannot mint new - missing newInstance')\n }\n if (newPaneOptions.folder) {\n const tail = newPaneOptions.newInstance.uri.slice(\n newPaneOptions.folder.uri.length\n )\n const isPackage = tail.includes('/')\n debug.log(' new thing is packge? ' + isPackage)\n if (isPackage) {\n kb.add(\n newPaneOptions.folder,\n ns.ldp('contains'),\n kb.sym(newPaneOptions.newBase),\n newPaneOptions.folder.doc()\n )\n } else {\n // single file\n kb.add(\n newPaneOptions.folder,\n ns.ldp('contains'),\n newPaneOptions.newInstance,\n newPaneOptions.folder.doc()\n ) // Ping the patch system?\n }\n // @ts-ignore @@ TODO check whether refresh can exist here. Either fix type or remove unreachable code\n if (newPaneOptions.refreshTarget && newPaneOptions.refreshTarget.refresh) {\n // @@ TODO Remove the need to cast as any\n ;(newPaneOptions.refreshTarget as any).refresh() // Refresh the containing display\n }\n // selectUI.parentNode.removeChild(selectUI) It removes itself\n } else {\n const p = options.div.appendChild(dom.createElement('p'))\n p.setAttribute('style', 'font-size: 120%;')\n // Make link to new thing\n p.innerHTML =\n \"Your <a target='_blank' href='\" +\n newPaneOptions.newInstance.uri +\n \"'><b>new \" +\n options.noun +\n '</b></a> is ready to be set up. ' +\n \"<br/><br/><a target='_blank' href='\" +\n newPaneOptions.newInstance.uri +\n \"'>Go to your new \" +\n options.noun +\n '.</a>'\n // selectUI.parentNode.removeChild(selectUI) // Clean up\n // selectUIParent.removeChild(selectUI) // Clean up\n }\n selectNewTool() // toggle star to plain and menu vanish again\n })\n .catch(function (err) {\n complain(err)\n reject(err)\n })\n },\n err => {\n // login fails\n complain('Error logging on: ' + err)\n }\n )\n } // callbackWS\n\n const pa = options.pane\n // options.appPathSegment = pa.name // was 'edu.mit.solid.pane.'\n options.noun = pa.mintClass ? utils.label(pa.mintClass) : pa.name\n options.appPathSegment = options.noun.slice(0, 1).toUpperCase() + options.noun.slice(1)\n\n if (!options.folder) {\n // No folder given? Ask user for full URI\n selectUI = selectWorkspace(dom, {\n noun: options.noun,\n appPathSegment: options.appPathSegment\n }, callbackWS)\n options.div.appendChild(selectUI)\n // selectUIParent = options.div\n } else {\n const gotName = function (name) {\n if (!name) {\n // selectUIParent.removeChild(selectUI) itremves itself if cancelled\n selectNewTool() // toggle star to plain and menu vanish again\n } else {\n let uri = options.folder!.uri\n if (!uri.endsWith('/')) {\n uri = uri + '/'\n }\n uri = uri + encodeURIComponent(name) + '/'\n callbackWS(null, uri)\n }\n }\n widgets\n .askName(\n dom,\n kb,\n options.div,\n ns.foaf('name'),\n null,\n options.noun\n )\n .then(gotName)\n // selectUI = getNameForm(dom, kb, options.noun, gotName)\n // options.div.appendChild(selectUI)\n // selectUIParent = options.div\n }\n })\n } // makeNewAppInstance\n\n const iconArray: Array<any> = []\n const mintingPanes = Object.values(thePanes).filter(pane => pane.mintNew)\n const mintingClassMap = mintingPanes.reduce((classMap, pane) => {\n if (pane.mintClass) {\n classMap[pane.mintClass.uri] = (classMap[pane.mintClass.uri] || 0) + 1\n }\n return classMap\n }, {})\n mintingPanes.forEach(pane => {\n // @@ TODO Remove the need to cast to any\n const icon: any = createContext.div.appendChild(dom.createElement('img'))\n icon.setAttribute('src', pane.icon)\n const noun = pane.mintClass\n ? mintingClassMap[pane.mintClass.uri] > 1\n ? `${utils.label(pane.mintClass)} (using ${pane.name} pane)`\n : utils.label(pane.mintClass)\n : pane.name + ' @@'\n icon.setAttribute('title', 'Make new ' + noun)\n icon.setAttribute('style', iconStyle + 'display: none;')\n iconArray.push(icon)\n if (!icon.disabled) {\n icon.addEventListener('click', function (e) {\n selectTool(icon)\n makeNewAppInstance({\n event: e,\n folder: createContext.folder || null,\n iconEle: icon,\n pane,\n noun,\n noIndexHTML: true, // do NOT @@ for now write a HTML file\n div: createContext.div,\n me: createContext.me,\n dom: createContext.dom,\n refreshTarget: createContext.refreshTarget\n })\n })\n }\n })\n}\n\n// Form to get the name of a new thing before we create it\n//\n// Used in contacts for new groups, individuals.\n//\n/*\nfunction getNameForm (dom, kb, classLabel, gotNameCallback) {\n const form = dom.createElement('div') // form is broken as HTML behaviour can resurface on js error\n form.innerHTML = '<p>Name of new ' + classLabel + ':</p>'\n const namefield = dom.createElement('input')\n namefield.setAttribute('type', 'text')\n namefield.setAttribute('size', '30')\n namefield.setAttribute('style', style.textInputStyle)\n namefield.setAttribute('maxLength', '2048') // No arbitrary limits\n namefield.select() // focus next user input\n\n const gotName = function () {\n namefield.setAttribute('class', 'pendingedit')\n namefield.disabled = true\n continueButton.disabled = true\n cancel.disabled = true\n gotNameCallback(true, namefield.value)\n }\n\n namefield.addEventListener('keyup', function (e) {\n if (e.keyCode === 13) {\n gotName()\n }\n }, false)\n form.appendChild(namefield)\n\n form.appendChild(dom.createElement('br'))\n\n const cancel = form.appendChild(widgets.cancelButton(dom))\n cancel.addEventListener('click', function (e) {\n form.parentNode.removeChild(form)\n gotNameCallback(false)\n }, false)\n\n const continueButton = form.appendChild(widgets.continueButton(dom))\n continueButton.addEventListener('click', function (e) {\n gotName()\n }, false)\n\n return form\n}\n*/\n"],"file":"create.js"}
package/lib/folders.js CHANGED
@@ -8,13 +8,11 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.deleteFolder = deleteFolder;
9
9
  exports.deleteRecursive = deleteRecursive;
10
10
 
11
- var _index = require("./authn/index");
12
-
13
11
  var debug = _interopRequireWildcard(require("./debug"));
14
12
 
15
13
  var _iconBase = require("./iconBase");
16
14
 
17
- var _logic = require("./logic");
15
+ var _solidLogic = require("solid-logic");
18
16
 
19
17
  var ns = _interopRequireWildcard(require("./ns"));
20
18
 
@@ -35,11 +33,9 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
35
33
  /* global confirm */
36
34
  // pull in first avoid cross-refs
37
35
  var UI = {
38
- authn: _index.authn,
39
36
  icons: _iconBase.icons,
40
37
  ns: ns,
41
38
  rdf: rdf,
42
- store: _logic.store,
43
39
  style: style,
44
40
  widgets: widgets
45
41
  };
@@ -113,7 +109,7 @@ function forAllFiles(folder, kb, action) {
113
109
 
114
110
 
115
111
  function deleteFolder(folder, store, dom) {
116
- store = store || UI.store;
112
+ store = store || _solidLogic.solidLogicSingleton.store;
117
113
 
118
114
  if (typeof docuent !== 'undefined') {
119
115
  dom = dom || document;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/folders.js"],"names":["UI","authn","icons","ns","rdf","store","style","widgets","deleteRecursive","kb","folder","Promise","resolve","_reject","fetcher","load","then","promises","each","ldp","map","file","holds","debug","log","confirm","Error","webOperation","uri","push","all","_res","forAllFiles","action","deleteFolder","dom","docuent","document","div","createElement","table","appendChild","mainTR","p","textContent","buttonsTR","buttonsTD1","buttonsTD3","cancel","cancelButton","addEventListener","_event","parentNode","removeChild","doit","button","iconBase","deleteThem","count","msg"],"mappings":"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","sourcesContent":["/** UI To Delete Folder and content\n *\n */\n/* global confirm */\n\nimport { authn } from './authn/index'\nimport * as debug from './debug'\nimport { icons } from './iconBase'\nimport { store } from './logic'\nimport * as ns from './ns'\nimport * as rdf from 'rdflib' // pull in first avoid cross-refs\nimport * as style from './style'\nimport * as widgets from './widgets'\n\nconst UI = { authn, icons, ns, rdf, store, style, widgets }\n\nexport function deleteRecursive (kb, folder) {\n // eslint-disable-next-line promise/param-names\n return new Promise(function (resolve, _reject) {\n kb.fetcher.load(folder).then(function () {\n const promises = kb.each(folder, ns.ldp('contains')).map(file => {\n if (kb.holds(file, ns.rdf('type'), ns.ldp('BasicContainer'))) {\n return deleteRecursive(kb, file)\n } else {\n debug.log('deleteRecirsive file: ' + file)\n if (!confirm(' Really DELETE File ' + file)) {\n throw new Error('User aborted delete file')\n }\n return kb.fetcher.webOperation('DELETE', file.uri)\n }\n })\n debug.log('deleteRecirsive folder: ' + folder)\n if (!confirm(' Really DELETE folder ' + folder)) {\n throw new Error('User aborted delete file')\n }\n promises.push(kb.fetcher.webOperation('DELETE', folder.uri))\n Promise.all(promises).then(_res => {\n resolve()\n })\n })\n })\n}\n\n/** Iterate over files depth first\n *\n * @param folder - The folder whose contents we iterate over\n * @param store - The quadstore\n * @param action - returns a promise. All the promises must be resolved\n */\nfunction forAllFiles (folder, kb, action) {\n // eslint-disable-next-line promise/param-names\n return new Promise(function (resolve, _reject) {\n kb.fetcher.load(folder).then(function () {\n const promises = kb.each(folder, ns.ldp('contains')).map(file => {\n if (kb.holds(file, ns.rdf('type'), ns.ldp('BasicContainer'))) {\n return forAllFiles(file, kb, action)\n } else {\n return action(file)\n }\n })\n promises.push(action(folder))\n Promise.all(promises).then(_res => {\n resolve()\n })\n })\n })\n}\n\n/** Delete Folder and contents\n *\n * @param {NamedNode} folder - The LDP container to be deleted\n * @param {DOMElement} containingElement - Where to put the user interface\n * @param {IndexedForumula} store - Quadstore (optional)\n * @param {Document} dom - The browser 'document' gloabl or equivalent (or iuse global)\n * @returns {DOMElement} - The control which has eben inserted in the\n */\n/* global document */\nexport function deleteFolder (folder, store, dom) {\n store = store || UI.store\n if (typeof docuent !== 'undefined') {\n dom = dom || document\n }\n const div = dom.createElement('div')\n const table = div.appendChild(dom.createElement('table'))\n const mainTR = table.appendChild(dom.createElement('tr'))\n mainTR.appendChild(dom.createElement('td')) // mainTD\n\n const p = mainTR.appendChild(dom.createElement('p'))\n p.textContent = `Are you sure you want to delete the folder ${folder}? This cannot be undone.`\n const buttonsTR = table.appendChild(dom.createElement('tr'))\n const buttonsTD1 = buttonsTR.appendChild(dom.createElement('td'))\n buttonsTR.appendChild(dom.createElement('td')) // buttonsTD2\n const buttonsTD3 = buttonsTR.appendChild(dom.createElement('td'))\n\n const cancel = buttonsTD1.appendChild(UI.widgets.cancelButton(dom))\n cancel.addEventListener(\n 'click',\n function (_event) {\n div.parentNode.removeChild(div)\n },\n false\n )\n\n const doit = buttonsTD3.appendChild(\n UI.widgets.button(dom, UI.icons.iconBase + 'noun_925021.svg', 'Yes, delete')\n )\n doit.addEventListener(\n 'click',\n function (_event) {\n deleteThem(folder).then(() => {\n debug.log('All deleted.')\n })\n },\n false\n )\n\n function deleteThem (folder) {\n return forAllFiles(folder, file =>\n store.fetcher.webOperation('DELETE', file.uri)\n )\n }\n let count = 0\n forAllFiles(folder, store, () => {\n count += 1\n }) // Count files\n .then(() => {\n const msg = ' Files to delete: ' + count\n debug.log(msg)\n p.textContent += msg\n })\n\n return div\n}\n"],"file":"folders.js"}
1
+ {"version":3,"sources":["../src/folders.js"],"names":["UI","icons","ns","rdf","style","widgets","deleteRecursive","kb","folder","Promise","resolve","_reject","fetcher","load","then","promises","each","ldp","map","file","holds","debug","log","confirm","Error","webOperation","uri","push","all","_res","forAllFiles","action","deleteFolder","store","dom","solidLogicSingleton","docuent","document","div","createElement","table","appendChild","mainTR","p","textContent","buttonsTR","buttonsTD1","buttonsTD3","cancel","cancelButton","addEventListener","_event","parentNode","removeChild","doit","button","iconBase","deleteThem","count","msg"],"mappings":"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","sourcesContent":["/** UI To Delete Folder and content\n *\n */\n/* global confirm */\n\nimport * as debug from './debug'\nimport { icons } from './iconBase'\nimport { solidLogicSingleton } from 'solid-logic'\nimport * as ns from './ns'\nimport * as rdf from 'rdflib' // pull in first avoid cross-refs\nimport * as style from './style'\nimport * as widgets from './widgets'\n\nconst UI = { icons, ns, rdf, style, widgets }\n\nexport function deleteRecursive (kb, folder) {\n // eslint-disable-next-line promise/param-names\n return new Promise(function (resolve, _reject) {\n kb.fetcher.load(folder).then(function () {\n const promises = kb.each(folder, ns.ldp('contains')).map(file => {\n if (kb.holds(file, ns.rdf('type'), ns.ldp('BasicContainer'))) {\n return deleteRecursive(kb, file)\n } else {\n debug.log('deleteRecirsive file: ' + file)\n if (!confirm(' Really DELETE File ' + file)) {\n throw new Error('User aborted delete file')\n }\n return kb.fetcher.webOperation('DELETE', file.uri)\n }\n })\n debug.log('deleteRecirsive folder: ' + folder)\n if (!confirm(' Really DELETE folder ' + folder)) {\n throw new Error('User aborted delete file')\n }\n promises.push(kb.fetcher.webOperation('DELETE', folder.uri))\n Promise.all(promises).then(_res => {\n resolve()\n })\n })\n })\n}\n\n/** Iterate over files depth first\n *\n * @param folder - The folder whose contents we iterate over\n * @param store - The quadstore\n * @param action - returns a promise. All the promises must be resolved\n */\nfunction forAllFiles (folder, kb, action) {\n // eslint-disable-next-line promise/param-names\n return new Promise(function (resolve, _reject) {\n kb.fetcher.load(folder).then(function () {\n const promises = kb.each(folder, ns.ldp('contains')).map(file => {\n if (kb.holds(file, ns.rdf('type'), ns.ldp('BasicContainer'))) {\n return forAllFiles(file, kb, action)\n } else {\n return action(file)\n }\n })\n promises.push(action(folder))\n Promise.all(promises).then(_res => {\n resolve()\n })\n })\n })\n}\n\n/** Delete Folder and contents\n *\n * @param {NamedNode} folder - The LDP container to be deleted\n * @param {DOMElement} containingElement - Where to put the user interface\n * @param {IndexedForumula} store - Quadstore (optional)\n * @param {Document} dom - The browser 'document' gloabl or equivalent (or iuse global)\n * @returns {DOMElement} - The control which has eben inserted in the\n */\n/* global document */\nexport function deleteFolder (folder, store, dom) {\n store = store || solidLogicSingleton.store\n if (typeof docuent !== 'undefined') {\n dom = dom || document\n }\n const div = dom.createElement('div')\n const table = div.appendChild(dom.createElement('table'))\n const mainTR = table.appendChild(dom.createElement('tr'))\n mainTR.appendChild(dom.createElement('td')) // mainTD\n\n const p = mainTR.appendChild(dom.createElement('p'))\n p.textContent = `Are you sure you want to delete the folder ${folder}? This cannot be undone.`\n const buttonsTR = table.appendChild(dom.createElement('tr'))\n const buttonsTD1 = buttonsTR.appendChild(dom.createElement('td'))\n buttonsTR.appendChild(dom.createElement('td')) // buttonsTD2\n const buttonsTD3 = buttonsTR.appendChild(dom.createElement('td'))\n\n const cancel = buttonsTD1.appendChild(UI.widgets.cancelButton(dom))\n cancel.addEventListener(\n 'click',\n function (_event) {\n div.parentNode.removeChild(div)\n },\n false\n )\n\n const doit = buttonsTD3.appendChild(\n UI.widgets.button(dom, UI.icons.iconBase + 'noun_925021.svg', 'Yes, delete')\n )\n doit.addEventListener(\n 'click',\n function (_event) {\n deleteThem(folder).then(() => {\n debug.log('All deleted.')\n })\n },\n false\n )\n\n function deleteThem (folder) {\n return forAllFiles(folder, file =>\n store.fetcher.webOperation('DELETE', file.uri)\n )\n }\n let count = 0\n forAllFiles(folder, store, () => {\n count += 1\n }) // Count files\n .then(() => {\n const msg = ' Files to delete: ' + count\n debug.log(msg)\n p.textContent += msg\n })\n\n return div\n}\n"],"file":"folders.js"}
@@ -13,7 +13,7 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
13
13
 
14
14
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
15
 
16
- var _authn = require("../authn/authn");
16
+ var _solidLogic = require("solid-logic");
17
17
 
18
18
  var _headerFooterHelpers = require("../utils/headerFooterHelpers");
19
19
 
@@ -65,9 +65,9 @@ function _initFooter() {
65
65
  podOwner = _context2.sent;
66
66
  rebuildFooter(footer, store, pod, podOwner, options)();
67
67
 
68
- _authn.authSession.onLogin(rebuildFooter(footer, store, pod, podOwner, options));
68
+ _solidLogic.authSession.onLogin(rebuildFooter(footer, store, pod, podOwner, options));
69
69
 
70
- _authn.authSession.onLogout(rebuildFooter(footer, store, pod, podOwner, options));
70
+ _solidLogic.authSession.onLogout(rebuildFooter(footer, store, pod, podOwner, options));
71
71
 
72
72
  case 10:
73
73
  case "end":
@@ -86,7 +86,7 @@ function rebuildFooter(footer, store, pod, podOwner, options) {
86
86
  while (1) {
87
87
  switch (_context.prev = _context.next) {
88
88
  case 0:
89
- user = (0, _authn.currentUser)();
89
+ user = _solidLogic.authn.currentUser();
90
90
  footer.innerHTML = '';
91
91
  _context.t0 = footer;
92
92
  _context.next = 5;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/footer/index.ts"],"names":["DEFAULT_SOLID_PROJECT_URL","DEFAULT_SOLID_PROJECT_NAME","initFooter","store","options","footer","document","getElementById","pod","podOwner","rebuildFooter","authSession","onLogin","onLogout","user","innerHTML","createControllerInfoBlock","appendChild","profileLinkContainer","createElement","equals","podLinkPre","innerText","podLink","href","uri","profileLinkPre","profileLink","solidProjectLinkPre","solidProjectLink","solidProjectUrl","solidProjectName","solidProjectLinkPost"],"mappings":"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","sourcesContent":["/*\n This file was copied from mashlib/src/global/footer.ts file. It is modified to\n work in solid-ui by adjusting where imported functions are found.\n */\nimport { IndexedFormula, NamedNode } from 'rdflib'\nimport { authSession, currentUser } from '../authn/authn'\nimport { addStyleClassToElement, getName, getPod, getPodOwner } from '../utils/headerFooterHelpers'\n\nconst DEFAULT_SOLID_PROJECT_URL = 'https://solidproject.org'\nconst DEFAULT_SOLID_PROJECT_NAME = 'solidproject.org'\n\n/*\n FooterOptions allow for customizing the link and name of the link part of the footer.\n */\nexport type FooterOptions = {\n solidProjectUrl?: string,\n solidProjectName?: string\n }\n\n/**\n * Initialize footer component, the footer object returned depends on whether the user is authenticated.\n * @param store the data store\n * @returns the footer\n */\nexport async function initFooter (store: IndexedFormula, options?: FooterOptions) {\n const footer = document.getElementById('PageFooter')\n if (!footer) {\n return\n }\n const pod = getPod()\n const podOwner = await getPodOwner(pod, store)\n rebuildFooter(footer, store, pod, podOwner, options)()\n authSession.onLogin(rebuildFooter(footer, store, pod, podOwner, options))\n authSession.onLogout(rebuildFooter(footer, store, pod, podOwner, options))\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport function rebuildFooter (footer: HTMLElement, store: IndexedFormula, pod: NamedNode | null, podOwner: NamedNode | null, options?: FooterOptions) {\n return async () => {\n const user = currentUser()\n footer.innerHTML = ''\n footer.appendChild(await createControllerInfoBlock(store, user, pod, podOwner, options))\n }\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport function createControllerInfoBlock (store: IndexedFormula, user: NamedNode | null, pod: NamedNode | null, podOwner: NamedNode | null, options?: FooterOptions): HTMLElement {\n const profileLinkContainer = document.createElement('div')\n if (!pod || !podOwner || (user && user.equals(podOwner))) {\n return profileLinkContainer\n }\n\n addStyleClassToElement(profileLinkContainer, ['footer-pod-info', 'footer'], 'footer')\n\n const podLinkPre = document.createElement('span')\n podLinkPre.innerText = \"You're visiting \"\n\n const podLink = document.createElement('a')\n podLink.href = pod.uri\n podLink.innerText = 'the Pod'\n\n const profileLinkPre = document.createElement('span')\n profileLinkPre.innerText = ' controlled by '\n\n const profileLink = document.createElement('a')\n profileLink.href = podOwner.uri\n profileLink.innerText = getName(store, podOwner)\n\n const solidProjectLinkPre = document.createElement('span')\n solidProjectLinkPre.innerText = '. For more info, check out '\n\n const solidProjectLink = document.createElement('a')\n solidProjectLink.href = options && options.solidProjectUrl ? options.solidProjectUrl : DEFAULT_SOLID_PROJECT_URL\n solidProjectLink.innerText = options && options.solidProjectName ? options.solidProjectName : DEFAULT_SOLID_PROJECT_NAME\n\n const solidProjectLinkPost = document.createElement('span')\n solidProjectLinkPost.innerText = '.'\n\n profileLinkContainer.appendChild(podLinkPre)\n profileLinkContainer.appendChild(podLink)\n profileLinkContainer.appendChild(profileLinkPre)\n profileLinkContainer.appendChild(profileLink)\n profileLinkContainer.appendChild(solidProjectLinkPre)\n profileLinkContainer.appendChild(solidProjectLink)\n profileLinkContainer.appendChild(solidProjectLinkPost)\n\n return profileLinkContainer\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/footer/index.ts"],"names":["DEFAULT_SOLID_PROJECT_URL","DEFAULT_SOLID_PROJECT_NAME","initFooter","store","options","footer","document","getElementById","pod","podOwner","rebuildFooter","authSession","onLogin","onLogout","user","authn","currentUser","innerHTML","createControllerInfoBlock","appendChild","profileLinkContainer","createElement","equals","podLinkPre","innerText","podLink","href","uri","profileLinkPre","profileLink","solidProjectLinkPre","solidProjectLink","solidProjectUrl","solidProjectName","solidProjectLinkPost"],"mappings":"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","sourcesContent":["/*\n This file was copied from mashlib/src/global/footer.ts file. It is modified to\n work in solid-ui by adjusting where imported functions are found.\n */\nimport { IndexedFormula, NamedNode } from 'rdflib'\nimport { authn, authSession } from 'solid-logic'\nimport { addStyleClassToElement, getName, getPod, getPodOwner } from '../utils/headerFooterHelpers'\n\nconst DEFAULT_SOLID_PROJECT_URL = 'https://solidproject.org'\nconst DEFAULT_SOLID_PROJECT_NAME = 'solidproject.org'\n\n/*\n FooterOptions allow for customizing the link and name of the link part of the footer.\n */\nexport type FooterOptions = {\n solidProjectUrl?: string,\n solidProjectName?: string\n }\n\n/**\n * Initialize footer component, the footer object returned depends on whether the user is authenticated.\n * @param store the data store\n * @returns the footer\n */\nexport async function initFooter (store: IndexedFormula, options?: FooterOptions) {\n const footer = document.getElementById('PageFooter')\n if (!footer) {\n return\n }\n const pod = getPod()\n const podOwner = await getPodOwner(pod, store)\n rebuildFooter(footer, store, pod, podOwner, options)()\n authSession.onLogin(rebuildFooter(footer, store, pod, podOwner, options))\n authSession.onLogout(rebuildFooter(footer, store, pod, podOwner, options))\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport function rebuildFooter (footer: HTMLElement, store: IndexedFormula, pod: NamedNode | null, podOwner: NamedNode | null, options?: FooterOptions) {\n return async () => {\n const user = authn.currentUser()\n footer.innerHTML = ''\n footer.appendChild(await createControllerInfoBlock(store, user, pod, podOwner, options))\n }\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport function createControllerInfoBlock (store: IndexedFormula, user: NamedNode | null, pod: NamedNode | null, podOwner: NamedNode | null, options?: FooterOptions): HTMLElement {\n const profileLinkContainer = document.createElement('div')\n if (!pod || !podOwner || (user && user.equals(podOwner))) {\n return profileLinkContainer\n }\n\n addStyleClassToElement(profileLinkContainer, ['footer-pod-info', 'footer'], 'footer')\n\n const podLinkPre = document.createElement('span')\n podLinkPre.innerText = \"You're visiting \"\n\n const podLink = document.createElement('a')\n podLink.href = pod.uri\n podLink.innerText = 'the Pod'\n\n const profileLinkPre = document.createElement('span')\n profileLinkPre.innerText = ' controlled by '\n\n const profileLink = document.createElement('a')\n profileLink.href = podOwner.uri\n profileLink.innerText = getName(store, podOwner)\n\n const solidProjectLinkPre = document.createElement('span')\n solidProjectLinkPre.innerText = '. For more info, check out '\n\n const solidProjectLink = document.createElement('a')\n solidProjectLink.href = options && options.solidProjectUrl ? options.solidProjectUrl : DEFAULT_SOLID_PROJECT_URL\n solidProjectLink.innerText = options && options.solidProjectName ? options.solidProjectName : DEFAULT_SOLID_PROJECT_NAME\n\n const solidProjectLinkPost = document.createElement('span')\n solidProjectLinkPost.innerText = '.'\n\n profileLinkContainer.appendChild(podLinkPre)\n profileLinkContainer.appendChild(podLink)\n profileLinkContainer.appendChild(profileLinkPre)\n profileLinkContainer.appendChild(profileLink)\n profileLinkContainer.appendChild(solidProjectLinkPre)\n profileLinkContainer.appendChild(solidProjectLink)\n profileLinkContainer.appendChild(solidProjectLinkPost)\n\n return profileLinkContainer\n}\n"],"file":"index.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/header/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAalD,oBAAY,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,oBAAY,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB,CAAA;AAED,oBAAY,SAAS,GAAG,YAAY,GAAG,cAAc,CAAA;AAMrD,oBAAY,aAAa,GAAG;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,SAAS,EAAE,CAAA;CAC3B,CAAA;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAE,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,iBAU1G;AACD;;GAEG;AACH,wBAAgB,aAAa,CAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,uBAM5I;AACD;;GAEG;AACH,wBAAsB,YAAY,CAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,CA+B3K;AACD;;GAEG;AACH,wBAAgB,cAAc,CAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,8BA8CjF;AACD;;GAEG;AACH,wBAAgB,wBAAwB,mBAKvC;AACD;;GAEG;AACH,wBAAgB,oBAAoB,CAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,kCAAkC,GAAG,WAAW,CAM7G;AACD;;GAEG;AACH,wBAAgB,kBAAkB,CAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,CAO7F;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAqD7H;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAE,KAAK,EAAE,WAAW,GAAG,WAAW,CAKnE;AACD;;GAEG;AACH,wBAAgB,aAAa,CAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,WAAW,CAe3F"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/header/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAelD,oBAAY,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,oBAAY,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB,CAAA;AAED,oBAAY,SAAS,GAAG,YAAY,GAAG,cAAc,CAAA;AAMrD,oBAAY,aAAa,GAAG;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,SAAS,EAAE,CAAA;CAC3B,CAAA;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAE,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,iBAU1G;AACD;;GAEG;AACH,wBAAgB,aAAa,CAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,uBAM5I;AACD;;GAEG;AACH,wBAAsB,YAAY,CAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,CA+B3K;AACD;;GAEG;AACH,wBAAgB,cAAc,CAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,8BA8CjF;AACD;;GAEG;AACH,wBAAgB,wBAAwB,mBAKvC;AACD;;GAEG;AACH,wBAAgB,oBAAoB,CAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,kCAAkC,GAAG,WAAW,CAM7G;AACD;;GAEG;AACH,wBAAgB,kBAAkB,CAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,CAO7F;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAqD7H;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAE,KAAK,EAAE,WAAW,GAAG,WAAW,CAKnE;AACD;;GAEG;AACH,wBAAgB,aAAa,CAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,WAAW,CAe3F"}
@@ -22,9 +22,11 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
22
22
 
23
23
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
24
24
 
25
- var _iconBase = require("../iconBase");
25
+ var _index = require("../index");
26
26
 
27
- var _authn = require("../authn/authn");
27
+ var _solidLogic = require("solid-logic");
28
+
29
+ var _login = require("../login/login");
28
30
 
29
31
  var widgets = _interopRequireWildcard(require("../widgets"));
30
32
 
@@ -42,11 +44,12 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
42
44
  This file was copied from mashlib/src/global/header.ts file. It is modified to
43
45
  work in solid-ui by adjusting where imported functions are found.
44
46
  */
47
+ // import { loginStatusBox, authSession, currentUser } from '../authn/authn'
45
48
 
46
49
  /**
47
50
  * menu icons
48
51
  */
49
- var DEFAULT_HELP_MENU_ICON = _iconBase.icons.iconBase + 'noun_help.svg';
52
+ var DEFAULT_HELP_MENU_ICON = _index.icons.iconBase + 'noun_help.svg';
50
53
  var DEFAUL_SOLID_ICON_URL = 'https://solidproject.org/assets/img/solid-emblem.svg';
51
54
 
52
55
  /**
@@ -84,9 +87,9 @@ function _initHeader() {
84
87
  pod = (0, _headerFooterHelpers.getPod)();
85
88
  rebuildHeader(header, store, pod, userMenuList, options)();
86
89
 
87
- _authn.authSession.onLogout(rebuildHeader(header, store, pod, userMenuList, options));
90
+ _solidLogic.authSession.onLogout(rebuildHeader(header, store, pod, userMenuList, options));
88
91
 
89
- _authn.authSession.onLogin(rebuildHeader(header, store, pod, userMenuList, options));
92
+ _solidLogic.authSession.onLogin(rebuildHeader(header, store, pod, userMenuList, options));
90
93
 
91
94
  case 7:
92
95
  case "end":
@@ -105,7 +108,7 @@ function rebuildHeader(header, store, pod, userMenuList, options) {
105
108
  while (1) {
106
109
  switch (_context.prev = _context.next) {
107
110
  case 0:
108
- user = (0, _authn.currentUser)();
111
+ user = _solidLogic.authn.currentUser();
109
112
  header.innerHTML = '';
110
113
  _context.t0 = header;
111
114
  _context.next = 5;
@@ -224,7 +227,7 @@ function createHelpMenu(options, helpMenuItems) {
224
227
  (0, _headerFooterHelpers.addStyleClassToElement)(helpMenuTrigger, ['header-user-menu__trigger']);
225
228
  helpMenuTrigger.type = 'button';
226
229
  var helpMenuIcon = document.createElement('img');
227
- helpMenuIcon.src = options && options.helpIcon ? options.helpIcon : _iconBase.icons.iconBase + DEFAULT_HELP_MENU_ICON;
230
+ helpMenuIcon.src = options && options.helpIcon ? options.helpIcon : _index.icons.iconBase + DEFAULT_HELP_MENU_ICON;
228
231
  (0, _headerFooterHelpers.addStyleClassToElement)(helpMenuIcon, ['header-banner__help-icon']);
229
232
  helpMenuContainer.appendChild(helpMenuTrigger);
230
233
  helpMenuTrigger.appendChild(helpMenuIcon);
@@ -254,7 +257,7 @@ function createHelpMenu(options, helpMenuItems) {
254
257
  function createLoginSignUpButtons() {
255
258
  var profileLoginButtonPre = document.createElement('div');
256
259
  (0, _headerFooterHelpers.addStyleClassToElement)(profileLoginButtonPre, ['header-banner__login']);
257
- profileLoginButtonPre.appendChild((0, _authn.loginStatusBox)(document, null, {}));
260
+ profileLoginButtonPre.appendChild((0, _login.loginStatusBox)(document, null, {}));
258
261
  return profileLoginButtonPre;
259
262
  }
260
263
  /**