solid-ui 2.4.27-2ebac088 → 2.4.27-2f08a162
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/670.solid-ui.min.js +1 -0
- package/dist/805.solid-ui.min.js +3 -0
- package/dist/805.solid-ui.min.js.LICENSE.txt +58 -0
- package/dist/805.solid-ui.min.js.map +1 -0
- package/dist/_2b19.solid-ui.js +14 -0
- package/dist/_2b19.solid-ui.js.map +1 -0
- package/dist/solid-ui.js +3542 -15460
- package/dist/solid-ui.js.map +1 -1
- package/dist/solid-ui.min.js +1 -1
- package/dist/solid-ui.min.js.LICENSE.txt +0 -59
- package/dist/solid-ui.min.js.map +1 -1
- package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js +12134 -0
- package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js.map +1 -0
- package/lib/chat/bookmarks.js +7 -6
- package/lib/chat/bookmarks.js.map +1 -1
- package/lib/chat/chatLogic.js +61 -250
- package/lib/chat/chatLogic.js.map +1 -1
- package/lib/chat/infinite.js +426 -604
- package/lib/chat/infinite.js.map +1 -1
- package/lib/chat/message.js +158 -286
- package/lib/chat/message.js.map +1 -1
- package/lib/chat/messageTools.js +276 -464
- package/lib/chat/messageTools.js.map +1 -1
- package/lib/chat/thread.js +144 -166
- package/lib/chat/thread.js.map +1 -1
- package/lib/preferences.js +0 -4
- package/lib/preferences.js.map +1 -1
- package/lib/versionInfo.js +2 -2
- package/lib/versionInfo.js.map +1 -1
- package/package.json +6 -6
package/lib/chat/thread.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thread.js","names":["_iconBase","require","_solidLogic","_index","ns","_interopRequireWildcard","login","pad","$rdf","style","utils","widgets","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","UI","icons","media","thread","dom","kb","subject","messageStore","options","store","doc","WF","Namespace","DCT","newestFirst","messageBodyStyle","div","createElement","messageTable","me","updater","anchor","text","term","a","uri","setAttribute","addEventListener","openHrefInOutlineMode","textContent","mention","message","pre","appendChild","createTextNode","announce","log","warn","error","newMessageForm","form","lhs","middle","rhs","AJAR_date","sendMessage","_ref","_asyncToGenerator2","_regenerator","mark","_callee","_yield$appendMsg","dateStamp","sts","sendComplete","wrap","_callee$","_context","prev","next","field","disabled","appendMsg","value","sent","success","body","errorMessageBlock","bindings","literal","renderMessage","update","stop","apply","arguments","sendButton","turnOnInput","creatorAndDate","innerHTML","rows","_ref2","_callee2","e","_callee2$","_context2","keyCode","altKey","_x","button","iconBase","buttonStyle","context","ensureLoggedIn","then","_ref3","fieldValue","oldMsg","length","undefined","_callee3","now","timestamp","msgBody","_callee3$","_context3","Date","getTime","sym","t0","t1","Statement","mostRecentVersion","t2","t3","t4","t5","t6","push","wf","concat","nick","sioc","foaf","abrupt","_x2","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","_ref4","_callee4","deletions","_callee4$","_context4","connectedStatements","ok","_x3","fresh","content","dateString","tr","done","insertBefore","shortDate","td2","td3","delButton","_event","cancelButton","sureButton","_ref5","_callee5","_yield$appendMsg2","_callee5$","_context5","_x4","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 = 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 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 // 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 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 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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"}
|
|
1
|
+
{"version":3,"file":"thread.js","names":["_iconBase","require","_solidLogic","_index","ns","_interopRequireWildcard","login","pad","$rdf","style","utils","widgets","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","UI","icons","media","thread","dom","kb","subject","messageStore","options","store","doc","WF","Namespace","DCT","newestFirst","messageBodyStyle","div","createElement","messageTable","me","updater","anchor","text","term","a","uri","setAttribute","addEventListener","openHrefInOutlineMode","textContent","mention","message","pre","appendChild","createTextNode","announce","log","warn","error","newMessageForm","form","lhs","middle","rhs","AJAR_date","sendMessage","field","disabled","_appendMsg","appendMsg","value","dateStamp","sts","sendComplete","success","body","errorMessageBlock","bindings","literal","renderMessage","update","sendButton","turnOnInput","creatorAndDate","innerHTML","rows","e","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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"}
|
package/lib/preferences.js
CHANGED
|
@@ -59,10 +59,6 @@ function recordSharedPreferences(subject, context) {
|
|
|
59
59
|
return new Promise(function (resolve, reject) {
|
|
60
60
|
var sharedPreferences = kb.any(subject, ns.ui('sharedPreferences'));
|
|
61
61
|
if (!sharedPreferences) {
|
|
62
|
-
if (!kb.updater.editable(subject.doc())) {
|
|
63
|
-
debug.log(" Cant make shared preferences, may not change ".concat(subject.doc));
|
|
64
|
-
resolve(context);
|
|
65
|
-
}
|
|
66
62
|
var sp = $rdf.sym(subject.doc().uri + '#SharedPreferences');
|
|
67
63
|
var ins = [$rdf.st(subject, ns.ui('sharedPreferences'), sp, subject.doc())];
|
|
68
64
|
debug.log('Creating shared preferences ' + sp);
|
package/lib/preferences.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preferences.js","names":["$rdf","_interopRequireWildcard","require","_solidLogic","debug","_login","ns","participation","widgets","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","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","r","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","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","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","r","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":"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"}
|
package/lib/versionInfo.js
CHANGED
|
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.versionInfo = void 0;
|
|
7
7
|
var versionInfo = {
|
|
8
|
-
buildTime: '2023-
|
|
9
|
-
commit: '
|
|
8
|
+
buildTime: '2023-05-10T10:31:42Z',
|
|
9
|
+
commit: '2f08a1623c81c49457fe3958898259f1a9dc5a4b',
|
|
10
10
|
npmInfo: {
|
|
11
11
|
'solid-ui': '2.4.27',
|
|
12
12
|
npm: '8.19.4',
|
package/lib/versionInfo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"versionInfo.js","names":["versionInfo","buildTime","commit","npmInfo","npm","node","v8","uv","zlib","brotli","ares","modules","nghttp2","napi","llhttp","openssl","cldr","icu","tz","unicode","ngtcp2","nghttp3","exports"],"sources":["../src/versionInfo.ts"],"sourcesContent":["export const versionInfo = {\n buildTime: '2023-
|
|
1
|
+
{"version":3,"file":"versionInfo.js","names":["versionInfo","buildTime","commit","npmInfo","npm","node","v8","uv","zlib","brotli","ares","modules","nghttp2","napi","llhttp","openssl","cldr","icu","tz","unicode","ngtcp2","nghttp3","exports"],"sources":["../src/versionInfo.ts"],"sourcesContent":["export const versionInfo = {\n buildTime: '2023-05-10T10:31:42Z',\n commit: '2f08a1623c81c49457fe3958898259f1a9dc5a4b',\n npmInfo:\n{\n 'solid-ui': '2.4.27',\n npm: '8.19.4',\n node: '16.20.0',\n v8: '9.4.146.26-node.26',\n uv: '1.43.0',\n zlib: '1.2.11',\n brotli: '1.0.9',\n ares: '1.19.0',\n modules: '93',\n nghttp2: '1.47.0',\n napi: '8',\n llhttp: '6.0.10',\n openssl: '1.1.1t+quic',\n cldr: '41.0',\n icu: '71.1',\n tz: '2022f',\n unicode: '14.0',\n ngtcp2: '0.8.1',\n nghttp3: '0.7.0'\n}\n}\n"],"mappings":";;;;;;AAAO,IAAMA,WAAW,GAAG;EACzBC,SAAS,EAAE,sBAAsB;EACjCC,MAAM,EAAE,0CAA0C;EAClDC,OAAO,EACT;IACE,UAAU,EAAE,QAAQ;IACpBC,GAAG,EAAE,QAAQ;IACbC,IAAI,EAAE,SAAS;IACfC,EAAE,EAAE,oBAAoB;IACxBC,EAAE,EAAE,QAAQ;IACZC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE,OAAO;IACfC,IAAI,EAAE,QAAQ;IACdC,OAAO,EAAE,IAAI;IACbC,OAAO,EAAE,QAAQ;IACjBC,IAAI,EAAE,GAAG;IACTC,MAAM,EAAE,QAAQ;IAChBC,OAAO,EAAE,aAAa;IACtBC,IAAI,EAAE,MAAM;IACZC,GAAG,EAAE,MAAM;IACXC,EAAE,EAAE,OAAO;IACXC,OAAO,EAAE,MAAM;IACfC,MAAM,EAAE,OAAO;IACfC,OAAO,EAAE;EACX;AACA,CAAC;AAAAC,OAAA,CAAAtB,WAAA,GAAAA,WAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "solid-ui",
|
|
3
|
-
"version": "2.4.27-
|
|
3
|
+
"version": "2.4.27-2f08a162",
|
|
4
4
|
"description": "UI library for writing Solid read-write-web applications",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -55,17 +55,16 @@
|
|
|
55
55
|
},
|
|
56
56
|
"homepage": "https://github.com/solidos/solid-ui",
|
|
57
57
|
"dependencies": {
|
|
58
|
-
"16": "^0.0.2",
|
|
59
58
|
"acorn": "^7.4.1",
|
|
60
59
|
"escape-html": "^1.0.3",
|
|
61
60
|
"eslint-plugin-n": "^15.6.1",
|
|
62
61
|
"i": "^0.3.7",
|
|
63
62
|
"mime-types": "^2.1.35",
|
|
64
63
|
"npm": "^8.19.4",
|
|
65
|
-
"pane-registry": "^2.4.
|
|
66
|
-
"rdflib": "^2.2.
|
|
67
|
-
"solid-logic": "^3.0.
|
|
68
|
-
"solid-namespace": "^0.5.
|
|
64
|
+
"pane-registry": "^2.4.22",
|
|
65
|
+
"rdflib": "^2.2.32",
|
|
66
|
+
"solid-logic": "^3.0.3",
|
|
67
|
+
"solid-namespace": "^0.5.3",
|
|
69
68
|
"uuid": "^8.3.2"
|
|
70
69
|
},
|
|
71
70
|
"devDependencies": {
|
|
@@ -104,6 +103,7 @@
|
|
|
104
103
|
"eslint-plugin-promise": "^6.1.1",
|
|
105
104
|
"html-webpack-plugin": "^5.5.0",
|
|
106
105
|
"husky": "^7.0.4",
|
|
106
|
+
"isomorphic-fetch": "^3.0.0",
|
|
107
107
|
"jest": "^27.5.1",
|
|
108
108
|
"jsdom": "^19.0.0",
|
|
109
109
|
"lint-staged": "^12.5.0",
|