solid-ui 2.4.31-13dc2247 → 2.4.31-26d24f44

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 (38) hide show
  1. package/dist/805.solid-ui.min.js +1 -1
  2. package/dist/805.solid-ui.min.js.map +1 -1
  3. package/dist/solid-ui.js +1641 -4633
  4. package/dist/solid-ui.js.map +1 -1
  5. package/dist/solid-ui.min.js +1 -1
  6. package/dist/solid-ui.min.js.LICENSE.txt +1 -1
  7. package/dist/solid-ui.min.js.map +1 -1
  8. package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js +1957 -1957
  9. package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js.map +1 -1
  10. package/lib/chat/bookmarks.js +7 -6
  11. package/lib/chat/bookmarks.js.map +1 -1
  12. package/lib/chat/chatLogic.js +66 -251
  13. package/lib/chat/chatLogic.js.map +1 -1
  14. package/lib/chat/dateFolder.js +126 -131
  15. package/lib/chat/dateFolder.js.map +1 -1
  16. package/lib/chat/infinite.js +416 -611
  17. package/lib/chat/infinite.js.map +1 -1
  18. package/lib/chat/message.js +191 -328
  19. package/lib/chat/message.js.map +1 -1
  20. package/lib/chat/messageTools.js +276 -462
  21. package/lib/chat/messageTools.js.map +1 -1
  22. package/lib/chat/thread.js +208 -299
  23. package/lib/chat/thread.js.map +1 -1
  24. package/lib/preferences.js +0 -4
  25. package/lib/preferences.js.map +1 -1
  26. package/lib/tabs.js +1 -1
  27. package/lib/tabs.js.map +1 -1
  28. package/lib/utils/keyHelpers/accessData.d.ts +2 -2
  29. package/lib/utils/keyHelpers/accessData.d.ts.map +1 -1
  30. package/lib/utils/keyHelpers/accessData.js +115 -59
  31. package/lib/utils/keyHelpers/accessData.js.map +1 -1
  32. package/lib/versionInfo.js +2 -2
  33. package/lib/versionInfo.js.map +1 -1
  34. package/package.json +2 -2
  35. package/lib/utils/keyHelpers/otherHelpers.d.ts +0 -3
  36. package/lib/utils/keyHelpers/otherHelpers.d.ts.map +0 -1
  37. package/lib/utils/keyHelpers/otherHelpers.js +0 -22
  38. package/lib/utils/keyHelpers/otherHelpers.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"thread.js","names":["_iconBase","require","_solidLogic","_index","ns","_interopRequireWildcard","login","pad","$rdf","style","utils","widgets","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","UI","icons","media","thread","dom","kb","subject","messageStore","options","store","doc","WF","Namespace","DCT","newestFirst","messageBodyStyle","div","createElement","messageTable","me","updater","anchor","text","term","uri","setAttribute","addEventListener","openHrefInOutlineMode","textContent","mention","message","pre","appendChild","createTextNode","announce","log","warn","error","newMessageForm","form","lhs","middle","rhs","AJAR_date","sendMessage","_ref","_asyncToGenerator2","_regenerator","mark","_callee2","_yield$appendMsg","dateStamp","sts","sendComplete","wrap","_callee2$","_context2","prev","next","field","disabled","appendMsg","value","sent","_ref2","_callee","success","body","bindings","_callee$","_context","errorMessageBlock","literal","renderMessage","stop","_x","_x2","_x3","apply","arguments","updateMany","sendButton","turnOnInput","creatorAndDate","innerHTML","rows","_ref3","_callee3","_callee3$","_context3","keyCode","altKey","_x4","button","iconBase","buttonStyle","context","ensureLoggedIn","then","_ref4","fieldValue","oldMsg","length","undefined","_callee4","now","timestamp","msgBody","_callee4$","_context4","Date","getTime","sym","t0","t1","Statement","mostRecentVersion","t2","t3","t4","t5","t6","push","wf","concat","nick","sioc","foaf","abrupt","_x5","person","s","any","label","td1","creator","date","nickAnchor","fetcher","nowOrWhenFetched","_ok","_body","syncMessages","about","displayed","ele","ele2","firstChild","nextSibling","AJAR_subject","messages","each","stored","forEach","m","addMessage","removeChild","msg","statementsMatching","_deleteMessage","_ref5","_callee5","deletions","_callee5$","_context5","connectedStatements","ok","_x6","_ref6","_callee6","_callee6$","_context6","_x7","_ref7","_callee9","fresh","content","dateString","tr","done","td2","td3","delButton","_callee9$","_context9","insertBefore","shortDate","_ref8","_callee8","_event","cancelButton","sureButton","_callee8$","_context8","_ref9","_callee7","_yield$appendMsg2","_callee7$","_context7","_x11","_x10","_x8","_x9","query","Query","v","vs","x","vars","variable","pat","add","dct","doneQuery","refresh"],"sources":["../../src/chat/thread.js"],"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\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 = async function () {\n // titlefield.setAttribute('class','pendingedit')\n // titlefield.disabled = true\n field.setAttribute('class', 'pendingedit')\n field.disabled = true\n const { message, dateStamp, sts } = await appendMsg(field.value)\n\n const sendComplete = async 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 await updater.updateMany([], 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 async function (e) {\n // User preference?\n if (e.keyCode === 13) {\n if (!e.altKey) {\n // Alt-Enter just adds a new line\n await 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 }\n login.ensureLoggedIn(context).then(context => {\n me = context.me\n turnOnInput()\n })\n\n return form\n }\n\n const appendMsg = async 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(await 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 message = msg\n // listMsg.push(msg)\n msg = store.statementsMatching(message, DCT('isReplacedBy'))\n }\n return message\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 await updater.updateMany(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 = async 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 await renderMessage(bindings, true) // fresh from elsewhere\n }\n\n const renderMessage = async 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 async 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 async 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 } = await appendMsg() // alain\n await updater.updateMany([], sts) // alain\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"],"mappings":"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"}
1
+ {"version":3,"file":"thread.js","names":["_iconBase","require","_solidLogic","_index","ns","_interopRequireWildcard","login","pad","$rdf","style","utils","widgets","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","UI","icons","media","thread","dom","kb","subject","messageStore","options","store","doc","WF","Namespace","DCT","newestFirst","messageBodyStyle","div","createElement","messageTable","me","updater","anchor","text","term","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","appendMsg","value","dateStamp","sts","sendComplete","success","body","errorMessageBlock","bindings","literal","renderMessage","update","sendButton","turnOnInput","creatorAndDate","innerHTML","rows","keyCode","altKey","button","iconBase","buttonStyle","context","ensureLoggedIn","then","fieldValue","oldMsg","arguments","length","undefined","now","Date","timestamp","getTime","sym","push","Statement","mostRecentVersion","wf","msgBody","concat","nick","sioc","foaf","person","s","any","label","td1","creator","date","nickAnchor","fetcher","nowOrWhenFetched","_ok","_body","syncMessages","about","displayed","ele","ele2","firstChild","nextSibling","AJAR_subject","messages","each","stored","forEach","m","addMessage","removeChild","msg","statementsMatching","_deleteMessage","_ref","_asyncToGenerator2","_regenerator","mark","_callee","deletions","wrap","_callee$","_context","prev","next","connectedStatements","sent","ok","stop","_x","apply","fresh","content","dateString","tr","done","insertBefore","shortDate","td2","td3","delButton","_event","cancelButton","sureButton","_appendMsg2","query","Query","v","vs","x","vars","variable","pat","add","dct","doneQuery","refresh"],"sources":["../../src/chat/thread.js"],"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 }\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"],"mappings":"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"}
@@ -58,10 +58,6 @@ function recordSharedPreferences(subject, context) {
58
58
  return new Promise(function (resolve, reject) {
59
59
  var sharedPreferences = kb.any(subject, ns.ui('sharedPreferences'));
60
60
  if (!sharedPreferences) {
61
- if (!kb.updater.editable(subject.doc())) {
62
- debug.log(" Cant make shared preferences, may not change ".concat(subject.doc));
63
- resolve(context);
64
- }
65
61
  var sp = $rdf.sym(subject.doc().uri + '#SharedPreferences');
66
62
  var ins = [$rdf.st(subject, ns.ui('sharedPreferences'), sp, subject.doc())];
67
63
  debug.log('Creating shared preferences ' + sp);
@@ -1 +1 @@
1
- {"version":3,"file":"preferences.js","names":["$rdf","_interopRequireWildcard","require","_solidLogic","debug","_login","ns","participation","widgets","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","kb","store","value","exports","k","v","log","Error","recordSharedPreferences","subject","context","Promise","resolve","reject","sharedPreferences","any","ui","updater","editable","doc","concat","sp","sym","uri","ins","st","update","ok","errorMessage","recordPersonalDefaults","theClass","ensureLoadedPreferences","then","preferencesFile","preferencesFileError","regs","each","solid","prefs","reg","length","forEach","personalDefaults","newThing","rdf","push","errm","err","renderPreferencesForm","preferencesForm","prefContainer","dom","createElement","participationObject","me","heading","text","appendChild","textContent","noun","appendForm","mes","complain","errorMessageBlock","toJS","term","datatype","equals","xsd","Date","Number","getPreferencesForClass","predicates","results","pred","v1"],"sources":["../src/preferences.js"],"sourcesContent":["// Solid-UI preferences\n// =====================\n//\n\nimport * as $rdf from 'rdflib' // pull in first avoid cross-refs\nimport { store } from 'solid-logic'\nimport * as debug from './debug'\nimport { ensureLoadedPreferences } from './login/login'\nimport * as ns from './ns'\nimport * as participation from './participation' // @ts-ignore\nimport * as widgets from './widgets'\n\nconst kb = store\n\n// This was tabulator . preferences in the tabulator\n// Is this functionality used anywhere?\n//\n\n// used for storing user name\n// @@ Deprocate these functions. They were used for\n// communication around the tabulator functionality about the user session\n\nexport const value = []\nexport function get (k) {\n return value[k]\n}\n\nexport function set (k, v) {\n if (typeof v !== 'string') {\n debug.log('Non-string value of preference ' + k + ': ' + v)\n throw new Error('Non-string value of preference ' + k + ': ' + v)\n }\n this.value[k] = v\n}\n\n// In a solid world, Preferences are stored in the web\n//\n// Make an RDF node for recording the common view preferences for any object\n// (maybe make it in a separate file?)\nexport function recordSharedPreferences (subject, context) {\n return new Promise(function (resolve, reject) {\n const sharedPreferences = kb.any(subject, ns.ui('sharedPreferences'))\n if (!sharedPreferences) {\n if (!kb.updater.editable(subject.doc())) {\n debug.log(` Cant make shared preferences, may not change ${subject.doc}`)\n resolve(context)\n }\n const sp = $rdf.sym(subject.doc().uri + '#SharedPreferences')\n const ins = [\n $rdf.st(subject, ns.ui('sharedPreferences'), sp, subject.doc())\n ]\n debug.log('Creating shared preferences ' + sp)\n kb.updater.update([], ins, function (uri, ok, errorMessage) {\n if (!ok) {\n reject(new Error('Error creating shared prefs: ' + errorMessage))\n } else {\n context.sharedPreferences = sp\n resolve(context)\n }\n })\n } else {\n context.sharedPreferences = sharedPreferences\n resolve(context)\n }\n })\n}\n\n// Construct a personal defaults node in the preferences file for a given class of object\n//\nexport function recordPersonalDefaults (theClass, context) {\n return new Promise(function (resolve, reject) {\n ensureLoadedPreferences(context).then(\n context => {\n if (!context.preferencesFile) {\n debug.log(\n 'Not doing private class preferences as no access to preferences file. ' +\n context.preferencesFileError\n )\n return\n }\n const regs = kb.each(\n null,\n ns.solid('forClass'),\n theClass,\n context.preferencesFile\n )\n let ins = []\n let prefs\n let reg\n if (regs.length) {\n // Use existing node if we can\n regs.forEach(r => {\n prefs = prefs || kb.any(r, ns.solid('personalDefaults'))\n })\n if (prefs) {\n context.personalDefaults = prefs // Found one\n resolve(context)\n return\n } else {\n prefs = widgets.newThing(context.preferencesFile)\n reg = regs[0]\n }\n } else {\n // no regs fo class\n reg = widgets.newThing(context.preferencesFile)\n ins = [\n $rdf.st(\n reg,\n ns.rdf('type'),\n ns.solid('TypeRegistration'),\n context.preferencesFile\n ),\n $rdf.st(reg, ns.solid('forClass'), theClass, context.preferencesFile)\n ]\n }\n prefs = widgets.newThing(context.preferencesFile)\n ins.push(\n $rdf.st(\n reg,\n ns.solid('personalDefaults'),\n prefs,\n context.preferencesFile\n )\n )\n kb.updater.update([], ins, function (uri, ok, errm) {\n if (!ok) {\n reject(new Error('Setting preferences for ' + theClass + ': ' + errm))\n } else {\n context.personalDefaults = prefs\n resolve(context)\n }\n })\n },\n err => {\n reject(err)\n }\n )\n })\n}\n\nexport function renderPreferencesForm (subject, theClass, preferencesForm, context) {\n const prefContainer = context.dom.createElement('div')\n participation.participationObject(subject, subject.doc(), context.me).then(\n participation => {\n const dom = context.dom\n function heading (text) {\n prefContainer.appendChild(dom.createElement('h5')).textContent = text\n }\n heading('My view of this ' + context.noun)\n widgets.appendForm(\n dom,\n prefContainer,\n {},\n participation,\n preferencesForm,\n subject.doc(),\n (ok, mes) => {\n if (!ok) widgets.complain(context, mes)\n }\n )\n\n heading(\"Everyone's view of this \" + context.noun)\n recordSharedPreferences(subject, context).then(context => {\n const sharedPreferences = context.sharedPreferences\n widgets.appendForm(\n dom,\n prefContainer,\n {},\n sharedPreferences,\n preferencesForm,\n subject.doc(),\n (ok, mes) => {\n if (!ok) widgets.complain(context, mes)\n }\n )\n\n heading('My default view of any ' + context.noun)\n recordPersonalDefaults(theClass, context).then(\n context => {\n widgets.appendForm(\n dom,\n prefContainer,\n {},\n context.personalDefaults,\n preferencesForm,\n context.preferencesFile,\n (ok, mes) => {\n if (!ok) widgets.complain(context, mes)\n }\n )\n },\n err => {\n widgets.complain(context, err)\n }\n )\n })\n },\n err => {\n // parp object fails\n prefContainer.appendChild(widgets.errorMessageBlock(context.dom, err))\n }\n )\n return prefContainer\n}\n\n// This should be part of rdflib.js ad part of the RDFJS Standard!!\n\nfunction toJS (term) {\n if (!term.datatype) return term // Objects remain objects\n if (term.datatype.equals(ns.xsd('boolean'))) {\n return term.value === '1'\n }\n if (\n term.datatype.equals(ns.xsd('dateTime')) ||\n term.datatype.equals(ns.xsd('date'))\n ) {\n return new Date(term.value)\n }\n if (\n term.datatype.equals(ns.xsd('integer')) ||\n term.datatype.equals(ns.xsd('float')) ||\n term.datatype.equals(ns.xsd('decimal'))\n ) {\n return Number(term.value)\n }\n return term.value\n}\n\n// This is the function which acuakly reads and combines the preferences\n//\n// @@ make it much more tolerant of missing buts of prefernces\nexport function getPreferencesForClass (subject, theClass, predicates, context) {\n return new Promise(function (resolve, reject) {\n recordSharedPreferences(subject, context).then(context => {\n const sharedPreferences = context.sharedPreferences\n if (context.me) {\n participation\n .participationObject(subject, subject.doc(), context.me)\n .then(participation => {\n recordPersonalDefaults(theClass, context).then(context => {\n const results = []\n const personalDefaults = context.personalDefaults\n predicates.forEach(pred => {\n // Order of preference: My settings on object, Global settings on object, my settings on class\n const v1 =\n kb.any(participation, pred) ||\n kb.any(sharedPreferences, pred) ||\n kb.any(personalDefaults, pred)\n if (v1) {\n results[pred.uri] = toJS(v1)\n }\n })\n resolve(results)\n }, reject)\n }, reject)\n } else {\n // no user defined, just use common prefs\n const results = []\n predicates.forEach(pred => {\n const v1 = kb.any(sharedPreferences, pred)\n if (v1) {\n results[pred.uri] = toJS(v1)\n }\n })\n resolve(results)\n }\n })\n })\n}\n\n// ends\n"],"mappings":"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"}
1
+ {"version":3,"file":"preferences.js","names":["$rdf","_interopRequireWildcard","require","_solidLogic","debug","_login","ns","participation","widgets","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","kb","store","value","exports","k","v","log","Error","recordSharedPreferences","subject","context","Promise","resolve","reject","sharedPreferences","any","ui","sp","sym","doc","uri","ins","st","updater","update","ok","errorMessage","recordPersonalDefaults","theClass","ensureLoadedPreferences","then","preferencesFile","preferencesFileError","regs","each","solid","prefs","reg","length","forEach","personalDefaults","newThing","rdf","push","errm","err","renderPreferencesForm","preferencesForm","prefContainer","dom","createElement","participationObject","me","heading","text","appendChild","textContent","noun","appendForm","mes","complain","errorMessageBlock","toJS","term","datatype","equals","xsd","Date","Number","getPreferencesForClass","predicates","results","pred","v1"],"sources":["../src/preferences.js"],"sourcesContent":["// Solid-UI preferences\n// =====================\n//\n\nimport * as $rdf from 'rdflib' // pull in first avoid cross-refs\nimport { store } from 'solid-logic'\nimport * as debug from './debug'\nimport { ensureLoadedPreferences } from './login/login'\nimport * as ns from './ns'\nimport * as participation from './participation' // @ts-ignore\nimport * as widgets from './widgets'\n\nconst kb = store\n\n// This was tabulator . preferences in the tabulator\n// Is this functionality used anywhere?\n//\n\n// used for storing user name\n// @@ Deprocate these functions. They were used for\n// communication around the tabulator functionality about the user session\n\nexport const value = []\nexport function get (k) {\n return value[k]\n}\n\nexport function set (k, v) {\n if (typeof v !== 'string') {\n debug.log('Non-string value of preference ' + k + ': ' + v)\n throw new Error('Non-string value of preference ' + k + ': ' + v)\n }\n this.value[k] = v\n}\n\n// In a solid world, Preferences are stored in the web\n//\n// Make an RDF node for recording the common view preferences for any object\n// (maybe make it in a separate file?)\nexport function recordSharedPreferences (subject, context) {\n return new Promise(function (resolve, reject) {\n const sharedPreferences = kb.any(subject, ns.ui('sharedPreferences'))\n if (!sharedPreferences) {\n const sp = $rdf.sym(subject.doc().uri + '#SharedPreferences')\n const ins = [\n $rdf.st(subject, ns.ui('sharedPreferences'), sp, subject.doc())\n ]\n debug.log('Creating shared preferences ' + sp)\n kb.updater.update([], ins, function (uri, ok, errorMessage) {\n if (!ok) {\n reject(new Error('Error creating shared prefs: ' + errorMessage))\n } else {\n context.sharedPreferences = sp\n resolve(context)\n }\n })\n } else {\n context.sharedPreferences = sharedPreferences\n resolve(context)\n }\n })\n}\n\n// Construct a personal defaults node in the preferences file for a given class of object\n//\nexport function recordPersonalDefaults (theClass, context) {\n return new Promise(function (resolve, reject) {\n ensureLoadedPreferences(context).then(\n context => {\n if (!context.preferencesFile) {\n debug.log(\n 'Not doing private class preferences as no access to preferences file. ' +\n context.preferencesFileError\n )\n return\n }\n const regs = kb.each(\n null,\n ns.solid('forClass'),\n theClass,\n context.preferencesFile\n )\n let ins = []\n let prefs\n let reg\n if (regs.length) {\n // Use existing node if we can\n regs.forEach(r => {\n prefs = prefs || kb.any(r, ns.solid('personalDefaults'))\n })\n if (prefs) {\n context.personalDefaults = prefs // Found one\n resolve(context)\n return\n } else {\n prefs = widgets.newThing(context.preferencesFile)\n reg = regs[0]\n }\n } else {\n // no regs fo class\n reg = widgets.newThing(context.preferencesFile)\n ins = [\n $rdf.st(\n reg,\n ns.rdf('type'),\n ns.solid('TypeRegistration'),\n context.preferencesFile\n ),\n $rdf.st(reg, ns.solid('forClass'), theClass, context.preferencesFile)\n ]\n }\n prefs = widgets.newThing(context.preferencesFile)\n ins.push(\n $rdf.st(\n reg,\n ns.solid('personalDefaults'),\n prefs,\n context.preferencesFile\n )\n )\n kb.updater.update([], ins, function (uri, ok, errm) {\n if (!ok) {\n reject(new Error('Setting preferences for ' + theClass + ': ' + errm))\n } else {\n context.personalDefaults = prefs\n resolve(context)\n }\n })\n },\n err => {\n reject(err)\n }\n )\n })\n}\n\nexport function renderPreferencesForm (subject, theClass, preferencesForm, context) {\n const prefContainer = context.dom.createElement('div')\n participation.participationObject(subject, subject.doc(), context.me).then(\n participation => {\n const dom = context.dom\n function heading (text) {\n prefContainer.appendChild(dom.createElement('h5')).textContent = text\n }\n heading('My view of this ' + context.noun)\n widgets.appendForm(\n dom,\n prefContainer,\n {},\n participation,\n preferencesForm,\n subject.doc(),\n (ok, mes) => {\n if (!ok) widgets.complain(context, mes)\n }\n )\n\n heading(\"Everyone's view of this \" + context.noun)\n recordSharedPreferences(subject, context).then(context => {\n const sharedPreferences = context.sharedPreferences\n widgets.appendForm(\n dom,\n prefContainer,\n {},\n sharedPreferences,\n preferencesForm,\n subject.doc(),\n (ok, mes) => {\n if (!ok) widgets.complain(context, mes)\n }\n )\n\n heading('My default view of any ' + context.noun)\n recordPersonalDefaults(theClass, context).then(\n context => {\n widgets.appendForm(\n dom,\n prefContainer,\n {},\n context.personalDefaults,\n preferencesForm,\n context.preferencesFile,\n (ok, mes) => {\n if (!ok) widgets.complain(context, mes)\n }\n )\n },\n err => {\n widgets.complain(context, err)\n }\n )\n })\n },\n err => {\n // parp object fails\n prefContainer.appendChild(widgets.errorMessageBlock(context.dom, err))\n }\n )\n return prefContainer\n}\n\n// This should be part of rdflib.js ad part of the RDFJS Standard!!\n\nfunction toJS (term) {\n if (!term.datatype) return term // Objects remain objects\n if (term.datatype.equals(ns.xsd('boolean'))) {\n return term.value === '1'\n }\n if (\n term.datatype.equals(ns.xsd('dateTime')) ||\n term.datatype.equals(ns.xsd('date'))\n ) {\n return new Date(term.value)\n }\n if (\n term.datatype.equals(ns.xsd('integer')) ||\n term.datatype.equals(ns.xsd('float')) ||\n term.datatype.equals(ns.xsd('decimal'))\n ) {\n return Number(term.value)\n }\n return term.value\n}\n\n// This is the function which acuakly reads and combines the preferences\n//\n// @@ make it much more tolerant of missing buts of prefernces\nexport function getPreferencesForClass (subject, theClass, predicates, context) {\n return new Promise(function (resolve, reject) {\n recordSharedPreferences(subject, context).then(context => {\n const sharedPreferences = context.sharedPreferences\n if (context.me) {\n participation\n .participationObject(subject, subject.doc(), context.me)\n .then(participation => {\n recordPersonalDefaults(theClass, context).then(context => {\n const results = []\n const personalDefaults = context.personalDefaults\n predicates.forEach(pred => {\n // Order of preference: My settings on object, Global settings on object, my settings on class\n const v1 =\n kb.any(participation, pred) ||\n kb.any(sharedPreferences, pred) ||\n kb.any(personalDefaults, pred)\n if (v1) {\n results[pred.uri] = toJS(v1)\n }\n })\n resolve(results)\n }, reject)\n }, reject)\n } else {\n // no user defined, just use common prefs\n const results = []\n predicates.forEach(pred => {\n const v1 = kb.any(sharedPreferences, pred)\n if (v1) {\n results[pred.uri] = toJS(v1)\n }\n })\n resolve(results)\n }\n })\n })\n}\n\n// ends\n"],"mappings":";;;;;;;;;;;;;AAIA,IAAAA,IAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAH,uBAAA,CAAAC,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,EAAA,GAAAL,uBAAA,CAAAC,OAAA;AACA,IAAAK,aAAA,GAAAN,uBAAA,CAAAC,OAAA;AACA,IAAAM,OAAA,GAAAP,uBAAA,CAAAC,OAAA;AAAoC,SAAAO,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAT,wBAAAS,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,gBAAAK,OAAA,CAAAL,CAAA,0BAAAA,CAAA,sBAAAA,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,cAAAR,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAVpC;AACA;AACA;;AAE+B;;AAKkB;;AAGjD,IAAMY,EAAE,GAAGC,iBAAK;;AAEhB;AACA;AACA;;AAEA;AACA;AACA;;AAEO,IAAMC,KAAK,GAAAC,OAAA,CAAAD,KAAA,GAAG,EAAE;AAChB,SAASf,GAAGA,CAAEiB,CAAC,EAAE;EACtB,OAAOF,KAAK,CAACE,CAAC,CAAC;AACjB;AAEO,SAASL,GAAGA,CAAEK,CAAC,EAAEC,CAAC,EAAE;EACzB,IAAI,OAAOA,CAAC,KAAK,QAAQ,EAAE;IACzB/B,KAAK,CAACgC,GAAG,CAAC,iCAAiC,GAAGF,CAAC,GAAG,IAAI,GAAGC,CAAC,CAAC;IAC3D,MAAM,IAAIE,KAAK,CAAC,iCAAiC,GAAGH,CAAC,GAAG,IAAI,GAAGC,CAAC,CAAC;EACnE;EACA,IAAI,CAACH,KAAK,CAACE,CAAC,CAAC,GAAGC,CAAC;AACnB;;AAEA;AACA;AACA;AACA;AACO,SAASG,uBAAuBA,CAAEC,OAAO,EAAEC,OAAO,EAAE;EACzD,OAAO,IAAIC,OAAO,CAAC,UAAUC,OAAO,EAAEC,MAAM,EAAE;IAC5C,IAAMC,iBAAiB,GAAGd,EAAE,CAACe,GAAG,CAACN,OAAO,EAAEjC,EAAE,CAACwC,EAAE,CAAC,mBAAmB,CAAC,CAAC;IACrE,IAAI,CAACF,iBAAiB,EAAE;MACtB,IAAMG,EAAE,GAAG/C,IAAI,CAACgD,GAAG,CAACT,OAAO,CAACU,GAAG,CAAC,CAAC,CAACC,GAAG,GAAG,oBAAoB,CAAC;MAC7D,IAAMC,GAAG,GAAG,CACVnD,IAAI,CAACoD,EAAE,CAACb,OAAO,EAAEjC,EAAE,CAACwC,EAAE,CAAC,mBAAmB,CAAC,EAAEC,EAAE,EAAER,OAAO,CAACU,GAAG,CAAC,CAAC,CAAC,CAChE;MACD7C,KAAK,CAACgC,GAAG,CAAC,8BAA8B,GAAGW,EAAE,CAAC;MAC9CjB,EAAE,CAACuB,OAAO,CAACC,MAAM,CAAC,EAAE,EAAEH,GAAG,EAAE,UAAUD,GAAG,EAAEK,EAAE,EAAEC,YAAY,EAAE;QAC1D,IAAI,CAACD,EAAE,EAAE;UACPZ,MAAM,CAAC,IAAIN,KAAK,CAAC,+BAA+B,GAAGmB,YAAY,CAAC,CAAC;QACnE,CAAC,MAAM;UACLhB,OAAO,CAACI,iBAAiB,GAAGG,EAAE;UAC9BL,OAAO,CAACF,OAAO,CAAC;QAClB;MACF,CAAC,CAAC;IACJ,CAAC,MAAM;MACLA,OAAO,CAACI,iBAAiB,GAAGA,iBAAiB;MAC7CF,OAAO,CAACF,OAAO,CAAC;IAClB;EACF,CAAC,CAAC;AACJ;;AAEA;AACA;AACO,SAASiB,sBAAsBA,CAAEC,QAAQ,EAAElB,OAAO,EAAE;EACzD,OAAO,IAAIC,OAAO,CAAC,UAAUC,OAAO,EAAEC,MAAM,EAAE;IAC5C,IAAAgB,8BAAuB,EAACnB,OAAO,CAAC,CAACoB,IAAI,CACnC,UAAApB,OAAO,EAAI;MACT,IAAI,CAACA,OAAO,CAACqB,eAAe,EAAE;QAC5BzD,KAAK,CAACgC,GAAG,CACP,wEAAwE,GACtEI,OAAO,CAACsB,oBACZ,CAAC;QACD;MACF;MACA,IAAMC,IAAI,GAAGjC,EAAE,CAACkC,IAAI,CAClB,IAAI,EACJ1D,EAAE,CAAC2D,KAAK,CAAC,UAAU,CAAC,EACpBP,QAAQ,EACRlB,OAAO,CAACqB,eACV,CAAC;MACD,IAAIV,GAAG,GAAG,EAAE;MACZ,IAAIe,KAAK;MACT,IAAIC,GAAG;MACP,IAAIJ,IAAI,CAACK,MAAM,EAAE;QACf;QACAL,IAAI,CAACM,OAAO,CAAC,UAAAzD,CAAC,EAAI;UAChBsD,KAAK,GAAGA,KAAK,IAAIpC,EAAE,CAACe,GAAG,CAACjC,CAAC,EAAEN,EAAE,CAAC2D,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC1D,CAAC,CAAC;QACF,IAAIC,KAAK,EAAE;UACT1B,OAAO,CAAC8B,gBAAgB,GAAGJ,KAAK,EAAC;UACjCxB,OAAO,CAACF,OAAO,CAAC;UAChB;QACF,CAAC,MAAM;UACL0B,KAAK,GAAG1D,OAAO,CAAC+D,QAAQ,CAAC/B,OAAO,CAACqB,eAAe,CAAC;UACjDM,GAAG,GAAGJ,IAAI,CAAC,CAAC,CAAC;QACf;MACF,CAAC,MAAM;QACL;QACAI,GAAG,GAAG3D,OAAO,CAAC+D,QAAQ,CAAC/B,OAAO,CAACqB,eAAe,CAAC;QAC/CV,GAAG,GAAG,CACJnD,IAAI,CAACoD,EAAE,CACLe,GAAG,EACH7D,EAAE,CAACkE,GAAG,CAAC,MAAM,CAAC,EACdlE,EAAE,CAAC2D,KAAK,CAAC,kBAAkB,CAAC,EAC5BzB,OAAO,CAACqB,eACV,CAAC,EACD7D,IAAI,CAACoD,EAAE,CAACe,GAAG,EAAE7D,EAAE,CAAC2D,KAAK,CAAC,UAAU,CAAC,EAAEP,QAAQ,EAAElB,OAAO,CAACqB,eAAe,CAAC,CACtE;MACH;MACAK,KAAK,GAAG1D,OAAO,CAAC+D,QAAQ,CAAC/B,OAAO,CAACqB,eAAe,CAAC;MACjDV,GAAG,CAACsB,IAAI,CACNzE,IAAI,CAACoD,EAAE,CACLe,GAAG,EACH7D,EAAE,CAAC2D,KAAK,CAAC,kBAAkB,CAAC,EAC5BC,KAAK,EACL1B,OAAO,CAACqB,eACV,CACF,CAAC;MACD/B,EAAE,CAACuB,OAAO,CAACC,MAAM,CAAC,EAAE,EAAEH,GAAG,EAAE,UAAUD,GAAG,EAAEK,EAAE,EAAEmB,IAAI,EAAE;QAClD,IAAI,CAACnB,EAAE,EAAE;UACPZ,MAAM,CAAC,IAAIN,KAAK,CAAC,0BAA0B,GAAGqB,QAAQ,GAAG,IAAI,GAAGgB,IAAI,CAAC,CAAC;QACxE,CAAC,MAAM;UACLlC,OAAO,CAAC8B,gBAAgB,GAAGJ,KAAK;UAChCxB,OAAO,CAACF,OAAO,CAAC;QAClB;MACF,CAAC,CAAC;IACJ,CAAC,EACD,UAAAmC,GAAG,EAAI;MACLhC,MAAM,CAACgC,GAAG,CAAC;IACb,CACF,CAAC;EACH,CAAC,CAAC;AACJ;AAEO,SAASC,qBAAqBA,CAAErC,OAAO,EAAEmB,QAAQ,EAAEmB,eAAe,EAAErC,OAAO,EAAE;EAClF,IAAMsC,aAAa,GAAGtC,OAAO,CAACuC,GAAG,CAACC,aAAa,CAAC,KAAK,CAAC;EACtDzE,aAAa,CAAC0E,mBAAmB,CAAC1C,OAAO,EAAEA,OAAO,CAACU,GAAG,CAAC,CAAC,EAAET,OAAO,CAAC0C,EAAE,CAAC,CAACtB,IAAI,CACxE,UAAArD,aAAa,EAAI;IACf,IAAMwE,GAAG,GAAGvC,OAAO,CAACuC,GAAG;IACvB,SAASI,OAAOA,CAAEC,IAAI,EAAE;MACtBN,aAAa,CAACO,WAAW,CAACN,GAAG,CAACC,aAAa,CAAC,IAAI,CAAC,CAAC,CAACM,WAAW,GAAGF,IAAI;IACvE;IACAD,OAAO,CAAC,kBAAkB,GAAG3C,OAAO,CAAC+C,IAAI,CAAC;IAC1C/E,OAAO,CAACgF,UAAU,CAChBT,GAAG,EACHD,aAAa,EACb,CAAC,CAAC,EACFvE,aAAa,EACbsE,eAAe,EACftC,OAAO,CAACU,GAAG,CAAC,CAAC,EACb,UAACM,EAAE,EAAEkC,GAAG,EAAK;MACX,IAAI,CAAClC,EAAE,EAAE/C,OAAO,CAACkF,QAAQ,CAAClD,OAAO,EAAEiD,GAAG,CAAC;IACzC,CACF,CAAC;IAEDN,OAAO,CAAC,2BAA2B,GAAG3C,OAAO,CAAC+C,IAAI,CAAC;IACnDjD,uBAAuB,CAACC,OAAO,EAAEC,OAAO,CAAC,CAACoB,IAAI,CAAC,UAAApB,OAAO,EAAI;MACxD,IAAMI,iBAAiB,GAAGJ,OAAO,CAACI,iBAAiB;MACnDpC,OAAO,CAACgF,UAAU,CAChBT,GAAG,EACHD,aAAa,EACb,CAAC,CAAC,EACFlC,iBAAiB,EACjBiC,eAAe,EACftC,OAAO,CAACU,GAAG,CAAC,CAAC,EACb,UAACM,EAAE,EAAEkC,GAAG,EAAK;QACX,IAAI,CAAClC,EAAE,EAAE/C,OAAO,CAACkF,QAAQ,CAAClD,OAAO,EAAEiD,GAAG,CAAC;MACzC,CACF,CAAC;MAEDN,OAAO,CAAC,yBAAyB,GAAG3C,OAAO,CAAC+C,IAAI,CAAC;MACjD9B,sBAAsB,CAACC,QAAQ,EAAElB,OAAO,CAAC,CAACoB,IAAI,CAC5C,UAAApB,OAAO,EAAI;QACThC,OAAO,CAACgF,UAAU,CAChBT,GAAG,EACHD,aAAa,EACb,CAAC,CAAC,EACFtC,OAAO,CAAC8B,gBAAgB,EACxBO,eAAe,EACfrC,OAAO,CAACqB,eAAe,EACvB,UAACN,EAAE,EAAEkC,GAAG,EAAK;UACX,IAAI,CAAClC,EAAE,EAAE/C,OAAO,CAACkF,QAAQ,CAAClD,OAAO,EAAEiD,GAAG,CAAC;QACzC,CACF,CAAC;MACH,CAAC,EACD,UAAAd,GAAG,EAAI;QACLnE,OAAO,CAACkF,QAAQ,CAAClD,OAAO,EAAEmC,GAAG,CAAC;MAChC,CACF,CAAC;IACH,CAAC,CAAC;EACJ,CAAC,EACD,UAAAA,GAAG,EAAI;IACL;IACAG,aAAa,CAACO,WAAW,CAAC7E,OAAO,CAACmF,iBAAiB,CAACnD,OAAO,CAACuC,GAAG,EAAEJ,GAAG,CAAC,CAAC;EACxE,CACF,CAAC;EACD,OAAOG,aAAa;AACtB;;AAEA;;AAEA,SAASc,IAAIA,CAAEC,IAAI,EAAE;EACnB,IAAI,CAACA,IAAI,CAACC,QAAQ,EAAE,OAAOD,IAAI,EAAC;EAChC,IAAIA,IAAI,CAACC,QAAQ,CAACC,MAAM,CAACzF,EAAE,CAAC0F,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE;IAC3C,OAAOH,IAAI,CAAC7D,KAAK,KAAK,GAAG;EAC3B;EACA,IACE6D,IAAI,CAACC,QAAQ,CAACC,MAAM,CAACzF,EAAE,CAAC0F,GAAG,CAAC,UAAU,CAAC,CAAC,IACxCH,IAAI,CAACC,QAAQ,CAACC,MAAM,CAACzF,EAAE,CAAC0F,GAAG,CAAC,MAAM,CAAC,CAAC,EACpC;IACA,OAAO,IAAIC,IAAI,CAACJ,IAAI,CAAC7D,KAAK,CAAC;EAC7B;EACA,IACE6D,IAAI,CAACC,QAAQ,CAACC,MAAM,CAACzF,EAAE,CAAC0F,GAAG,CAAC,SAAS,CAAC,CAAC,IACvCH,IAAI,CAACC,QAAQ,CAACC,MAAM,CAACzF,EAAE,CAAC0F,GAAG,CAAC,OAAO,CAAC,CAAC,IACrCH,IAAI,CAACC,QAAQ,CAACC,MAAM,CAACzF,EAAE,CAAC0F,GAAG,CAAC,SAAS,CAAC,CAAC,EACvC;IACA,OAAOE,MAAM,CAACL,IAAI,CAAC7D,KAAK,CAAC;EAC3B;EACA,OAAO6D,IAAI,CAAC7D,KAAK;AACnB;;AAEA;AACA;AACA;AACO,SAASmE,sBAAsBA,CAAE5D,OAAO,EAAEmB,QAAQ,EAAE0C,UAAU,EAAE5D,OAAO,EAAE;EAC9E,OAAO,IAAIC,OAAO,CAAC,UAAUC,OAAO,EAAEC,MAAM,EAAE;IAC5CL,uBAAuB,CAACC,OAAO,EAAEC,OAAO,CAAC,CAACoB,IAAI,CAAC,UAAApB,OAAO,EAAI;MACxD,IAAMI,iBAAiB,GAAGJ,OAAO,CAACI,iBAAiB;MACnD,IAAIJ,OAAO,CAAC0C,EAAE,EAAE;QACd3E,aAAa,CACV0E,mBAAmB,CAAC1C,OAAO,EAAEA,OAAO,CAACU,GAAG,CAAC,CAAC,EAAET,OAAO,CAAC0C,EAAE,CAAC,CACvDtB,IAAI,CAAC,UAAArD,aAAa,EAAI;UACrBkD,sBAAsB,CAACC,QAAQ,EAAElB,OAAO,CAAC,CAACoB,IAAI,CAAC,UAAApB,OAAO,EAAI;YACxD,IAAM6D,OAAO,GAAG,EAAE;YAClB,IAAM/B,gBAAgB,GAAG9B,OAAO,CAAC8B,gBAAgB;YACjD8B,UAAU,CAAC/B,OAAO,CAAC,UAAAiC,IAAI,EAAI;cACzB;cACA,IAAMC,EAAE,GACNzE,EAAE,CAACe,GAAG,CAACtC,aAAa,EAAE+F,IAAI,CAAC,IAC3BxE,EAAE,CAACe,GAAG,CAACD,iBAAiB,EAAE0D,IAAI,CAAC,IAC/BxE,EAAE,CAACe,GAAG,CAACyB,gBAAgB,EAAEgC,IAAI,CAAC;cAChC,IAAIC,EAAE,EAAE;gBACNF,OAAO,CAACC,IAAI,CAACpD,GAAG,CAAC,GAAG0C,IAAI,CAACW,EAAE,CAAC;cAC9B;YACF,CAAC,CAAC;YACF7D,OAAO,CAAC2D,OAAO,CAAC;UAClB,CAAC,EAAE1D,MAAM,CAAC;QACZ,CAAC,EAAEA,MAAM,CAAC;MACd,CAAC,MAAM;QACL;QACA,IAAM0D,OAAO,GAAG,EAAE;QAClBD,UAAU,CAAC/B,OAAO,CAAC,UAAAiC,IAAI,EAAI;UACzB,IAAMC,EAAE,GAAGzE,EAAE,CAACe,GAAG,CAACD,iBAAiB,EAAE0D,IAAI,CAAC;UAC1C,IAAIC,EAAE,EAAE;YACNF,OAAO,CAACC,IAAI,CAACpD,GAAG,CAAC,GAAG0C,IAAI,CAACW,EAAE,CAAC;UAC9B;QACF,CAAC,CAAC;QACF7D,OAAO,CAAC2D,OAAO,CAAC;MAClB;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ;;AAEA"}
package/lib/tabs.js CHANGED
@@ -220,7 +220,7 @@ function tabWidget(options) {
220
220
  var rootElement = dom.createElement('div'); // 20200117a
221
221
 
222
222
  rootElement.setAttribute('style', style.tabsRootElement);
223
- rootElement.style.flexDirection = (vertical ? 'row' : 'column') + (flipped ? '-reverse;' : ';');
223
+ rootElement.style.flexDirection = (vertical ? 'row' : 'column') + (flipped ? '-reverse' : '');
224
224
  var navElement = rootElement.appendChild(dom.createElement('nav'));
225
225
  navElement.setAttribute('style', style.tabsNavElement);
226
226
  var mainElement = rootElement.appendChild(dom.createElement('main'));
package/lib/tabs.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.js","names":["_widgets","require","_utils","style","_interopRequireWildcard","_solidLogic","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","ContainerElement","_HTMLElement","_inherits2","_super","_this","_classCallCheck2","_len","length","args","Array","_key","concat","_defineProperty2","_assertThisInitialized2","_createClass2","_wrapNativeSuper2","HTMLElement","TabWidgetElement","exports","_HTMLElement2","_super2","_this2","_len2","_key2","TabElement","_HTMLElement3","_super3","_this3","_len3","_key3","tabsDefaultBackgroundColor","tabWidget","options","subject","dom","document","orientation","parseInt","backgroundColor","flipped","vertical","onClose","_getColors","getColors","_getColors2","_slicedToArray2","selectedColor","color","bodyMainStyle","rootElement","createElement","setAttribute","tabsRootElement","flexDirection","navElement","appendChild","tabsNavElement","mainElement","tabsMainElement","tabContainer","tabElement","bodyContainer","corners","cornersPrepped","slice","cornersStyle","join","margins","marginsPrepped","marginsStyle","paddingStyle","tabStyle","unselectedStyle","selectedStyle","shownStyle","hiddenStyle","refresh","orderedSync","startEmpty","children","selectedTab","selectedTab0","from","map","tab","firstChild","find","dataset","name","selectedTabURI","uri","selectedTab1","clickMe","click","addCancelButton","onCloseSet","existingCancelButton","querySelector","removeChild","extraTab","classList","add","tabCancelButton","cancelButton","getAttribute","getItems","items","ordered","store","the","predicate","elements","each","makeNewSlot","item","ele","div","onclick","resetTabStyle","resetBodyStyle","bodyTR","bodyMain","getOrCreateContainerElement","renderMain","asSettings","innerHTML","renderTabSettings","ellipsis","textContent","renderTab","label","_ele$bodyTR","newBodyMain","slot","j","left","right","differ","sameTerm","insertables","newSlot","newBodyDiv","insertBefore","contains","isLight","colorBlend","b","mix","ca","cb","res","str","hex","res2","split","h","l","x","total"],"sources":["../src/tabs.ts"],"sourcesContent":["import { cancelButton } from './widgets'\nimport { label } from './utils'\nimport { NamedNode } from 'rdflib'\nimport * as style from './style'\nimport { store } from 'solid-logic'\n\n/**\n * @ignore\n */\nclass ContainerElement extends HTMLElement {\n asSettings?: boolean\n}\n\ntype TabWidgetOptions = {\n backgroundColor?: string;\n dom?: HTMLDocument;\n items?: Array<NamedNode>;\n onClose?: (event: Event) => void;\n ordered?: boolean;\n orientation?: '0' | '1' | '2' | '3';\n predicate?: NamedNode;\n renderMain?: (bodyMain: HTMLElement, subject: NamedNode) => void;\n renderTab?: (tabDiv: HTMLButtonElement, subject: NamedNode) => void;\n renderTabSettings?: (bodyMain: ContainerElement, subject: NamedNode) => void;\n selectedTab?: NamedNode;\n startEmpty?: boolean;\n subject?: NamedNode;\n};\n\nexport class TabWidgetElement extends HTMLElement {\n bodyContainer?: HTMLElement\n refresh?: () => void\n tabContainer?: HTMLElement\n}\n\n/**\n * @ignore\n */\nclass TabElement extends HTMLElement {\n bodyTR?: HTMLElement\n subject?: NamedNode\n}\n\n/**\n * Use this widget to generate tabs from triples set in the global store.\n *\n * [Here you can see examples of the tabs](https://solidos.github.io/solid-ui/examples/tabs/).\n *\n * It assumes that items to use for tabs will be in a collection by default,\n * e.g.:\n *\n * ```turtle\n * :subject :predicate ( :item1 :item2 ) .\n * ```\n *\n * You can override this by setting `ordered: false`, in which case it expects\n * unordered triples:\n *\n * ```turtle\n * :subject :predicate :item1, :item 2 .\n * ```\n *\n * Triples that are not ordered in collection are in principle not sorted,\n * which means that tabs could change order every time you render the widget.\n * But in this case the widget will try to sort it in order to keep it\n * consistent.\n *\n * In both of these cases you need to define options `subject` and `predicate`\n * to tell the widget which triples it should be looking for.\n *\n * Finally you can set items manually, using the `items` option, e.g.:\n *\n * ```javascript\n * {\n * items: [\n * namedNode('https://domain.tld/#item1'),\n * namedNode('https://domain.tld/#item2')\n * ]\n * }\n * ```\n *\n * When you set items manually you do not need to set `subject` and\n * `predicate`.\n *\n * In any case you probably want to set the renderMain option to specify\n * what should be rendered for the various items, e.g.:\n *\n * ```javascript\n * {\n * renderMain: (bodyMain, subject) => {\n * bodyMain.innerHTML = renderItem(subject)\n * }\n * }\n * ```\n *\n * **Note:** `renderItem` is a custom function that you need to define yourself.\n *\n * The option `renderTabSettings` allows you to render a custom view in the\n * body container that is shown when you hold the ALT key and click on a\n * tab. It works very much like the `renderMain` option:\n *\n * ```javascript\n * {\n * renderTabSettings: (bodyMain, subject) => {\n * bodyMain.innerHTML = renderTabSettings(subject)\n * }\n * }\n * ```\n *\n * **Note:** `renderTabSettings` is a custom function that you need to define\n * yourself.\n *\n * By default the widget will try to guess the label by using the\n * [[utils.label]] function. If you want to customize this yourself, you can\n * use the `renderTab` option:\n *\n * ```javascript\n * {\n * renderTab: (tabDiv, subject) => {\n * tabDiv.innerText = renderTabText(subject)\n * }\n * }\n * ```\n *\n * **Note:** `renderTabText` is a custom function you need to define yourself.\n *\n * The option renderTab is also important if you want to set which tab should\n * be selected once the widget is rendered. By default it will simply select\n * the first tab, but you can override by setting `dataset.name` on the tab\n * and referring to the same string in `selectedTab`:\n *\n * ```javascript\n * {\n * renderTab: (tabDiv, subject) => {\n * tabDiv.dataset.name = subject.uri\n * },\n * selectedTab: item2.uri\n * }\n * ```\n *\n * You can apply a color to use for tabs and border of the container by using\n * option `background-color`. This is #ddddcc by default.\n *\n * You can override the document object that the widget uses to generate DOM\n * elements by setting the option `dom`. This is encouraged to set if you\n * intend your functionality to be used in environments that don't provide\n * a global `document` object.\n *\n * If you want to render a close button next to the tabs you can set option\n * `onClose` which takes a callback function that is triggered when the\n * button is clicked:\n *\n * ```javascript\n * {\n * onClose: (event) => {\n * // do something that hides the widget altogether\n * }\n * }\n * ```\n *\n * The option `orientation` allows you to set which side the tabs should be\n * located: `'0'` = Top, `'1'` = Left, `'2'` = Bottom, `'3'` = Right\n *\n * If you don't want to render anything in the body container by default,\n * you can set the option `startEmpty` to `true`.\n *\n * @param options\n */\nconst tabsDefaultBackgroundColor = '#ddddcc'\n\nexport function tabWidget (options: TabWidgetOptions) {\n const subject = options.subject\n const dom = options.dom || document\n const orientation = parseInt(options.orientation || '0')\n const backgroundColor = options.backgroundColor || tabsDefaultBackgroundColor\n const flipped = orientation & 2\n const vertical = orientation & 1\n const onClose = options.onClose\n\n const [selectedColor, color] = getColors(backgroundColor)\n const bodyMainStyle = `flex: 2; width: auto; height: 100%; border: 0.1em; border-style: solid; border-color: ${selectedColor}; padding: 1em;`\n const rootElement: TabWidgetElement = dom.createElement('div') // 20200117a\n\n rootElement.setAttribute('style', style.tabsRootElement)\n rootElement.style.flexDirection = (vertical ? 'row' : 'column') + (flipped ? '-reverse;' : ';')\n\n const navElement = rootElement.appendChild(dom.createElement('nav'))\n navElement.setAttribute('style', style.tabsNavElement)\n\n const mainElement = rootElement.appendChild(dom.createElement('main'))\n\n mainElement.setAttribute('style', style.tabsMainElement) // override tabbedtab.css\n const tabContainer = navElement.appendChild(dom.createElement('ul'))\n tabContainer.setAttribute('style', style.tabContainer)\n tabContainer.style.flexDirection = `${vertical ? 'column' : 'row'}`\n\n const tabElement = 'li'\n\n const bodyContainer = mainElement\n rootElement.tabContainer = tabContainer\n rootElement.bodyContainer = bodyContainer\n\n const corners = ['0.2em', '0.2em', '0', '0'] // top left, TR, BR, BL\n const cornersPrepped = corners.concat(corners).slice(orientation, orientation + 4)\n const cornersStyle = `border-radius: ${cornersPrepped.join(' ')};`\n\n const margins = ['0.3em', '0.3em', '0', '0.3em'] // top, right, bottom, left\n const marginsPrepped = margins.concat(margins).slice(orientation, orientation + 4)\n const marginsStyle = `margin: ${marginsPrepped.join(' ')};`\n\n const paddingStyle = `padding: ${marginsPrepped.join(' ')};`\n\n const tabStyle = cornersStyle + `position: relative; padding: 0.7em; max-width: 20em; color: ${color};`\n const unselectedStyle = `${\n tabStyle + marginsStyle\n } opacity: 50%; background-color: ${backgroundColor};`\n const selectedStyle = `${tabStyle + marginsStyle} background-color: ${selectedColor};`\n const shownStyle = 'height: 100%; width: 100%;'\n const hiddenStyle = shownStyle + 'display: none;'\n rootElement.refresh = orderedSync\n orderedSync()\n\n if (!options.startEmpty && tabContainer.children.length && options.selectedTab) {\n const selectedTab0 = Array.from(tabContainer.children) // Version left for compatibility with ??\n .map((tab) => tab.firstChild as HTMLElement)\n .find((tab) => tab.dataset.name === options.selectedTab)\n\n const selectedTabURI = options.selectedTab.uri\n const selectedTab1 = Array.from(tabContainer.children)\n // @ts-ignore\n .find(\n (tab) =>\n (tab as TabElement).subject &&\n // @ts-ignore\n (tab as TabElement).subject.uri &&\n // @ts-ignore\n (tab as TabElement).subject.uri === selectedTabURI\n )\n\n const tab = selectedTab1 || selectedTab0 || (tabContainer.children[0] as HTMLButtonElement)\n const clickMe = tab.firstChild\n // @ts-ignore\n if (clickMe) clickMe.click()\n } else if (!options.startEmpty) {\n (tabContainer.children[0].firstChild as HTMLButtonElement).click() // Open first tab\n }\n return rootElement\n\n function addCancelButton (tabContainer) {\n if (tabContainer.dataset.onCloseSet) {\n // @@ TODO: this is only here to make the browser tests work\n // Discussion at https://github.com/solidos/solid-ui/pull/110#issuecomment-527080663\n const existingCancelButton = tabContainer.querySelector('.unstyled')\n tabContainer.removeChild(existingCancelButton)\n }\n const extraTab = dom.createElement(tabElement)\n extraTab.classList.add('unstyled')\n const tabCancelButton = cancelButton(dom, onClose)\n tabCancelButton.setAttribute('style', tabCancelButton.getAttribute('style') + paddingStyle)\n extraTab.appendChild(tabCancelButton)\n tabContainer.appendChild(extraTab)\n tabContainer.dataset.onCloseSet = 'true'\n }\n\n function getItems (): Array<NamedNode> {\n if (options.items) return options.items\n if (options.ordered !== false) {\n // options.ordered defaults to true\n return (store.the(subject, options.predicate) as any).elements\n } else {\n return store.each(subject, options.predicate) as any\n }\n }\n\n function makeNewSlot (item: NamedNode) {\n const ele = dom.createElement(tabElement) as TabElement\n ele.setAttribute('style', unselectedStyle)\n ele.subject = item\n const div = ele.appendChild(dom.createElement('button'))\n div.setAttribute('style', style.makeNewSlot)\n\n div.onclick = function () {\n resetTabStyle()\n resetBodyStyle()\n ele.setAttribute('style', selectedStyle)\n if (!ele.bodyTR) return\n ele.bodyTR.setAttribute('style', shownStyle)\n const bodyMain = getOrCreateContainerElement(ele)\n if (options.renderMain && ele.subject && bodyMain.asSettings !== false) {\n bodyMain.innerHTML = 'loading item ...' + item\n options.renderMain(bodyMain, ele.subject)\n bodyMain.asSettings = false\n }\n }\n\n if (options.renderTabSettings && ele.subject) {\n const ellipsis = dom.createElement('button')\n ellipsis.textContent = '...'\n ellipsis.setAttribute('style', style.ellipsis)\n\n ellipsis.onclick = function () {\n resetTabStyle()\n resetBodyStyle()\n ele.setAttribute('style', selectedStyle)\n if (!ele.bodyTR) return\n ele.bodyTR.setAttribute('style', shownStyle)\n const bodyMain = getOrCreateContainerElement(ele)\n if (options.renderTabSettings && ele.subject && bodyMain.asSettings !== true) {\n bodyMain.innerHTML = 'loading settings ...' + item\n options.renderTabSettings(bodyMain, ele.subject)\n bodyMain.asSettings = true\n }\n }\n ele.appendChild(ellipsis)\n }\n\n if (options.renderTab) {\n options.renderTab(div, item)\n } else {\n div.innerHTML = label(item)\n }\n return ele\n\n function getOrCreateContainerElement (ele: TabElement): ContainerElement {\n const bodyMain = ele.bodyTR?.children[0] as ContainerElement\n if (bodyMain) return bodyMain\n const newBodyMain = ele.bodyTR!.appendChild(dom.createElement('main'))\n newBodyMain.setAttribute('style', bodyMainStyle)\n return newBodyMain\n }\n }\n\n // @@ Use common one from utils?\n function orderedSync () {\n const items = getItems()\n let slot: TabElement, i, j, left, right\n let differ = false\n // Find how many match at each end\n for (left = 0; left < tabContainer.children.length; left++) {\n slot = tabContainer.children[left] as TabElement\n if (left >= items.length || (slot.subject && !slot.subject.sameTerm(items[left]))) {\n differ = true\n break\n }\n }\n if (!differ && items.length === tabContainer.children.length) {\n return // The two just match in order: a case to optimize for\n }\n for (right = tabContainer.children.length - 1; right >= 0; right--) {\n slot = tabContainer.children[right] as TabElement\n j = right - tabContainer.children.length + items.length\n if (slot.subject && !slot.subject.sameTerm(items[j])) {\n break\n }\n }\n // The elements left ... right in tabContainer.children do not match\n const insertables = items.slice(left, right - tabContainer.children.length + items.length + 1)\n while (right >= left) {\n // remove extra\n tabContainer.removeChild(tabContainer.children[left])\n bodyContainer.removeChild(bodyContainer.children[left])\n right -= 1\n }\n for (i = 0; i < insertables.length; i++) {\n const newSlot = makeNewSlot(insertables[i])\n const newBodyDiv = dom.createElement('div')\n newSlot.bodyTR = newBodyDiv\n if (left === tabContainer.children.length) {\n // None left of original on right\n tabContainer.appendChild(newSlot)\n bodyContainer.appendChild(newBodyDiv)\n } else {\n tabContainer.insertBefore(newSlot, tabContainer.children[left + i])\n bodyContainer.insertBefore(newBodyDiv, bodyContainer.children[left + i])\n }\n }\n if (onClose) {\n addCancelButton(tabContainer)\n }\n }\n\n function resetTabStyle () {\n for (let i = 0; i < tabContainer.children.length; i++) {\n const tab = tabContainer.children[i]\n if (tab.classList.contains('unstyled')) {\n continue\n } else {\n tab.setAttribute('style', unselectedStyle)\n }\n }\n }\n\n function resetBodyStyle () {\n for (let i = 0; i < bodyContainer.children.length; i++) {\n bodyContainer.children[i].setAttribute('style', hiddenStyle)\n }\n }\n}\n\n/**\n * @internal\n */\nfunction getColors (backgroundColor: string): [string, string] {\n return isLight(backgroundColor)\n ? [colorBlend(backgroundColor, '#ffffff', 0.3), '#000000']\n : [colorBlend(backgroundColor, '#000000', 0.3), '#ffffff']\n}\n\n/**\n * @internal\n */\nfunction colorBlend (a: string, b: string, mix: number): string {\n let ca, cb, res\n let str = '#'\n const hex = '0123456789abcdef'\n for (let i = 0; i < 3; i++) {\n ca = parseInt(a.slice(i * 2 + 1, i * 2 + 3), 16)\n cb = parseInt(b.slice(i * 2 + 1, i * 2 + 3), 16)\n res = ca * (1.0 - mix) + cb * mix // @@@ rounding\n const res2 = parseInt(('' + res).split('.')[0]) // @@ ugh\n const h = parseInt(('' + res2 / 16).split('.')[0]) // @@ ugh\n const l = parseInt(('' + (res2 % 16)).split('.')[0]) // @@ ugh\n str += hex[h] + hex[l]\n }\n return str\n}\n\n/**\n * @internal\n */\nfunction isLight (x: string): boolean {\n let total = 0\n for (let i = 0; i < 3; i++) {\n total += parseInt(x.slice(i * 2 + 1, i * 2 + 3), 16)\n }\n return total > 128 * 3\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"tabs.js","names":["_widgets","require","_utils","style","_interopRequireWildcard","_solidLogic","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","ContainerElement","_HTMLElement","_inherits2","_super","_this","_classCallCheck2","_len","length","args","Array","_key","concat","_defineProperty2","_assertThisInitialized2","_createClass2","_wrapNativeSuper2","HTMLElement","TabWidgetElement","exports","_HTMLElement2","_super2","_this2","_len2","_key2","TabElement","_HTMLElement3","_super3","_this3","_len3","_key3","tabsDefaultBackgroundColor","tabWidget","options","subject","dom","document","orientation","parseInt","backgroundColor","flipped","vertical","onClose","_getColors","getColors","_getColors2","_slicedToArray2","selectedColor","color","bodyMainStyle","rootElement","createElement","setAttribute","tabsRootElement","flexDirection","navElement","appendChild","tabsNavElement","mainElement","tabsMainElement","tabContainer","tabElement","bodyContainer","corners","cornersPrepped","slice","cornersStyle","join","margins","marginsPrepped","marginsStyle","paddingStyle","tabStyle","unselectedStyle","selectedStyle","shownStyle","hiddenStyle","refresh","orderedSync","startEmpty","children","selectedTab","selectedTab0","from","map","tab","firstChild","find","dataset","name","selectedTabURI","uri","selectedTab1","clickMe","click","addCancelButton","onCloseSet","existingCancelButton","querySelector","removeChild","extraTab","classList","add","tabCancelButton","cancelButton","getAttribute","getItems","items","ordered","store","the","predicate","elements","each","makeNewSlot","item","ele","div","onclick","resetTabStyle","resetBodyStyle","bodyTR","bodyMain","getOrCreateContainerElement","renderMain","asSettings","innerHTML","renderTabSettings","ellipsis","textContent","renderTab","label","_ele$bodyTR","newBodyMain","slot","j","left","right","differ","sameTerm","insertables","newSlot","newBodyDiv","insertBefore","contains","isLight","colorBlend","b","mix","ca","cb","res","str","hex","res2","split","h","l","x","total"],"sources":["../src/tabs.ts"],"sourcesContent":["import { cancelButton } from './widgets'\nimport { label } from './utils'\nimport { NamedNode } from 'rdflib'\nimport * as style from './style'\nimport { store } from 'solid-logic'\n\n/**\n * @ignore\n */\nclass ContainerElement extends HTMLElement {\n asSettings?: boolean\n}\n\ntype TabWidgetOptions = {\n backgroundColor?: string;\n dom?: HTMLDocument;\n items?: Array<NamedNode>;\n onClose?: (event: Event) => void;\n ordered?: boolean;\n orientation?: '0' | '1' | '2' | '3';\n predicate?: NamedNode;\n renderMain?: (bodyMain: HTMLElement, subject: NamedNode) => void;\n renderTab?: (tabDiv: HTMLButtonElement, subject: NamedNode) => void;\n renderTabSettings?: (bodyMain: ContainerElement, subject: NamedNode) => void;\n selectedTab?: NamedNode;\n startEmpty?: boolean;\n subject?: NamedNode;\n};\n\nexport class TabWidgetElement extends HTMLElement {\n bodyContainer?: HTMLElement\n refresh?: () => void\n tabContainer?: HTMLElement\n}\n\n/**\n * @ignore\n */\nclass TabElement extends HTMLElement {\n bodyTR?: HTMLElement\n subject?: NamedNode\n}\n\n/**\n * Use this widget to generate tabs from triples set in the global store.\n *\n * [Here you can see examples of the tabs](https://solidos.github.io/solid-ui/examples/tabs/).\n *\n * It assumes that items to use for tabs will be in a collection by default,\n * e.g.:\n *\n * ```turtle\n * :subject :predicate ( :item1 :item2 ) .\n * ```\n *\n * You can override this by setting `ordered: false`, in which case it expects\n * unordered triples:\n *\n * ```turtle\n * :subject :predicate :item1, :item 2 .\n * ```\n *\n * Triples that are not ordered in collection are in principle not sorted,\n * which means that tabs could change order every time you render the widget.\n * But in this case the widget will try to sort it in order to keep it\n * consistent.\n *\n * In both of these cases you need to define options `subject` and `predicate`\n * to tell the widget which triples it should be looking for.\n *\n * Finally you can set items manually, using the `items` option, e.g.:\n *\n * ```javascript\n * {\n * items: [\n * namedNode('https://domain.tld/#item1'),\n * namedNode('https://domain.tld/#item2')\n * ]\n * }\n * ```\n *\n * When you set items manually you do not need to set `subject` and\n * `predicate`.\n *\n * In any case you probably want to set the renderMain option to specify\n * what should be rendered for the various items, e.g.:\n *\n * ```javascript\n * {\n * renderMain: (bodyMain, subject) => {\n * bodyMain.innerHTML = renderItem(subject)\n * }\n * }\n * ```\n *\n * **Note:** `renderItem` is a custom function that you need to define yourself.\n *\n * The option `renderTabSettings` allows you to render a custom view in the\n * body container that is shown when you hold the ALT key and click on a\n * tab. It works very much like the `renderMain` option:\n *\n * ```javascript\n * {\n * renderTabSettings: (bodyMain, subject) => {\n * bodyMain.innerHTML = renderTabSettings(subject)\n * }\n * }\n * ```\n *\n * **Note:** `renderTabSettings` is a custom function that you need to define\n * yourself.\n *\n * By default the widget will try to guess the label by using the\n * [[utils.label]] function. If you want to customize this yourself, you can\n * use the `renderTab` option:\n *\n * ```javascript\n * {\n * renderTab: (tabDiv, subject) => {\n * tabDiv.innerText = renderTabText(subject)\n * }\n * }\n * ```\n *\n * **Note:** `renderTabText` is a custom function you need to define yourself.\n *\n * The option renderTab is also important if you want to set which tab should\n * be selected once the widget is rendered. By default it will simply select\n * the first tab, but you can override by setting `dataset.name` on the tab\n * and referring to the same string in `selectedTab`:\n *\n * ```javascript\n * {\n * renderTab: (tabDiv, subject) => {\n * tabDiv.dataset.name = subject.uri\n * },\n * selectedTab: item2.uri\n * }\n * ```\n *\n * You can apply a color to use for tabs and border of the container by using\n * option `background-color`. This is #ddddcc by default.\n *\n * You can override the document object that the widget uses to generate DOM\n * elements by setting the option `dom`. This is encouraged to set if you\n * intend your functionality to be used in environments that don't provide\n * a global `document` object.\n *\n * If you want to render a close button next to the tabs you can set option\n * `onClose` which takes a callback function that is triggered when the\n * button is clicked:\n *\n * ```javascript\n * {\n * onClose: (event) => {\n * // do something that hides the widget altogether\n * }\n * }\n * ```\n *\n * The option `orientation` allows you to set which side the tabs should be\n * located: `'0'` = Top, `'1'` = Left, `'2'` = Bottom, `'3'` = Right\n *\n * If you don't want to render anything in the body container by default,\n * you can set the option `startEmpty` to `true`.\n *\n * @param options\n */\nconst tabsDefaultBackgroundColor = '#ddddcc'\n\nexport function tabWidget (options: TabWidgetOptions) {\n const subject = options.subject\n const dom = options.dom || document\n const orientation = parseInt(options.orientation || '0')\n const backgroundColor = options.backgroundColor || tabsDefaultBackgroundColor\n const flipped = orientation & 2\n const vertical = orientation & 1\n const onClose = options.onClose\n\n const [selectedColor, color] = getColors(backgroundColor)\n const bodyMainStyle = `flex: 2; width: auto; height: 100%; border: 0.1em; border-style: solid; border-color: ${selectedColor}; padding: 1em;`\n const rootElement: TabWidgetElement = dom.createElement('div') // 20200117a\n\n rootElement.setAttribute('style', style.tabsRootElement)\n rootElement.style.flexDirection = (vertical ? 'row' : 'column') + (flipped ? '-reverse' : '')\n\n const navElement = rootElement.appendChild(dom.createElement('nav'))\n navElement.setAttribute('style', style.tabsNavElement)\n\n const mainElement = rootElement.appendChild(dom.createElement('main'))\n\n mainElement.setAttribute('style', style.tabsMainElement) // override tabbedtab.css\n const tabContainer = navElement.appendChild(dom.createElement('ul'))\n tabContainer.setAttribute('style', style.tabContainer)\n tabContainer.style.flexDirection = `${vertical ? 'column' : 'row'}`\n\n const tabElement = 'li'\n\n const bodyContainer = mainElement\n rootElement.tabContainer = tabContainer\n rootElement.bodyContainer = bodyContainer\n\n const corners = ['0.2em', '0.2em', '0', '0'] // top left, TR, BR, BL\n const cornersPrepped = corners.concat(corners).slice(orientation, orientation + 4)\n const cornersStyle = `border-radius: ${cornersPrepped.join(' ')};`\n\n const margins = ['0.3em', '0.3em', '0', '0.3em'] // top, right, bottom, left\n const marginsPrepped = margins.concat(margins).slice(orientation, orientation + 4)\n const marginsStyle = `margin: ${marginsPrepped.join(' ')};`\n\n const paddingStyle = `padding: ${marginsPrepped.join(' ')};`\n\n const tabStyle = cornersStyle + `position: relative; padding: 0.7em; max-width: 20em; color: ${color};`\n const unselectedStyle = `${\n tabStyle + marginsStyle\n } opacity: 50%; background-color: ${backgroundColor};`\n const selectedStyle = `${tabStyle + marginsStyle} background-color: ${selectedColor};`\n const shownStyle = 'height: 100%; width: 100%;'\n const hiddenStyle = shownStyle + 'display: none;'\n rootElement.refresh = orderedSync\n orderedSync()\n\n if (!options.startEmpty && tabContainer.children.length && options.selectedTab) {\n const selectedTab0 = Array.from(tabContainer.children) // Version left for compatibility with ??\n .map((tab) => tab.firstChild as HTMLElement)\n .find((tab) => tab.dataset.name === options.selectedTab)\n\n const selectedTabURI = options.selectedTab.uri\n const selectedTab1 = Array.from(tabContainer.children)\n // @ts-ignore\n .find(\n (tab) =>\n (tab as TabElement).subject &&\n // @ts-ignore\n (tab as TabElement).subject.uri &&\n // @ts-ignore\n (tab as TabElement).subject.uri === selectedTabURI\n )\n\n const tab = selectedTab1 || selectedTab0 || (tabContainer.children[0] as HTMLButtonElement)\n const clickMe = tab.firstChild\n // @ts-ignore\n if (clickMe) clickMe.click()\n } else if (!options.startEmpty) {\n (tabContainer.children[0].firstChild as HTMLButtonElement).click() // Open first tab\n }\n return rootElement\n\n function addCancelButton (tabContainer) {\n if (tabContainer.dataset.onCloseSet) {\n // @@ TODO: this is only here to make the browser tests work\n // Discussion at https://github.com/solidos/solid-ui/pull/110#issuecomment-527080663\n const existingCancelButton = tabContainer.querySelector('.unstyled')\n tabContainer.removeChild(existingCancelButton)\n }\n const extraTab = dom.createElement(tabElement)\n extraTab.classList.add('unstyled')\n const tabCancelButton = cancelButton(dom, onClose)\n tabCancelButton.setAttribute('style', tabCancelButton.getAttribute('style') + paddingStyle)\n extraTab.appendChild(tabCancelButton)\n tabContainer.appendChild(extraTab)\n tabContainer.dataset.onCloseSet = 'true'\n }\n\n function getItems (): Array<NamedNode> {\n if (options.items) return options.items\n if (options.ordered !== false) {\n // options.ordered defaults to true\n return (store.the(subject, options.predicate) as any).elements\n } else {\n return store.each(subject, options.predicate) as any\n }\n }\n\n function makeNewSlot (item: NamedNode) {\n const ele = dom.createElement(tabElement) as TabElement\n ele.setAttribute('style', unselectedStyle)\n ele.subject = item\n const div = ele.appendChild(dom.createElement('button'))\n div.setAttribute('style', style.makeNewSlot)\n\n div.onclick = function () {\n resetTabStyle()\n resetBodyStyle()\n ele.setAttribute('style', selectedStyle)\n if (!ele.bodyTR) return\n ele.bodyTR.setAttribute('style', shownStyle)\n const bodyMain = getOrCreateContainerElement(ele)\n if (options.renderMain && ele.subject && bodyMain.asSettings !== false) {\n bodyMain.innerHTML = 'loading item ...' + item\n options.renderMain(bodyMain, ele.subject)\n bodyMain.asSettings = false\n }\n }\n\n if (options.renderTabSettings && ele.subject) {\n const ellipsis = dom.createElement('button')\n ellipsis.textContent = '...'\n ellipsis.setAttribute('style', style.ellipsis)\n\n ellipsis.onclick = function () {\n resetTabStyle()\n resetBodyStyle()\n ele.setAttribute('style', selectedStyle)\n if (!ele.bodyTR) return\n ele.bodyTR.setAttribute('style', shownStyle)\n const bodyMain = getOrCreateContainerElement(ele)\n if (options.renderTabSettings && ele.subject && bodyMain.asSettings !== true) {\n bodyMain.innerHTML = 'loading settings ...' + item\n options.renderTabSettings(bodyMain, ele.subject)\n bodyMain.asSettings = true\n }\n }\n ele.appendChild(ellipsis)\n }\n\n if (options.renderTab) {\n options.renderTab(div, item)\n } else {\n div.innerHTML = label(item)\n }\n return ele\n\n function getOrCreateContainerElement (ele: TabElement): ContainerElement {\n const bodyMain = ele.bodyTR?.children[0] as ContainerElement\n if (bodyMain) return bodyMain\n const newBodyMain = ele.bodyTR!.appendChild(dom.createElement('main'))\n newBodyMain.setAttribute('style', bodyMainStyle)\n return newBodyMain\n }\n }\n\n // @@ Use common one from utils?\n function orderedSync () {\n const items = getItems()\n let slot: TabElement, i, j, left, right\n let differ = false\n // Find how many match at each end\n for (left = 0; left < tabContainer.children.length; left++) {\n slot = tabContainer.children[left] as TabElement\n if (left >= items.length || (slot.subject && !slot.subject.sameTerm(items[left]))) {\n differ = true\n break\n }\n }\n if (!differ && items.length === tabContainer.children.length) {\n return // The two just match in order: a case to optimize for\n }\n for (right = tabContainer.children.length - 1; right >= 0; right--) {\n slot = tabContainer.children[right] as TabElement\n j = right - tabContainer.children.length + items.length\n if (slot.subject && !slot.subject.sameTerm(items[j])) {\n break\n }\n }\n // The elements left ... right in tabContainer.children do not match\n const insertables = items.slice(left, right - tabContainer.children.length + items.length + 1)\n while (right >= left) {\n // remove extra\n tabContainer.removeChild(tabContainer.children[left])\n bodyContainer.removeChild(bodyContainer.children[left])\n right -= 1\n }\n for (i = 0; i < insertables.length; i++) {\n const newSlot = makeNewSlot(insertables[i])\n const newBodyDiv = dom.createElement('div')\n newSlot.bodyTR = newBodyDiv\n if (left === tabContainer.children.length) {\n // None left of original on right\n tabContainer.appendChild(newSlot)\n bodyContainer.appendChild(newBodyDiv)\n } else {\n tabContainer.insertBefore(newSlot, tabContainer.children[left + i])\n bodyContainer.insertBefore(newBodyDiv, bodyContainer.children[left + i])\n }\n }\n if (onClose) {\n addCancelButton(tabContainer)\n }\n }\n\n function resetTabStyle () {\n for (let i = 0; i < tabContainer.children.length; i++) {\n const tab = tabContainer.children[i]\n if (tab.classList.contains('unstyled')) {\n continue\n } else {\n tab.setAttribute('style', unselectedStyle)\n }\n }\n }\n\n function resetBodyStyle () {\n for (let i = 0; i < bodyContainer.children.length; i++) {\n bodyContainer.children[i].setAttribute('style', hiddenStyle)\n }\n }\n}\n\n/**\n * @internal\n */\nfunction getColors (backgroundColor: string): [string, string] {\n return isLight(backgroundColor)\n ? [colorBlend(backgroundColor, '#ffffff', 0.3), '#000000']\n : [colorBlend(backgroundColor, '#000000', 0.3), '#ffffff']\n}\n\n/**\n * @internal\n */\nfunction colorBlend (a: string, b: string, mix: number): string {\n let ca, cb, res\n let str = '#'\n const hex = '0123456789abcdef'\n for (let i = 0; i < 3; i++) {\n ca = parseInt(a.slice(i * 2 + 1, i * 2 + 3), 16)\n cb = parseInt(b.slice(i * 2 + 1, i * 2 + 3), 16)\n res = ca * (1.0 - mix) + cb * mix // @@@ rounding\n const res2 = parseInt(('' + res).split('.')[0]) // @@ ugh\n const h = parseInt(('' + res2 / 16).split('.')[0]) // @@ ugh\n const l = parseInt(('' + (res2 % 16)).split('.')[0]) // @@ ugh\n str += hex[h] + hex[l]\n }\n return str\n}\n\n/**\n * @internal\n */\nfunction isLight (x: string): boolean {\n let total = 0\n for (let i = 0; i < 3; i++) {\n total += parseInt(x.slice(i * 2 + 1, i * 2 + 3), 16)\n }\n return total > 128 * 3\n}\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { NamedNode } from 'rdflib';
2
- export declare const pubKeyUrl: (webId: NamedNode) => any;
3
- export declare const privKeyUrl: (webId: NamedNode) => any;
2
+ export declare const pubKeyUrl: (webId: NamedNode) => Promise<string>;
4
3
  export declare function getExistingPublicKey(webId: NamedNode, publicKeyUrl: string): Promise<string | undefined>;
4
+ export declare const privKeyUrl: (webId: NamedNode) => Promise<string>;
5
5
  export declare function getExistingPrivateKey(webId: NamedNode, privateKeyUrl: string): Promise<string | undefined>;
6
6
  type KeyType = 'publicKey' | 'privateKey';
7
7
  export declare function getKeyIfExists(webId: NamedNode, keyUrl: string, keyType: KeyType): Promise<string | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"accessData.d.ts","sourceRoot":"","sources":["../../../src/utils/keyHelpers/accessData.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAGlC,eAAO,MAAM,SAAS,UAAW,SAAS,QASzC,CAAA;AAED,eAAO,MAAM,UAAU,UAAW,SAAS,QAS1C,CAAA;AAED,wBAAsB,oBAAoB,CAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,+BAGjF;AAED,wBAAsB,qBAAqB,CAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,+BAGnF;AAED,KAAK,OAAO,GAAG,WAAW,GAAG,YAAY,CAAA;AAEzC,wBAAsB,cAAc,CAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,+BA2BvF"}
1
+ {"version":3,"file":"accessData.d.ts","sourceRoot":"","sources":["../../../src/utils/keyHelpers/accessData.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AA2BlC,eAAO,MAAM,SAAS,UAAiB,SAAS,oBAQ/C,CAAA;AAED,wBAAsB,oBAAoB,CAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,+BAGjF;AAED,eAAO,MAAM,UAAU,UAAiB,SAAS,oBAUhD,CAAA;AAED,wBAAsB,qBAAqB,CAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,+BAGnF;AAED,KAAK,OAAO,GAAG,WAAW,GAAG,YAAY,CAAA;AAEzC,wBAAsB,cAAc,CAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,+BA2BvF"}