solid-ui 2.4.27 → 2.4.28-11faa597
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -1
- 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/index.html +1 -9
- package/dist/{main.js → solid-ui.js} +9676 -21517
- package/dist/solid-ui.js.map +1 -0
- package/dist/solid-ui.min.js +3 -0
- package/dist/solid-ui.min.js.LICENSE.txt +54 -0
- package/dist/solid-ui.min.js.map +1 -0
- 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/acl/access-controller.d.ts +2 -3
- package/lib/acl/access-controller.d.ts.map +1 -1
- package/lib/acl/access-controller.js +17 -15
- package/lib/acl/access-controller.js.map +1 -1
- package/lib/acl/access-groups.d.ts.map +1 -1
- package/lib/acl/access-groups.js +78 -8
- package/lib/acl/access-groups.js.map +1 -1
- package/lib/acl/acl-control.d.ts.map +1 -1
- package/lib/acl/acl-control.js +10 -11
- package/lib/acl/acl-control.js.map +1 -1
- package/lib/acl/acl.d.ts +1 -1
- package/lib/acl/acl.js +1 -1
- package/lib/acl/acl.js.map +1 -1
- package/lib/acl/add-agent-buttons.d.ts.map +1 -1
- package/lib/acl/add-agent-buttons.js +4 -3
- package/lib/acl/add-agent-buttons.js.map +1 -1
- package/lib/chat/bookmarks.js +6 -7
- package/lib/chat/bookmarks.js.map +1 -1
- package/lib/chat/chatLogic.js +288 -67
- package/lib/chat/chatLogic.js.map +1 -1
- package/lib/chat/dateFolder.js +129 -126
- package/lib/chat/dateFolder.js.map +1 -1
- package/lib/chat/infinite.js +637 -423
- package/lib/chat/infinite.js.map +1 -1
- package/lib/chat/keys.d.ts +13 -0
- package/lib/chat/keys.d.ts.map +1 -0
- package/lib/chat/keys.js +233 -0
- package/lib/chat/keys.js.map +1 -0
- package/lib/chat/message.js +361 -163
- package/lib/chat/message.js.map +1 -1
- package/lib/chat/messageTools.js +463 -277
- package/lib/chat/messageTools.js.map +1 -1
- package/lib/chat/signature.d.ts +24 -0
- package/lib/chat/signature.d.ts.map +1 -0
- package/lib/chat/signature.js +112 -0
- package/lib/chat/signature.js.map +1 -0
- package/lib/chat/thread.js +299 -209
- package/lib/chat/thread.js.map +1 -1
- package/lib/footer/index.d.ts.map +1 -1
- package/lib/footer/index.js +5 -1
- package/lib/footer/index.js.map +1 -1
- package/lib/header/index.d.ts.map +1 -1
- package/lib/header/index.js +46 -20
- package/lib/header/index.js.map +1 -1
- package/lib/log.js +5 -5
- package/lib/log.js.map +1 -1
- package/lib/login/login.d.ts.map +1 -1
- package/lib/login/login.js +63 -38
- package/lib/login/login.js.map +1 -1
- package/lib/pad.js +4 -1
- package/lib/pad.js.map +1 -1
- package/lib/participation.js +2 -1
- package/lib/participation.js.map +1 -1
- package/lib/preferences.js +4 -0
- package/lib/preferences.js.map +1 -1
- package/lib/style.js +60 -2
- package/lib/style.js.map +1 -1
- package/lib/utils/headerFooterHelpers.d.ts +0 -4
- package/lib/utils/headerFooterHelpers.d.ts.map +1 -1
- package/lib/utils/headerFooterHelpers.js +1 -26
- package/lib/utils/headerFooterHelpers.js.map +1 -1
- package/lib/utils/keyHelpers/accessData.d.ts +9 -0
- package/lib/utils/keyHelpers/accessData.d.ts.map +1 -0
- package/lib/utils/keyHelpers/accessData.js +134 -0
- package/lib/utils/keyHelpers/accessData.js.map +1 -0
- package/lib/utils/keyHelpers/acl.d.ts +20 -0
- package/lib/utils/keyHelpers/acl.d.ts.map +1 -0
- package/lib/utils/keyHelpers/acl.js +93 -0
- package/lib/utils/keyHelpers/acl.js.map +1 -0
- package/lib/utils/keyHelpers/otherHelpers.d.ts +3 -0
- package/lib/utils/keyHelpers/otherHelpers.d.ts.map +1 -0
- package/lib/utils/keyHelpers/otherHelpers.js +23 -0
- package/lib/utils/keyHelpers/otherHelpers.js.map +1 -0
- package/lib/versionInfo.js +6 -6
- package/lib/versionInfo.js.map +1 -1
- package/lib/widgets/buttons.d.ts.map +1 -1
- package/lib/widgets/buttons.js +43 -51
- package/lib/widgets/buttons.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompleteBar.js +8 -1
- package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompletePicker.js +8 -3
- package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +1 -1
- package/lib/widgets/forms/autocomplete/language.js +5 -0
- package/lib/widgets/forms/autocomplete/language.js.map +1 -1
- package/lib/widgets/forms.js +12 -5
- package/lib/widgets/forms.js.map +1 -1
- package/lib/widgets/peoplePicker.js +11 -0
- package/lib/widgets/peoplePicker.js.map +1 -1
- package/package.json +15 -11
- package/dist/main.js.map +0 -1
- package/lib/acl/styles.d.ts +0 -90
- package/lib/acl/styles.d.ts.map +0 -1
- package/lib/acl/styles.js +0 -98
- package/lib/acl/styles.js.map +0 -1
- package/lib/footer/styleMap.d.ts +0 -8
- package/lib/footer/styleMap.d.ts.map +0 -1
- package/lib/footer/styleMap.js +0 -15
- package/lib/footer/styleMap.js.map +0 -1
- package/lib/header/styleMap.d.ts +0 -117
- package/lib/header/styleMap.d.ts.map +0 -1
- package/lib/header/styleMap.js +0 -139
- package/lib/header/styleMap.js.map +0 -1
- package/lib/jss/index.d.ts +0 -20
- package/lib/jss/index.d.ts.map +0 -1
- package/lib/jss/index.js +0 -47
- package/lib/jss/index.js.map +0 -1
package/lib/chat/message.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.js","names":["_infinite","require","_messageTools","_bookmarks","_chatLogic","debug","_interopRequireWildcard","_iconBase","_solidLogic","_login","_index","ns","pad","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","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","step","next","_e2","minLen","_arrayLikeToArray","toString","slice","constructor","name","from","test","arr","len","arr2","dom","window","document","messageBodyStyle","label","elementForImageURI","imageUri","options","img","createElement","height","inlineImageHeightEms","trim","setAttribute","anchor","appendChild","makeDraggable","$rdf","sym","text","term","a","uri","addEventListener","openHrefInOutlineMode","textContent","nick","person","store","any","foaf","creatorAndDate","td1","creator","date","message","nickAnchor","fetcher","nowOrWhenFetched","doc","undefined","_ok","_body","creatorAndDateHorizontal","dateBit","fontSize","marginLeft","renderMessageRow","channelObject","fresh","userContext","colorizeByAuthor","dct","latestVersion","mostRecentVersion","content","sioc","originalMessage","originalVersion","edited","sameTerm","sortDate","the","messageRow","AJAR_date","AJAR_subject","authorDateOnLeft","setImage","shortDate","bothDates","td2","isURI","para","isImage","expandImagesInline","anc","href","bgcolor","lightColorHash","getBgColor","strip","sentimentStripLinked","children","td3","toolsButton","button","icons","iconBase","_event","toolTR","parentNode","removeChild","toolsTR","tools","messageToolbar","nextSibling","parentElement","insertBefore","toolsTD","switchToEditor","messageTable","editRow","renderMessageEditor","originalRow","visibility","revertEditing","messageEditor","handleFieldInput","_x","_handleFieldInput","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee5","wrap","_callee5$","_context6","prev","sendMessage","field","stop","_x2","_x3","_sendMessage","_callee6","fromMainField","sendComplete","statusArea","_callee6$","_context7","_sendComplete","_text2","insertMessageIntoTable","oldRow","warn","backgroundColor","disabled","scrollIntoView","newestFirst","focus","select","updateMessage","sent","t0","errorMessageBlock","abrupt","droppedFileHandler","files","base","chatDocument","dir","uploadFiles","_ref","_callee","theFile","destURI","_callee$","_context2","_x4","_x5","droppedURIHandler","_ref2","_callee2","uris","_iterator","_step","_callee2$","_context3","finish","_x6","turnOnInput","getImageDoc","imageDoc","Date","now","tookPicture","_x7","_tookPicture","_callee4","_callee4$","_context5","menuButton","menuHandler","buttonStyle","rhs","me","authn","currentUser","menuOptions","div","newBase","event","chatChannel","lhs","middle","innerHTML","rows","anyValue","_ref3","_callee3","_callee3$","_context4","code","shiftKey","shiftEnterSendsMessage","_x8","makeDropTarget","sendButton","sendIcon","cancelButton","dateFolder","leafDocumentFromDate","media","cameraButton","recordParticipation","channel","context","ensureLoggedIn","then","assign","findBookmarkDocument","_context"],"sources":["../../src/chat/message.js"],"sourcesContent":["/** UI code for individual messages: display them, edit them\n *\n * @packageDocumentation\n */\n\n/* global $rdf */\nimport { insertMessageIntoTable } from './infinite'\nimport { messageToolbar, sentimentStripLinked } from './messageTools'\nimport { findBookmarkDocument } from './bookmarks'\nimport { mostRecentVersion, originalVersion } from './chatLogic'\nimport * as debug from '../debug'\nimport { icons } from '../iconBase'\nimport { store, authn } from 'solid-logic'\nimport { ensureLoggedIn } from '../login/login'\nimport { media } from '../media/index'\nimport * as ns from '../ns'\nimport * as pad from '../pad'\nimport * as style from '../style'\nimport * as utils from '../utils'\nimport * as widgets from '../widgets'\n\nconst dom = window.document\nconst messageBodyStyle = style.messageBodyStyle\n\nconst label = utils.label\n\n/**\n * HTML component for an image\n */\nexport function elementForImageURI (imageUri, options) {\n const img = dom.createElement('img')\n let height = '10'\n if (options.inlineImageHeightEms) {\n height = ('' + options.inlineImageHeightEms).trim()\n }\n img.setAttribute(\n 'style',\n 'max-height: ' + height + 'em; border-radius: 1em; margin: 0.7em;'\n )\n // widgets.makeDropTarget(img, handleURIsDroppedOnMugshot, droppedFileHandler)\n if (imageUri) img.setAttribute('src', imageUri)\n const anchor = dom.createElement('a')\n anchor.setAttribute('href', imageUri)\n anchor.setAttribute('target', 'images')\n anchor.appendChild(img)\n widgets.makeDraggable(img, $rdf.sym(imageUri))\n return anchor\n}\n\nconst 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', 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\nfunction nick (person) {\n const s = store.any(person, ns.foaf('nick'))\n if (s) return '' + s.value\n return '' + label(person)\n}\n\n/**\n * Displays creator and date for a chat message\n * inside the `td1` element\n */\nexport 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 * Horizontally displays creator and date for a chat message\n * inside the `td1` element\n */\nexport function creatorAndDateHorizontal (td1, creator, date, message) {\n const nickAnchor = td1.appendChild(anchor(label(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 const dateBit = td1.appendChild(anchor(date, message))\n dateBit.style.fontSize = '80%'\n dateBit.style.marginLeft = '1em'\n td1.appendChild(dom.createElement('br'))\n}\n\n/**\n * Renders a chat message, read-only mode\n */\nexport function renderMessageRow (channelObject, message, fresh, options, userContext) {\n const colorizeByAuthor =\n options.colorizeByAuthor === '1' || options.colorizeByAuthor === true\n\n const creator = store.any(message, ns.foaf('maker'))\n const date = store.any(message, ns.dct('created'))\n const latestVersion = mostRecentVersion(message)\n const content = store.any(latestVersion, ns.sioc('content'))\n\n const originalMessage = originalVersion(message)\n const edited = !message.sameTerm(originalMessage)\n\n const sortDate = store.the(originalMessage, ns.dct('created'), null, originalMessage.doc()) // In message\n\n const messageRow = dom.createElement('tr')\n messageRow.AJAR_date = sortDate.value\n messageRow.AJAR_subject = message\n\n const td1 = dom.createElement('td')\n messageRow.appendChild(td1)\n if (!options.authorDateOnLeft) {\n const img = dom.createElement('img')\n img.setAttribute(\n 'style',\n 'max-height: 2.5em; max-width: 2.5em; border-radius: 0.5em; margin: auto;'\n )\n widgets.setImage(img, creator)\n td1.appendChild(img)\n } else {\n creatorAndDate(td1, creator, widgets.shortDate(sortDate.value), message)\n }\n let bothDates = widgets.shortDate(sortDate.value)\n if (edited) {\n bothDates += ' ... ' + widgets.shortDate(date.value)\n }\n\n // Render the content ot the message itself\n const td2 = messageRow.appendChild(dom.createElement('td'))\n\n if (!options.authorDateOnLeft) {\n creatorAndDateHorizontal(\n td2,\n creator,\n bothDates, // widgets.shortDate(dateString)\n message\n )\n }\n const text = content.value.trim()\n const isURI = /^https?:\\/[^ <>]*$/i.test(text)\n let para = null\n if (isURI) {\n const isImage = /\\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(text) // @@ Should use content-type not URI\n if (isImage && options.expandImagesInline) {\n const img = elementForImageURI(text, options)\n td2.appendChild(img)\n } else {\n // Link but not Image\n const anc = td2.appendChild(dom.createElement('a'))\n para = anc.appendChild(dom.createElement('p'))\n anc.href = text\n para.textContent = text\n td2.appendChild(anc)\n }\n } else {\n // text\n para = dom.createElement('p')\n td2.appendChild(para)\n para.textContent = text\n }\n if (para) {\n const bgcolor = colorizeByAuthor\n ? pad.lightColorHash(creator)\n : getBgColor(fresh)\n para.setAttribute(\n 'style',\n messageBodyStyle + 'background-color: ' + bgcolor + ';'\n )\n }\n\n function getBgColor (fresh) {\n return fresh ? '#e8ffe8' : 'white'\n }\n\n // Sentiment strip\n const strip = sentimentStripLinked(message, message.doc())\n if (strip.children.length) {\n td2.appendChild(dom.createElement('br'))\n td2.appendChild(strip)\n }\n\n // Message tool bar button\n const td3 = dom.createElement('td')\n messageRow.appendChild(td3)\n const toolsButton = widgets.button(\n dom,\n icons.iconBase + 'noun_243787.svg',\n '...'\n )\n td3.appendChild(toolsButton)\n toolsButton.addEventListener('click', function (_event) {\n if (messageRow.toolTR) {\n // already got a toolbar? Toogle\n messageRow.parentNode.removeChild(messageRow.toolTR)\n delete messageRow.toolTR\n return\n }\n const toolsTR = dom.createElement('tr')\n const tools = messageToolbar(message, messageRow, userContext, channelObject)\n tools.style =\n 'border: 0.05em solid #888; border-radius: 0 0 0.7em 0.7em; border-top: 0; height:3.5em; background-color: #fff;' // @@ fix\n if (messageRow.nextSibling) {\n messageRow.parentElement.insertBefore(toolsTR, messageRow.nextSibling)\n } else {\n messageRow.parentElement.appendChild(toolsTR)\n }\n messageRow.toolTR = toolsTR\n toolsTR.appendChild(dom.createElement('td')) // left\n const toolsTD = toolsTR.appendChild(dom.createElement('td'))\n toolsTR.appendChild(dom.createElement('td')) // right\n toolsTD.appendChild(tools)\n })\n return messageRow\n}\n\nexport function switchToEditor (messageRow, message, channelObject, userContext) {\n const messageTable = messageRow.parentNode\n const editRow = renderMessageEditor(channelObject, messageTable, userContext,\n channelObject.options, mostRecentVersion(message))\n messageTable.insertBefore(editRow, messageRow)\n editRow.originalRow = messageRow\n messageRow.style.visibility = 'hidden' // Hide the original message. unhide if user cancels edit\n}\n/* Control for a new message -- or editing an old message ***************\n *\n */\nexport function renderMessageEditor (channelObject, messageTable, userContext, options, originalMessage) {\n function revertEditing (messageEditor) {\n messageEditor.originalRow.style.visibility = 'visible' // restore read-only version\n messageEditor.parentNode.removeChild(messageEditor)\n }\n\n async function handleFieldInput (_event) {\n await sendMessage(field.value, true)\n }\n\n async function sendMessage (text, fromMainField) {\n function sendComplete (message, _text2) {\n // const dateStamp = store.any(message, ns.dct('created'), null, message.doc())\n // const content = $rdf.literal(text2)\n insertMessageIntoTable(channelObject, messageTable, message, false, options, userContext) // not green\n\n if (originalMessage) { // editing another message\n const oldRow = messageEditor.originalRow\n // oldRow.style.display = '' // restore read-only version, re-attack\n if (oldRow.parentNode) {\n oldRow.parentNode.removeChild(oldRow) // No longer needed old version\n } else {\n debug.warn('No parentNode on old message ' + oldRow.textContent)\n oldRow.style.backgroundColor = '#fee'\n oldRow.style.visibility = 'hidden' // @@ FIX THIS AND REMOVE FROM DOM INSTEAD\n }\n messageEditor.parentNode.removeChild(messageEditor) // no longer need editor\n } else {\n if (fromMainField) {\n field.value = '' // clear from out for reuse\n field.setAttribute('style', messageBodyStyle)\n field.disabled = false\n field.scrollIntoView(options.newestFirst) // allign bottom (top)\n field.focus() // Start typing next line immediately\n field.select()\n }\n }\n // await channelObject.div.refresh() // Add new day if nec @@ add back\n }\n\n // const me = authn.currentUser() // Must be logged on or wuld have got login button\n if (fromMainField) {\n field.setAttribute('style', messageBodyStyle + 'color: #bbb;') // pendingedit\n field.disabled = true\n }\n\n let message\n try {\n message = await channelObject.updateMessage(text, originalMessage)\n } catch (err) {\n const statusArea = userContext.statusArea || messageEditor\n statusArea.appendChild(\n widgets.errorMessageBlock(dom, 'Error writing message: ' + err)\n )\n return\n }\n sendComplete(message, text)\n } // sendMessage\n\n // DRAG AND DROP\n function droppedFileHandler (files) {\n const base = messageTable.chatDocument.dir().uri\n widgets.uploadFiles(\n store.fetcher,\n files,\n base + 'Files',\n base + 'Pictures',\n async function (theFile, destURI) {\n // @@@@@@ Wait for each if several\n await sendMessage(destURI)\n }\n )\n }\n\n // When a set of URIs are dropped on the field\n const droppedURIHandler = async function (uris) {\n for (const uri of uris) {\n await sendMessage(uri)\n }\n }\n\n // When we are actually logged on\n function turnOnInput () {\n function getImageDoc () {\n imageDoc = $rdf.sym(\n chatDocument.dir().uri + 'Image_' + Date.now() + '.png'\n )\n return imageDoc\n }\n\n async function tookPicture (imageDoc) {\n if (imageDoc) {\n await sendMessage(imageDoc.uri)\n }\n }\n\n // Body of turnOnInput\n\n let menuButton\n if (options.menuHandler) {\n const menuButton = widgets.button(\n dom, icons.iconBase + 'noun_243787.svg', 'More')\n menuButton.setAttribute('style', style.buttonStyle + 'float: right;')\n // menuButton.addEventListener('click', _event => sendMessage(), false) (done in turnoninput)\n rhs.appendChild(menuButton)\n }\n\n if (options.menuHandler && menuButton) {\n const me = authn.currentUser()\n const menuOptions = {\n me,\n dom,\n div: null, // @@ was: div\n newBase: messageTable.chatDocument.dir().uri\n }\n menuButton.addEventListener(\n 'click',\n event => {\n options.menuHandler(event, channelObject.chatChannel, menuOptions)\n },\n false\n )\n }\n\n const me = authn.currentUser() // If already logged on\n creatorAndDate(lhs, me, '', null)\n\n field = dom.createElement('textarea')\n middle.innerHTML = ''\n middle.appendChild(field)\n field.rows = 3\n if (originalMessage) {\n field.value = store.anyValue(originalMessage, ns.sioc('content'), null, originalMessage.doc())\n }\n // field.cols = 40\n field.setAttribute('style', messageBodyStyle + 'background-color: #eef;')\n\n // Trap the Enter BEFORE it is used ti make a newline\n\n field.addEventListener(\n 'keydown',\n async function (e) {\n // User preference?\n if (e.code === 'Enter') {\n // if (e.keyCode === 13) { // deprocated https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode\n if ((!e.shiftKey && !options.shiftEnterSendsMessage) || (e.shiftKey && options.shiftEnterSendsMessage)) {\n // Shift-Enter just adds a new line\n // (note alt-enter doesn't add newline anyway on my setup - so have to use shift.\n await handleFieldInput(e)\n }\n }\n },\n false\n )\n\n widgets.makeDropTarget(field, droppedURIHandler, droppedFileHandler)\n\n rhs.innerHTML = ''\n\n sendButton = widgets.button(dom, sendIcon, 'Send')\n sendButton.style.float = 'right'\n sendButton.addEventListener('click', _event => handleFieldInput(), false)\n rhs.appendChild(sendButton)\n\n if (originalMessage) { // Are we editing another message?\n const cancelButton = rhs.appendChild(widgets.cancelButton(dom))\n cancelButton.style.float = 'left'\n // cancelButton.firstChild.style.opacity = '0.3' // moved to buttons\n cancelButton.addEventListener('click', _event => revertEditing(messageEditor), false)\n rhs.appendChild(cancelButton)\n }\n\n const chatDocument = channelObject.dateFolder.leafDocumentFromDate(new Date())\n let imageDoc\n\n middle.appendChild(\n media.cameraButton(dom, store, getImageDoc, tookPicture)\n )\n\n pad.recordParticipation(channelObject.channel, channelObject.channel.doc()) // participation =\n } // turn on inpuut\n\n // Body of renderMessageEditor\n\n let sortDate, sendIcon\n if (originalMessage) {\n sortDate = store.anyValue(originalMessage, ns.dct('created'), null, originalMessage.doc())\n // text = store.anyValue(originalMessage, ns.sioc('content'), null, originalMessage.doc())\n sendIcon = icons.iconBase + 'noun_1180158.svg' // Green check\n // cancelIcon = icons.iconBase + 'noun_1180156.svg' // Black cross\n } else {\n sendIcon = icons.iconBase + 'noun_383448.svg'\n sortDate = '9999-01-01T00:00:00Z' // ISO format for field sort\n // text = ''\n }\n const messageEditor = dom.createElement('tr')\n const lhs = dom.createElement('td')\n const middle = dom.createElement('td')\n const rhs = dom.createElement('td')\n messageEditor.appendChild(lhs)\n messageEditor.appendChild(middle)\n messageEditor.appendChild(rhs)\n messageEditor.AJAR_date = sortDate\n // messageEditor.appendChild(dom.createElement('br'))\n\n let field, sendButton\n const context = { div: middle, dom }\n\n ensureLoggedIn(context).then(context => {\n // me = context.me\n turnOnInput()\n Object.assign(context, userContext)\n findBookmarkDocument(context).then(_context => {\n // console.log('Bookmark file: ' + context.bookmarkDocument)\n })\n })\n\n return messageEditor\n} // renderMessageEditor\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"message.js","names":["_infinite","require","_messageTools","_bookmarks","_chatLogic","debug","_interopRequireWildcard","_iconBase","_solidLogic","_login","_index","ns","pad","style","utils","widgets","_signature","_keys","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","F","s","n","done","value","e","_e2","f","TypeError","normalCompletion","didErr","err","step","next","_e3","minLen","_arrayLikeToArray","toString","slice","constructor","name","from","test","arr","len","arr2","dom","window","document","messageBodyStyle","label","elementForImageURI","imageUri","options","img","createElement","height","inlineImageHeightEms","trim","setAttribute","anchor","appendChild","makeDraggable","$rdf","text","term","a","uri","addEventListener","openHrefInOutlineMode","textContent","nickname","person","store","any","foaf","creatorAndDate","td1","creator","date","message","nickAnchor","fetcher","nowOrWhenFetched","doc","undefined","_ok","_body","creatorAndDateHorizontal","dateBit","fontSize","marginLeft","renderMessageRow","_x","_x2","_x3","_x4","_x5","_renderMessageRow","_asyncToGenerator2","_regenerator","mark","_callee9","channelObject","fresh","userContext","unsignedMessage","colorizeByAuthor","latestVersion","latestVersionCreator","msgId","content","versions","replies","thread","straightReplies","_iterator2","_step2","reply","signature","msg","originalMessage","edited","sortDate","messageRow","bothDates","td2","isURI","para","isImage","_img","anc","bgcolor","getBgColor","strip","td3","toolsButton","wrap","_callee9$","_context10","prev","_getBgColor","dct","mostRecentVersion","sent","log","sioc","allVersions","join","map","version","each","flat","holds","rdf","concat","SEC","getBlankMsg","id","created","maker","warn","getPublicKey","then","publicKey","regex","match","verifySignature","originalVersion","sameTerm","the","AJAR_date","AJAR_subject","authorDateOnLeft","setImage","shortDate","expandImagesInline","href","lightColorHash","sentimentStripLinked","children","button","icons","iconBase","_ref4","_callee8","_event","toolsTR","tools","toolsTD","_callee8$","_context9","toolTR","parentNode","removeChild","abrupt","messageToolbar","chatOptions","nextSibling","parentElement","insertBefore","stop","_x20","showThread","_e","switchToEditor","_x6","_x7","_x8","_x9","_switchToEditor","_callee10","messageTable","editRow","_callee10$","_context11","t0","renderMessageEditor","t1","t2","t3","t4","t5","originalRow","visibility","revertEditing","messageEditor","handleFieldInput","_x10","_handleFieldInput","_callee5","_callee5$","_context6","sendMessage","field","_x11","_x12","_sendMessage","_callee7","fromMainField","sendComplete","_sendComplete","statusArea","_callee7$","_context8","_sendComplete3","_callee6","_text2","oldRow","_callee6$","_context7","insertMessageIntoTable","backgroundColor","disabled","scrollIntoView","newestFirst","focus","select","_sendComplete2","_x18","_x19","updateMessage","errorMessageBlock","droppedFileHandler","files","base","chatDocument","dir","uploadFiles","_ref","_callee","theFile","destURI","_callee$","_context2","_x13","_x14","droppedURIHandler","_ref2","_callee2","uris","_iterator","_step","_callee2$","_context3","finish","_x15","turnOnInput","getImageDoc","imageDoc","Date","now","tookPicture","_x16","_tookPicture","_callee4","_callee4$","_context5","menuButton","menuHandler","buttonStyle","rhs","me","authn","currentUser","menuOptions","div","newBase","event","chatChannel","lhs","middle","innerHTML","rows","anyValue","_ref3","_callee3","_callee3$","_context4","code","shiftKey","shiftEnterSendsMessage","_x17","makeDropTarget","sendButton","sendIcon","cancelButton","dateFolder","leafDocumentFromDate","media","cameraButton","recordParticipation","channel","context","ensureLoggedIn","assign","findBookmarkDocument","_context"],"sources":["../../src/chat/message.js"],"sourcesContent":["/** UI code for individual messages: display them, edit them\n *\n * @packageDocumentation\n */\n\n/* global $rdf */\nimport { insertMessageIntoTable } from './infinite'\nimport { messageToolbar, sentimentStripLinked } from './messageTools'\nimport { findBookmarkDocument } from './bookmarks'\nimport { mostRecentVersion, originalVersion, allVersions } from './chatLogic'\nimport * as debug from '../debug'\nimport { icons } from '../iconBase'\nimport { store, authn } from 'solid-logic'\nimport { ensureLoggedIn } from '../login/login'\nimport { media } from '../media/index'\nimport * as ns from '../ns'\nimport * as pad from '../pad'\nimport * as style from '../style'\nimport * as utils from '../utils'\nimport * as widgets from '../widgets'\nimport { getBlankMsg, verifySignature, SEC } from './signature'\nimport { getPublicKey } from './keys'\n\nconst dom = window.document\nconst messageBodyStyle = style.messageBodyStyle\n\nconst label = utils.label\n\n/**\n * elementForImageURI\n * HTML component for an image\n * @param imageUri\n * @param options { inlineImageHeightEms }\n * @returns HTMLAnchorElement For Image\n */\nexport function elementForImageURI (imageUri, options) {\n const img = dom.createElement('img')\n let height = '10'\n if (options.inlineImageHeightEms) {\n height = ('' + options.inlineImageHeightEms).trim()\n }\n img.setAttribute(\n 'style',\n 'max-height: ' + height + 'em; border-radius: 1em; margin: 0.7em;'\n )\n // widgets.makeDropTarget(img, handleURIsDroppedOnMugshot, droppedFileHandler)\n if (imageUri) img.setAttribute('src', imageUri)\n const anchor = dom.createElement('a')\n anchor.setAttribute('href', imageUri)\n anchor.setAttribute('target', 'images')\n anchor.appendChild(img)\n widgets.makeDraggable(img, $rdf.sym(imageUri))\n return anchor\n}\n\nconst 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', 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\nfunction nickname (person) {\n const s = store.any(person, ns.foaf('nick'))\n if (s) return '' + s.value\n return '' + label(person)\n}\n\n/**\n * creatorAndDate\n * Displays creator and date for a chat message\n * inside the `td1` element\n * @param td1\n * @param creator\n * @param date\n * @param message\n * @returns HTMLAnchorElement For Image\n */\nexport function creatorAndDate (td1, creator, date, message) {\n const nickAnchor = td1.appendChild(anchor(nickname(creator), creator))\n if (creator.uri) {\n store.fetcher.nowOrWhenFetched(creator.doc(), undefined, function (\n _ok,\n _body\n ) {\n nickAnchor.textContent = nickname(creator)\n })\n }\n td1.appendChild(dom.createElement('br'))\n td1.appendChild(anchor(date, message))\n}\n\n/**\n * creatorAndDateHorizontal\n * Horizontally displays creator and date for a chat message\n * inside the `td1` element\n * @param td1\n * @param creator\n * @param date\n * @param message\n * @returns HTMLAnchorElement For Image\n */\nexport function creatorAndDateHorizontal (td1, creator, date, message) {\n const nickAnchor = td1.appendChild(anchor(label(creator), creator))\n if (creator.uri) {\n store.fetcher.nowOrWhenFetched(creator.doc(), undefined, function (\n _ok,\n _body\n ) {\n nickAnchor.textContent = nickname(creator)\n })\n }\n const dateBit = td1.appendChild(anchor(date, message))\n dateBit.style.fontSize = '80%'\n dateBit.style.marginLeft = '1em'\n td1.appendChild(dom.createElement('br'))\n}\n\n/**\n * renderMessageRow\n * Renders a chat message, read-only mode\n * @param channelObject\n * @param message\n * @param fresh\n * @param options\n * @param userContext\n * @returns Message Row HTML Table Element\n */\nexport async function renderMessageRow (channelObject, message, fresh, options, userContext) {\n let unsignedMessage = false\n const colorizeByAuthor =\n options.colorizeByAuthor === '1' || options.colorizeByAuthor === true\n\n // const id = store.any(latestVersion, ns.sioc('id'))\n // const replies = store.each(latestVersion, ns.sioc('has_reply'))\n\n const creator = store.any(message, ns.foaf('maker'))\n const date = store.any(message, ns.dct('created'))\n const latestVersion = await mostRecentVersion(message)\n debug.log('@@@@ alain mostRecentVersion')\n debug.log(message)\n debug.log(latestVersion)\n const latestVersionCreator = store.any(latestVersion, ns.foaf('maker'))\n\n // use latest content if same owner, else use original\n // this is may be too strict. Should we find latest valid version if any ?\n debug.log('@@@@ alain creator')\n debug.log(creator)\n debug.log(latestVersionCreator)\n const msgId = creator.uri === latestVersionCreator?.uri ? latestVersion : message\n const content = store.any(msgId, ns.sioc('content'))\n\n const versions = await allVersions(msgId)\n if (versions.length > 1) {\n debug.log('renderMessageRow versions: ', versions.join(', '))\n }\n // be tolerant in accepting replies on any version of a message\n const replies = versions.map(version => store.each(version, ns.sioc('has_reply'))).flat()\n\n let thread = null\n const straightReplies = []\n for (const reply of replies) {\n if (store.holds(reply, ns.rdf('type'), ns.sioc('Thread'))) {\n thread = reply\n debug.log('renderMessageRow: found thread: ' + thread)\n } else {\n straightReplies.push(reply)\n }\n }\n if (straightReplies.length > 1) {\n debug.log('renderMessageRow: found normal replies: ', straightReplies)\n }\n debug.log('@@@@ is thread')\n if (!thread) {\n // thread = store.any(message, ns.sioc('has_reply'))\n thread = store.any(null, ns.sioc('has_member'), message)\n }\n // get signature\n const signature = store.any(msgId, $rdf.sym(`${SEC}proofValue`))\n\n // set proof message object\n const msg = getBlankMsg()\n msg.id = msgId.uri\n msg.created = store.any(msgId, ns.dct('created')).value\n msg.content = content.value\n msg.maker = creator.uri\n\n // verify signature\n if (!signature?.value) { // unsigned message\n unsignedMessage = true\n debug.warn(msgId.uri + ' is unsigned') // TODO replace with UI (colored message ?)\n } else { // signed message, get public key and check signature\n getPublicKey(creator).then(publicKey => {\n debug.log(creator.uri + '\\n' + msg.created + '\\n' + msg.id + '\\n' + publicKey)\n if (!publicKey) {\n debug.warn('message is signed but ' + creator.uri + ' is missing publicKey')\n }\n // check that publicKey is a valid hex string\n const regex = /[0-9A-Fa-f]{6}/g\n if (!publicKey?.match(regex)) debug.warn('invalid publicKey hex string\\n' + creator.uri + '\\n' + publicKey)\n // verify signature\n else if (signature?.value && !verifySignature(signature?.value, msg, publicKey)) debug.warn('invalid signature\\n' + msg.id)\n })\n }\n\n const originalMessage = await originalVersion(message)\n const edited = !message.sameTerm(originalMessage)\n // @@ load it first @@ Or display the new data at the old date.\n // @@@ kludge!\n const sortDate = store.the(originalMessage, ns.dct('created'), null, originalMessage.doc()) || store.the(message, ns.dct('created'), null, message.doc())\n // In message\n\n const messageRow = dom.createElement('tr')\n if (unsignedMessage) messageRow.setAttribute('style', 'background-color: red')\n messageRow.AJAR_date = sortDate.value\n messageRow.AJAR_subject = message\n\n const td1 = dom.createElement('td')\n messageRow.appendChild(td1)\n if (!options.authorDateOnLeft) {\n const img = dom.createElement('img')\n img.setAttribute(\n 'style',\n 'max-height: 2.5em; max-width: 2.5em; border-radius: 0.5em; margin: auto;'\n )\n widgets.setImage(img, creator)\n td1.appendChild(img)\n } else {\n creatorAndDate(td1, creator, widgets.shortDate(sortDate.value), message)\n }\n let bothDates = widgets.shortDate(sortDate.value)\n if (edited) {\n bothDates += ' ... ' + widgets.shortDate(date.value)\n }\n\n // Render the content ot the message itself\n const td2 = messageRow.appendChild(dom.createElement('td'))\n\n if (!options.authorDateOnLeft) {\n creatorAndDateHorizontal(\n td2,\n creator,\n bothDates, // widgets.shortDate(dateString)\n message\n )\n }\n const text = content ? content.value.trim() : '??? no content?'\n const isURI = /^https?:\\/[^ <>]*$/i.test(text)\n let para = null\n if (isURI) {\n const isImage = /\\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(text) // @@ Should use content-type not URI\n if (isImage && options.expandImagesInline) {\n const img = elementForImageURI(text, options)\n td2.appendChild(img)\n } else {\n // Link but not Image\n const anc = td2.appendChild(dom.createElement('a'))\n para = anc.appendChild(dom.createElement('p'))\n anc.href = text\n para.textContent = text\n td2.appendChild(anc)\n }\n } else {\n // text\n para = dom.createElement('p')\n td2.appendChild(para)\n para.textContent = text\n }\n if (para) {\n const bgcolor = colorizeByAuthor\n ? pad.lightColorHash(creator)\n : getBgColor(fresh)\n para.setAttribute(\n 'style',\n messageBodyStyle + 'background-color: ' + bgcolor + ';'\n )\n }\n\n function getBgColor (fresh) {\n return fresh ? '#e8ffe8' : 'white'\n }\n\n // Sentiment strip\n const strip = await sentimentStripLinked(message, message.doc())\n if (strip.children.length) {\n td2.appendChild(dom.createElement('br'))\n td2.appendChild(strip)\n }\n\n // Message tool bar button\n const td3 = dom.createElement('td')\n messageRow.appendChild(td3)\n const toolsButton = widgets.button(\n dom,\n icons.iconBase + 'noun_243787.svg',\n '...'\n )\n td3.appendChild(toolsButton)\n toolsButton.addEventListener('click', async function (_event) {\n if (messageRow.toolTR) {\n // already got a toolbar? Toogle\n messageRow.parentNode.removeChild(messageRow.toolTR)\n delete messageRow.toolTR\n return\n }\n const toolsTR = dom.createElement('tr')\n const tools = await messageToolbar(message, messageRow, { ...userContext, chatOptions: options }, channelObject)\n tools.style =\n 'border: 0.05em solid #888; border-radius: 0 0 0.7em 0.7em; border-top: 0; height:3.5em; background-color: #fff;' // @@ fix\n if (messageRow.nextSibling) {\n messageRow.parentElement.insertBefore(toolsTR, messageRow.nextSibling)\n } else {\n messageRow.parentElement.appendChild(toolsTR)\n }\n messageRow.toolTR = toolsTR\n toolsTR.appendChild(dom.createElement('td')) // left\n const toolsTD = toolsTR.appendChild(dom.createElement('td'))\n toolsTR.appendChild(dom.createElement('td')) // right\n toolsTD.appendChild(tools)\n })\n if (thread && options.showThread) {\n debug.log(' message has thread ' + thread)\n td3.appendChild(widgets.button(\n dom,\n icons.iconBase + 'noun_1180164.svg', // right arrow .. @@ think of stg better\n 'see thread',\n _e => {\n debug.log('@@@@ Calling showThread thread ' + thread)\n options.showThread(thread, options)\n }\n ))\n }\n return messageRow\n} // END OF RENDERMESSAGE\n\nexport async function switchToEditor (messageRow, message, channelObject, userContext) {\n const messageTable = messageRow.parentNode\n const editRow = renderMessageEditor(channelObject, messageTable, userContext,\n channelObject.options, await mostRecentVersion(message))\n messageTable.insertBefore(editRow, messageRow)\n editRow.originalRow = messageRow\n messageRow.style.visibility = 'hidden' // Hide the original message. unhide if user cancels edit\n}\n/* Control for a new message -- or editing an old message ***************\n *\n */\nexport function renderMessageEditor (channelObject, messageTable, userContext, options, originalMessage) {\n function revertEditing (messageEditor) {\n messageEditor.originalRow.style.visibility = 'visible' // restore read-only version\n messageEditor.parentNode.removeChild(messageEditor)\n }\n\n async function handleFieldInput (_event) {\n await sendMessage(field.value, true)\n }\n\n async function sendMessage (text, fromMainField) {\n async function sendComplete (message, _text2) {\n // const dateStamp = store.any(message, ns.dct('created'), null, message.doc())\n // const content = $rdf.literal(text2)\n await insertMessageIntoTable(channelObject, messageTable, message, false, options, userContext) // not green\n\n if (originalMessage) { // editing another message\n const oldRow = messageEditor.originalRow\n // oldRow.style.display = '' // restore read-only version, re-attack\n if (oldRow.parentNode) {\n oldRow.parentNode.removeChild(oldRow) // No longer needed old version\n } else {\n debug.warn('No parentNode on old message ' + oldRow.textContent)\n oldRow.style.backgroundColor = '#fee'\n oldRow.style.visibility = 'hidden' // @@ FIX THIS AND REMOVE FROM DOM INSTEAD\n }\n messageEditor.parentNode.removeChild(messageEditor) // no longer need editor\n } else {\n if (fromMainField) {\n field.value = '' // clear from out for reuse\n field.setAttribute('style', messageBodyStyle)\n field.disabled = false\n field.scrollIntoView(options.newestFirst) // allign bottom (top)\n field.focus() // Start typing next line immediately\n field.select()\n }\n }\n // await channelObject.div.refresh() // Add new day if nec @@ add back\n }\n\n // const me = authn.currentUser() // Must be logged on or wuld have got login button\n if (fromMainField) {\n field.setAttribute('style', messageBodyStyle + 'color: #bbb;') // pendingedit\n field.disabled = true\n }\n\n let message\n try {\n message = await channelObject.updateMessage(text, originalMessage, null, options.thread)\n } catch (err) {\n const statusArea = userContext.statusArea || messageEditor\n statusArea.appendChild(\n widgets.errorMessageBlock(dom, 'Error writing message: ' + err)\n )\n return\n }\n await sendComplete(message, text)\n } // sendMessage\n\n // DRAG AND DROP\n function droppedFileHandler (files) {\n const base = messageTable.chatDocument.dir().uri\n widgets.uploadFiles(\n store.fetcher,\n files,\n base + 'Files',\n base + 'Pictures',\n async function (theFile, destURI) {\n // @@@@@@ Wait for each if several\n await sendMessage(destURI)\n }\n )\n }\n\n // When a set of URIs are dropped on the field\n const droppedURIHandler = async function (uris) {\n for (const uri of uris) {\n await sendMessage(uri)\n }\n }\n\n // When we are actually logged on\n function turnOnInput () {\n function getImageDoc () {\n imageDoc = $rdf.sym(\n chatDocument.dir().uri + 'Image_' + Date.now() + '.png'\n )\n return imageDoc\n }\n\n async function tookPicture (imageDoc) {\n if (imageDoc) {\n await sendMessage(imageDoc.uri)\n }\n }\n\n // Body of turnOnInput\n\n let menuButton\n if (options.menuHandler) {\n const menuButton = widgets.button(\n dom, icons.iconBase + 'noun_243787.svg', 'More')\n menuButton.setAttribute('style', style.buttonStyle + 'float: right;')\n // menuButton.addEventListener('click', _event => sendMessage(), false) (done in turnoninput)\n rhs.appendChild(menuButton)\n }\n\n if (options.menuHandler && menuButton) {\n const me = authn.currentUser()\n const menuOptions = {\n me,\n dom,\n div: null, // @@ was: div\n newBase: messageTable.chatDocument.dir().uri\n }\n menuButton.addEventListener(\n 'click',\n event => {\n options.menuHandler(event, channelObject.chatChannel, menuOptions)\n },\n false\n )\n }\n\n const me = authn.currentUser() // If already logged on\n creatorAndDate(lhs, me, '', null)\n\n field = dom.createElement('textarea')\n middle.innerHTML = ''\n middle.appendChild(field)\n field.rows = 3\n if (originalMessage) {\n field.value = store.anyValue(originalMessage, ns.sioc('content'), null, originalMessage.doc())\n }\n // field.cols = 40\n field.setAttribute('style', messageBodyStyle + 'background-color: #eef;')\n\n // Trap the Enter BEFORE it is used ti make a newline\n\n field.addEventListener(\n 'keydown',\n async function (e) {\n // User preference?\n if (e.code === 'Enter') {\n // if (e.keyCode === 13) { // deprocated https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode\n if ((!e.shiftKey && !options.shiftEnterSendsMessage) || (e.shiftKey && options.shiftEnterSendsMessage)) {\n // Shift-Enter just adds a new line\n // (note alt-enter doesn't add newline anyway on my setup - so have to use shift.\n await handleFieldInput(e)\n }\n }\n },\n false\n )\n\n widgets.makeDropTarget(field, droppedURIHandler, droppedFileHandler)\n\n rhs.innerHTML = ''\n\n sendButton = widgets.button(dom, sendIcon, 'Send')\n sendButton.style.float = 'right'\n sendButton.addEventListener('click', _event => handleFieldInput(), false)\n rhs.appendChild(sendButton)\n\n if (originalMessage) { // Are we editing another message?\n const cancelButton = rhs.appendChild(widgets.cancelButton(dom))\n cancelButton.style.float = 'left'\n // cancelButton.firstChild.style.opacity = '0.3' // moved to buttons\n cancelButton.addEventListener('click', _event => revertEditing(messageEditor), false)\n rhs.appendChild(cancelButton)\n }\n\n const chatDocument = channelObject.dateFolder.leafDocumentFromDate(new Date())\n let imageDoc\n\n middle.appendChild(\n media.cameraButton(dom, store, getImageDoc, tookPicture)\n )\n\n pad.recordParticipation(channelObject.channel, channelObject.channel.doc()) // participation =\n } // turn on inpuut\n\n // Body of renderMessageEditor\n\n let sortDate, sendIcon\n if (originalMessage) {\n sortDate = store.anyValue(originalMessage, ns.dct('created'), null, originalMessage.doc())\n // text = store.anyValue(originalMessage, ns.sioc('content'), null, originalMessage.doc())\n sendIcon = icons.iconBase + 'noun_1180158.svg' // Green check\n // cancelIcon = icons.iconBase + 'noun_1180156.svg' // Black cross\n } else {\n sendIcon = icons.iconBase + 'noun_383448.svg'\n sortDate = '9999-01-01T00:00:00Z' // ISO format for field sort\n // text = ''\n }\n const messageEditor = dom.createElement('tr')\n const lhs = dom.createElement('td')\n const middle = dom.createElement('td')\n const rhs = dom.createElement('td')\n messageEditor.appendChild(lhs)\n messageEditor.appendChild(middle)\n messageEditor.appendChild(rhs)\n messageEditor.AJAR_date = sortDate\n // messageEditor.appendChild(dom.createElement('br'))\n\n let field, sendButton\n const context = { div: middle, dom }\n\n ensureLoggedIn(context).then(context => {\n // me = context.me\n turnOnInput()\n Object.assign(context, userContext)\n findBookmarkDocument(context).then(_context => {\n // debug.log('Bookmark file: ' + context.bookmarkDocument)\n })\n })\n\n return messageEditor\n} // renderMessageEditor\n"],"mappings":"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"}
|