solid-panes 3.6.3-be225c89 → 3.6.3-da0a9e27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/coverage/clover.xml +2 -2
  2. package/coverage/lcov-report/index.html +1 -1
  3. package/coverage/lcov-report/outline/index.html +1 -1
  4. package/coverage/lcov-report/outline/outlineIcons.js.html +1 -1
  5. package/coverage/lcov-report/outline/propertyViews.ts.html +1 -1
  6. package/coverage/lcov-report/outline/viewAsImage.ts.html +1 -1
  7. package/coverage/lcov-report/outline/viewAsMbox.ts.html +1 -1
  8. package/coverage/lcov-report/trustedApplications/index.html +1 -1
  9. package/coverage/lcov-report/trustedApplications/trustedApplications.utils.ts.html +1 -1
  10. package/lib/attach/attachPane.js +1 -1
  11. package/lib/attach/attachPane.js.map +1 -1
  12. package/lib/outline/manager.js +1 -1
  13. package/lib/outline/manager.js.map +1 -1
  14. package/lib/outline/userInput.js +6 -3
  15. package/lib/outline/userInput.js.map +1 -1
  16. package/lib/test-import-export/edit-importer.js +1 -0
  17. package/lib/test-import-export/edit-importer.js.map +1 -1
  18. package/lib/transaction/pane.js +2 -2
  19. package/lib/transaction/pane.js.map +1 -1
  20. package/lib/transaction/period.js +2 -2
  21. package/lib/transaction/period.js.map +1 -1
  22. package/lib/types.js.map +1 -1
  23. package/lib/versionInfo.d.ts +2 -1
  24. package/lib/versionInfo.d.ts.map +1 -1
  25. package/lib/versionInfo.js +28 -27
  26. package/lib/versionInfo.js.map +1 -1
  27. package/package.json +5 -5
  28. package/src/attach/attachPane.js +1 -1
  29. package/src/outline/manager.js +1 -1
  30. package/src/outline/userInput.js +6 -6
  31. package/src/test-import-export/edit-importer.js +1 -1
  32. package/src/transaction/pane.js +2 -2
  33. package/src/transaction/period.js +2 -2
  34. package/src/types.ts +4 -4
  35. package/src/versionInfo.ts +30 -30
  36. package/timestamp.sh +10 -4
@@ -1,6 +1,6 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <coverage generated="1754924473941" clover="3.2.0">
3
- <project timestamp="1754924473941" name="All files">
2
+ <coverage generated="1755614205127" clover="3.2.0">
3
+ <project timestamp="1755614205127" name="All files">
4
4
  <metrics statements="125" coveredstatements="125" conditionals="6" coveredconditionals="4" methods="13" coveredmethods="13" elements="144" coveredelements="142" complexity="0" loc="125" ncloc="125" packages="2" files="5" classes="5"/>
5
5
  <package name="outline">
6
6
  <metrics statements="112" coveredstatements="112" conditionals="6" coveredconditionals="4" methods="7" coveredmethods="7"/>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2025-08-11T15:01:13.932Z
119
+ at 2025-08-19T14:36:45.118Z
120
120
  </div>
121
121
  <script src="prettify.js"></script>
122
122
  <script>
@@ -146,7 +146,7 @@
146
146
  <div class='footer quiet pad2 space-top1 center small'>
147
147
  Code coverage generated by
148
148
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
149
- at 2025-08-11T15:01:13.932Z
149
+ at 2025-08-19T14:36:45.118Z
150
150
  </div>
151
151
  <script src="../prettify.js"></script>
152
152
  <script>
@@ -550,7 +550,7 @@ outlineIcons.termWidgets.addTri = new outlineIcons.OutlinerIcon(
550
550
  <div class='footer quiet pad2 space-top1 center small'>
551
551
  Code coverage generated by
552
552
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
553
- at 2025-08-11T15:01:13.932Z
553
+ at 2025-08-19T14:36:45.118Z
554
554
  </div>
555
555
  <script src="../prettify.js"></script>
556
556
  <script>
@@ -181,7 +181,7 @@ export function viewsAddPropertyView (views, property, pviewfunc, isDefault) {
181
181
  <div class='footer quiet pad2 space-top1 center small'>
182
182
  Code coverage generated by
183
183
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
184
- at 2025-08-11T15:01:13.932Z
184
+ at 2025-08-19T14:36:45.118Z
185
185
  </div>
186
186
  <script src="../prettify.js"></script>
187
187
  <script>
@@ -106,7 +106,7 @@ export default (dom) =&gt; function viewAsImage (obj) {
106
106
  <div class='footer quiet pad2 space-top1 center small'>
107
107
  Code coverage generated by
108
108
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
109
- at 2025-08-11T15:01:13.932Z
109
+ at 2025-08-19T14:36:45.118Z
110
110
  </div>
111
111
  <script src="../prettify.js"></script>
112
112
  <script>
@@ -112,7 +112,7 @@
112
112
  <div class='footer quiet pad2 space-top1 center small'>
113
113
  Code coverage generated by
114
114
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
115
- at 2025-08-11T15:01:13.932Z
115
+ at 2025-08-19T14:36:45.118Z
116
116
  </div>
117
117
  <script src="../prettify.js"></script>
118
118
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2025-08-11T15:01:13.932Z
104
+ at 2025-08-19T14:36:45.118Z
105
105
  </div>
106
106
  <script src="../prettify.js"></script>
107
107
  <script>
@@ -223,7 +223,7 @@ export function generateRandomString () {
223
223
  <div class='footer quiet pad2 space-top1 center small'>
224
224
  Code coverage generated by
225
225
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
226
- at 2025-08-11T15:01:13.932Z
226
+ at 2025-08-19T14:36:45.118Z
227
227
  </div>
228
228
  <script src="../prettify.js"></script>
229
229
  <script>
@@ -113,7 +113,7 @@ var _default = exports["default"] = {
113
113
  var subjects = [];
114
114
  for (u in uriHash) {
115
115
  // @@ TODO: Write away the need for exception on next line
116
-
116
+ // eslint-disable-next-line no-prototype-builtins
117
117
  if (uriHash.hasOwnProperty(u)) {
118
118
  x = kb.sym(u);
119
119
  if (sortBy) {
@@ -1 +1 @@
1
- {"version":3,"file":"attachPane.js","names":["UI","_interopRequireWildcard","require","$rdf","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_default","exports","icon","icons","iconBase","name","label","subject","context","kb","session","store","findTypeURIs","QU","Namespace","WF","uri","findSuperClassesNT","holds","render","dom","complain","message","pre","createElement","setAttribute","div","appendChild","createTextNode","findStore","updater","editable","doc","any","esc","utils","escapeForXML","innerHTML","predicate","range","subjects","multi","options","currentMode","currentSubject","currentObject","objectType","getSortKeySimple","_c","uriMap","sym","ns","ui","getSortKey","c","k","sup","cl","fromNT","undefined","getMembersAndSort","sortBy","u","x","key","uriHash","findMemberURIs","pairs","value","push","sort","reverse","length","objects","deselectObject","preview","showFiltered","mode","filtered","getFiltered","widgets","selectorPanelRefresh","objectList","showObject","linkClicked","filter","y","each","setAttachment","refresh","verb","linkDone3","ok","body","sts","st","update","event","inverse","s","showSubject","selected","subjectList","selectorPanel","fetcher","load","then","outliner","getOutliner","display","propertyTable","err","textContent","headerButtons","labels","intial","callback","head","current","tr","style0","style1","setStyles","buttons","b","listen","addEventListener","_e","setMode","wrapper","stores","_loop","storeURI","mintBox","storeLab","_event","thisForm","promptForNew","_body","insertBefore","nextSibling"],"sources":["../../src/attach/attachPane.js"],"sourcesContent":["/* Attachment Pane\n **\n ** - Attach a document to a thing\n ** - View attachments\n ** - Look at all unattached Supporting Documents.\n ** - Drag a document onto the pane to attach it @@\n **\n **\n */\n\n import * as UI from 'solid-ui'\n import * as $rdf from 'rdflib'\n\nexport default {\n icon: UI.icons.iconBase + 'noun_25830.svg', // noun_25830\n\n name: 'attachments',\n\n // Does the subject deserve an attachments pane?\n //\n // In this case we will render any thing which is in any subclass of\n // certain classes, or also the certain classes themselves, as a\n // triage tool for correlating many attachees with attachments.\n // We also offer the pane for anything of any class which just has an attachment already.\n //\n label: function (subject, context) {\n const kb = context.session.store\n const t = kb.findTypeURIs(subject)\n const QU = $rdf.Namespace('http://www.w3.org/2000/10/swap/pim/qif#')\n const WF = $rdf.Namespace('http://www.w3.org/2005/01/wf/flow#')\n if (\n t['http://www.w3.org/ns/pim/trip#Trip'] || // If in any subclass\n subject.uri === 'http://www.w3.org/ns/pim/trip#Trip' ||\n t['http://www.w3.org/2005/01/wf/flow#Task'] ||\n t['http://www.w3.org/2000/10/swap/pim/qif#Transaction'] ||\n // subject.uri == 'http://www.w3.org/2000/10/swap/pim/qif#Transaction' ||\n QU('Transaction') in kb.findSuperClassesNT(subject) ||\n kb.holds(subject, WF('attachment'))\n ) {\n return 'attachments'\n }\n return null\n },\n\n render: function (subject, context) {\n const dom = context.dom\n const kb = context.session.store\n const WF = $rdf.Namespace('http://www.w3.org/2005/01/wf/flow#')\n const QU = $rdf.Namespace('http://www.w3.org/2000/10/swap/pim/qif#')\n\n // ////////////////////////////////////////////////////////////////////////////\n\n const complain = function complain (message) {\n const pre = dom.createElement('pre')\n pre.setAttribute('style', 'background-color: pink')\n div.appendChild(pre)\n pre.appendChild(dom.createTextNode(message))\n }\n\n // Where can we write about this thing?\n //\n // Returns term for document or null\n const findStore = function (kb, subject) {\n if (kb.updater.editable(subject.doc(), kb)) return subject.doc()\n const store = kb.any(subject.doc(), QU('annotationStore'))\n return store\n }\n\n const div = dom.createElement('div')\n const esc = UI.utils.escapeForXML\n div.setAttribute('class', 'attachPane')\n div.innerHTML =\n '<h1>' + esc(UI.utils.label(subject, true)) + ' attachments</h1>' //\n\n const predicate = WF('attachment')\n const range = QU('SupportingDocument')\n\n let subjects, multi\n const options = {}\n let currentMode = 0 // 0 -> Show all; 1 -> Attached; 2 -> unattached\n let currentSubject = null\n let currentObject = null\n const objectType = QU('SupportingDocument')\n\n // Find all members of the class which we know about\n // and sort them by an appropriate property. @@ Move to library\n //\n\n const getSortKeySimple = function (_c) {\n const uriMap = {\n 'http://www.w3.org/2005/01/wf/flow#Task': 'http://purl.org/dc/elements/1.1/created',\n 'http://www.w3.org/ns/pim/trip#Trip': 'http://www.w3.org/2002/12/cal/ical#dtstart',\n 'http://www.w3.org/2000/10/swap/pim/qif#Transaction': 'http://www.w3.org/2000/10/swap/pim/qif#date',\n 'http://www.w3.org/2000/10/swap/pim/qif#SupportingDocument': 'http://purl.org/dc/elements/1.1/date'\n }\n const uri = uriMap[subject.uri]\n return uri ? kb.sym(uri) : kb.any(subject, UI.ns.ui('sortBy'))\n }\n\n const getSortKey = function (c) {\n let k = getSortKeySimple(c.uri)\n if (k) return k\n const sup = kb.findSuperClassesNT(c)\n for (const cl in sup) {\n // note unordered -- could be closest first\n k = getSortKeySimple(kb.fromNT(cl).uri)\n if (k) return k\n }\n return undefined // failure\n }\n\n const getMembersAndSort = function (subject) {\n const sortBy = getSortKey(subject)\n let u, x, key\n const uriHash = kb.findMemberURIs(subject)\n const pairs = []\n const subjects = []\n for (u in uriHash) {\n // @@ TODO: Write away the need for exception on next line\n \n if (uriHash.hasOwnProperty(u)) {\n x = kb.sym(u)\n if (sortBy) {\n key = kb.any(x, sortBy)\n if (!key) {\n // complain(\"No key \"+key+\" sortby \"+sortBy+\" for \"+x)\n key = '8888-12-31'\n } else {\n key = key.value\n }\n } else {\n complain('No sortby ' + sortBy + ' for ' + x)\n key = '9999-12-31'\n }\n // key = (sortBy && kb.any(x, sortBy)) || kb.literal(\"9999-12-31\") // Undated appear future\n // if (!key) complain(\"Sort: '\"+key+\"' No \"+sortBy+\" for \"+x) // Assume just not in this year\n pairs.push([key, x])\n }\n }\n pairs.sort()\n pairs.reverse() // @@ Descending order .. made a toggle?\n for (let i = 0; i < pairs.length; i++) {\n subjects.push(pairs[i][1])\n }\n return subjects\n }\n\n // Set up a triage of many class members against documents or just one\n if (\n subject.uri === 'http://www.w3.org/ns/pim/trip#Trip' ||\n QU('Transaction') in kb.findSuperClassesNT(subject)\n // subject.uri == 'http://www.w3.org/2000/10/swap/pim/qif#Transaction'\n ) {\n multi = true\n subjects = getMembersAndSort(subject)\n } else {\n currentSubject = subject\n currentMode = 1 // Show attached only.\n subjects = [subject]\n multi = false\n }\n\n // var store = findStore(kb, subject)\n // if (!store) complain(\"There is no annotation store for: \"+subject.uri)\n\n // var objects = kb.each(undefined, ns.rdf('type'), range)\n const objects = getMembersAndSort(range)\n if (!objects) complain('objects:' + objects.length)\n\n const deselectObject = function () {\n currentObject = null\n preview.innerHTML = ''\n }\n\n const showFiltered = function (mode) {\n const filtered = mode === 0 ? objects : getFiltered()\n // eslint-enable\n UI.widgets.selectorPanelRefresh(\n objectList,\n dom,\n kb,\n objectType,\n predicate,\n true,\n filtered,\n options,\n showObject,\n linkClicked\n )\n if (filtered.length === 1) {\n currentObject = filtered[0]\n showObject(currentObject, null, true) // @@ (Sure?) if only one select it.\n } else {\n deselectObject()\n }\n\n function getFiltered () {\n return mode === 1\n ? currentSubject === null\n ? objects.filter(y => !!kb.holds(undefined, predicate, y))\n : objects.filter(y => !!kb.holds(currentSubject, predicate, y))\n : objects.filter(y => kb.each(undefined, predicate, y).length === 0)\n }\n }\n\n const setAttachment = function (x, y, value, refresh) {\n if (kb.holds(x, predicate, y) === value) return\n const verb = value ? 'attach' : 'detach'\n // complain(\"Info: starting to \"+verb+\" \" + y.uri + \" to \"+x.uri+ \":\\n\")\n const linkDone3 = function (uri, ok, body) {\n if (ok) {\n // complain(\"Success \"+verb+\" \"+y.uri+\" to \"+x.uri+ \":\\n\"+ body)\n refresh()\n } else {\n complain(\n 'Error: Unable to ' +\n verb +\n ' ' +\n y.uri +\n ' to ' +\n x.uri +\n ':\\n' +\n body\n )\n }\n }\n\n const store = findStore(kb, x)\n if (!store) {\n complain('There is no annotation store for: ' + x.uri)\n } else {\n const sts = [$rdf.st(x, predicate, y, store)]\n if (value) {\n kb.updater.update([], sts, linkDone3)\n } else {\n kb.updater.update(sts, [], linkDone3)\n }\n }\n }\n\n const linkClicked = function (x, event, inverse, refresh) {\n let s, o\n if (inverse) {\n // Objectlist\n if (!currentSubject) {\n complain('No subject for the link has been selected')\n return\n } else {\n s = currentSubject\n o = x\n }\n } else {\n // Subjectlist\n if (!currentObject) {\n complain('No object for the link has been selected')\n return\n } else {\n s = x\n o = currentObject\n }\n }\n setAttachment(s, o, !kb.holds(s, predicate, o), refresh) // @@ toggle\n }\n\n // When you click on a subject, filter the objects connected to the subject in Mode 1\n const showSubject = function (x, event, selected) {\n if (selected) {\n currentSubject = x\n } else {\n currentSubject = null\n if (currentMode === 1) deselectObject()\n } // If all are displayed, refresh would just annoy:\n if (currentMode !== 0) showFiltered(currentMode) // Refresh the objects\n }\n\n if (multi) {\n const subjectList = UI.widgets.selectorPanel(\n dom,\n kb,\n subject,\n predicate,\n false,\n subjects,\n options,\n showSubject,\n linkClicked\n )\n subjectList.setAttribute(\n 'style',\n 'background-color: white; width: 25em; height: 100%; padding: 0 em; overflow:scroll; float:left'\n )\n div.appendChild(subjectList)\n }\n\n const showObject = function (x, event, selected) {\n if (!selected) {\n deselectObject()\n preview.innerHTML = '' // Clean out what is there\n // complain(\"Show object \"+x.uri)\n return\n }\n currentObject = x\n try {\n /*\n var dispalyable = function (kb, x) {\n var cts = kb.fetcher.getHeader(x, 'content-type')\n if (cts) {\n var displayables = ['text/html', 'image/png', 'application/pdf']\n for (var j = 0; j < cts.length; j++) {\n for (var k = 0; k < displayables.length; k++) {\n if (cts[j].indexOf(displayables[k]) >= 0) {\n return true\n }\n }\n }\n }\n return false\n }\n */\n preview.innerHTML = 'Loading ....'\n if (x.uri) {\n kb.fetcher\n .load(x.uri)\n .then(() => {\n const outliner = context.getOutliner(dom)\n const display = outliner.propertyTable(x) // ,table, pane\n preview.innerHTML = ''\n preview.appendChild(display)\n })\n .catch(err => {\n preview.textContent = 'Error loading ' + x.uri + ': ' + err\n })\n }\n /*\n if (dispalyable(kb, x) || x.uri.slice(-4) == \".pdf\" || x.uri.slice(-4) == \".png\" || x.uri.slice(-5) == \".html\" ||\n x.uri.slice(-5) == \".jpeg\") { // @@@@@@ MAJOR KLUDGE! use metadata after HEAD\n preview.innerHTML = '<iframe height=\"100%\" width=\"100%\"src=\"'\n + x.uri + '\">' + x.uri + '</iframe>'\n } else {\n }\n */\n } catch (e) {\n preview.innerHTML =\n '<span style=\"background-color: pink;\">' + 'Error:' + e + '</span>' // @@ enc\n }\n }\n\n div.setAttribute(\n 'style',\n 'background-color: white; width:40cm; height:20cm;'\n )\n\n const headerButtons = function (dom, labels, intial, callback) {\n const head = dom.createElement('table')\n let current = intial\n head.setAttribute(\n 'style',\n 'float: left; width: 30em; padding: 0.5em; height: 1.5em; background-color: #ddd; color: #444; font-weight: bold'\n )\n const tr = dom.createElement('tr')\n const style0 = 'border-radius: 0.6em; text-align: center;'\n const style1 = style0 + 'background-color: #ccc; color: black;'\n head.appendChild(tr)\n const setStyles = function () {\n for (i = 0; i < labels.length; i++) {\n buttons[i].setAttribute('style', i === current ? style1 : style0)\n }\n }\n let i, b\n const buttons = []\n for (i = 0; i < labels.length; i++) {\n b = buttons[i] = dom.createElement('td')\n b.textContent = labels[i]\n tr.appendChild(buttons[i])\n const listen = function (b, i) {\n b.addEventListener('click', function (_e) {\n current = i\n setStyles()\n callback(i)\n })\n }\n listen(b, i)\n }\n setStyles()\n return head\n }\n\n const setMode = function (mode) {\n if (mode !== currentMode) {\n currentMode = mode\n deselectObject()\n showFiltered(mode)\n }\n }\n\n const wrapper = dom.createElement('div')\n wrapper.setAttribute(\n 'style',\n ' width: 30em; height: 100%; padding: 0em; float:left;'\n )\n // wrapper.appendChild(head)\n div.appendChild(wrapper)\n wrapper.appendChild(\n headerButtons(\n dom,\n ['all', 'attached', 'not attached'],\n currentMode,\n setMode\n )\n )\n\n const objectList = UI.widgets.selectorPanel(\n dom,\n kb,\n objectType,\n predicate,\n true,\n objects,\n options,\n showObject,\n linkClicked\n )\n objectList.setAttribute(\n 'style',\n 'background-color: #ffe; width: 30em; height: 100%; padding: 0em; overflow:scroll;'\n ) // float:left\n wrapper.appendChild(objectList)\n\n // objectList.insertBefore(head, objectList.firstChild)\n\n const preview = dom.createElement('div')\n preview.setAttribute(\n 'style',\n /* background-color: black; */ 'padding: 0em; margin: 0; height: 100%; overflow:scroll;'\n )\n div.appendChild(preview)\n showFiltered(currentMode)\n\n if (subjects.length > 0 && multi) {\n const stores = {}\n for (let k = 0; k < subjects.length; k++) {\n const store = findStore(kb, subjects[k])\n if (store) stores[store.uri] = subjects[k]\n // if (!store) complain(\"No store for \"+subjects[k].uri)\n }\n for (const storeURI in stores) {\n // var store = findStore(kb,subjects[subjectList.length-1])\n const store = kb.sym(storeURI)\n const mintBox = dom.createElement('div')\n mintBox.setAttribute(\n 'style',\n 'clear: left; width: 20em; margin-top:2em; background-color:#ccc; border-radius: 1em; padding: 1em; font-weight: bold;'\n )\n mintBox.textContent = '+ New ' + UI.utils.label(subject)\n\n mintBox.textContent += ' in ' + UI.utils.label(store)\n const storeLab = dom.createElement('span')\n storeLab.setAttribute(\n 'style',\n 'font-weight: normal; font-size: 80%; color: #777;'\n )\n storeLab.textContent = storeURI\n mintBox.appendChild(dom.createElement('br'))\n mintBox.appendChild(storeLab)\n /*\n var mintButton = dom.createElement('img')\n mintBox.appendChild(mintButton)\n mintButton.setAttribute('src', ...); @@ Invokes master handler\n */\n mintBox.addEventListener(\n 'click',\n function (_event) {\n const thisForm = UI.widgets.promptForNew(\n dom,\n kb,\n subject,\n predicate,\n subject,\n null,\n store,\n function (ok, _body) {\n if (!ok) {\n // callback(ok, body); // @@ if ok, need some form of refresh of the select for the new thing\n } else {\n // Refresh @@\n }\n }\n )\n try {\n div.insertBefore(thisForm, mintBox.nextSibling) // Sigh no insertAfter\n } catch (e) {\n div.appendChild(thisForm)\n }\n // var newObject = thisForm.AJAR_subject\n },\n false\n )\n div.appendChild(mintBox)\n }\n }\n\n // if (!me) complain(\"(You do not have your Web Id set. Set your Web ID to make changes.)\")\n\n return div\n }\n} // pane object\n\n// ends\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"attachPane.js","names":["UI","_interopRequireWildcard","require","$rdf","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_default","exports","icon","icons","iconBase","name","label","subject","context","kb","session","store","findTypeURIs","QU","Namespace","WF","uri","findSuperClassesNT","holds","render","dom","complain","message","pre","createElement","setAttribute","div","appendChild","createTextNode","findStore","updater","editable","doc","any","esc","utils","escapeForXML","innerHTML","predicate","range","subjects","multi","options","currentMode","currentSubject","currentObject","objectType","getSortKeySimple","_c","uriMap","sym","ns","ui","getSortKey","c","k","sup","cl","fromNT","undefined","getMembersAndSort","sortBy","u","x","key","uriHash","findMemberURIs","pairs","value","push","sort","reverse","length","objects","deselectObject","preview","showFiltered","mode","filtered","getFiltered","widgets","selectorPanelRefresh","objectList","showObject","linkClicked","filter","y","each","setAttachment","refresh","verb","linkDone3","ok","body","sts","st","update","event","inverse","s","showSubject","selected","subjectList","selectorPanel","fetcher","load","then","outliner","getOutliner","display","propertyTable","err","textContent","headerButtons","labels","intial","callback","head","current","tr","style0","style1","setStyles","buttons","b","listen","addEventListener","_e","setMode","wrapper","stores","_loop","storeURI","mintBox","storeLab","_event","thisForm","promptForNew","_body","insertBefore","nextSibling"],"sources":["../../src/attach/attachPane.js"],"sourcesContent":["/* Attachment Pane\n **\n ** - Attach a document to a thing\n ** - View attachments\n ** - Look at all unattached Supporting Documents.\n ** - Drag a document onto the pane to attach it @@\n **\n **\n */\n\n import * as UI from 'solid-ui'\n import * as $rdf from 'rdflib'\n\nexport default {\n icon: UI.icons.iconBase + 'noun_25830.svg', // noun_25830\n\n name: 'attachments',\n\n // Does the subject deserve an attachments pane?\n //\n // In this case we will render any thing which is in any subclass of\n // certain classes, or also the certain classes themselves, as a\n // triage tool for correlating many attachees with attachments.\n // We also offer the pane for anything of any class which just has an attachment already.\n //\n label: function (subject, context) {\n const kb = context.session.store\n const t = kb.findTypeURIs(subject)\n const QU = $rdf.Namespace('http://www.w3.org/2000/10/swap/pim/qif#')\n const WF = $rdf.Namespace('http://www.w3.org/2005/01/wf/flow#')\n if (\n t['http://www.w3.org/ns/pim/trip#Trip'] || // If in any subclass\n subject.uri === 'http://www.w3.org/ns/pim/trip#Trip' ||\n t['http://www.w3.org/2005/01/wf/flow#Task'] ||\n t['http://www.w3.org/2000/10/swap/pim/qif#Transaction'] ||\n // subject.uri == 'http://www.w3.org/2000/10/swap/pim/qif#Transaction' ||\n QU('Transaction') in kb.findSuperClassesNT(subject) ||\n kb.holds(subject, WF('attachment'))\n ) {\n return 'attachments'\n }\n return null\n },\n\n render: function (subject, context) {\n const dom = context.dom\n const kb = context.session.store\n const WF = $rdf.Namespace('http://www.w3.org/2005/01/wf/flow#')\n const QU = $rdf.Namespace('http://www.w3.org/2000/10/swap/pim/qif#')\n\n // ////////////////////////////////////////////////////////////////////////////\n\n const complain = function complain (message) {\n const pre = dom.createElement('pre')\n pre.setAttribute('style', 'background-color: pink')\n div.appendChild(pre)\n pre.appendChild(dom.createTextNode(message))\n }\n\n // Where can we write about this thing?\n //\n // Returns term for document or null\n const findStore = function (kb, subject) {\n if (kb.updater.editable(subject.doc(), kb)) return subject.doc()\n const store = kb.any(subject.doc(), QU('annotationStore'))\n return store\n }\n\n const div = dom.createElement('div')\n const esc = UI.utils.escapeForXML\n div.setAttribute('class', 'attachPane')\n div.innerHTML =\n '<h1>' + esc(UI.utils.label(subject, true)) + ' attachments</h1>' //\n\n const predicate = WF('attachment')\n const range = QU('SupportingDocument')\n\n let subjects, multi\n const options = {}\n let currentMode = 0 // 0 -> Show all; 1 -> Attached; 2 -> unattached\n let currentSubject = null\n let currentObject = null\n const objectType = QU('SupportingDocument')\n\n // Find all members of the class which we know about\n // and sort them by an appropriate property. @@ Move to library\n //\n\n const getSortKeySimple = function (_c) {\n const uriMap = {\n 'http://www.w3.org/2005/01/wf/flow#Task': 'http://purl.org/dc/elements/1.1/created',\n 'http://www.w3.org/ns/pim/trip#Trip': 'http://www.w3.org/2002/12/cal/ical#dtstart',\n 'http://www.w3.org/2000/10/swap/pim/qif#Transaction': 'http://www.w3.org/2000/10/swap/pim/qif#date',\n 'http://www.w3.org/2000/10/swap/pim/qif#SupportingDocument': 'http://purl.org/dc/elements/1.1/date'\n }\n const uri = uriMap[subject.uri]\n return uri ? kb.sym(uri) : kb.any(subject, UI.ns.ui('sortBy'))\n }\n\n const getSortKey = function (c) {\n let k = getSortKeySimple(c.uri)\n if (k) return k\n const sup = kb.findSuperClassesNT(c)\n for (const cl in sup) {\n // note unordered -- could be closest first\n k = getSortKeySimple(kb.fromNT(cl).uri)\n if (k) return k\n }\n return undefined // failure\n }\n\n const getMembersAndSort = function (subject) {\n const sortBy = getSortKey(subject)\n let u, x, key\n const uriHash = kb.findMemberURIs(subject)\n const pairs = []\n const subjects = []\n for (u in uriHash) {\n // @@ TODO: Write away the need for exception on next line\n // eslint-disable-next-line no-prototype-builtins\n if (uriHash.hasOwnProperty(u)) {\n x = kb.sym(u)\n if (sortBy) {\n key = kb.any(x, sortBy)\n if (!key) {\n // complain(\"No key \"+key+\" sortby \"+sortBy+\" for \"+x)\n key = '8888-12-31'\n } else {\n key = key.value\n }\n } else {\n complain('No sortby ' + sortBy + ' for ' + x)\n key = '9999-12-31'\n }\n // key = (sortBy && kb.any(x, sortBy)) || kb.literal(\"9999-12-31\") // Undated appear future\n // if (!key) complain(\"Sort: '\"+key+\"' No \"+sortBy+\" for \"+x) // Assume just not in this year\n pairs.push([key, x])\n }\n }\n pairs.sort()\n pairs.reverse() // @@ Descending order .. made a toggle?\n for (let i = 0; i < pairs.length; i++) {\n subjects.push(pairs[i][1])\n }\n return subjects\n }\n\n // Set up a triage of many class members against documents or just one\n if (\n subject.uri === 'http://www.w3.org/ns/pim/trip#Trip' ||\n QU('Transaction') in kb.findSuperClassesNT(subject)\n // subject.uri == 'http://www.w3.org/2000/10/swap/pim/qif#Transaction'\n ) {\n multi = true\n subjects = getMembersAndSort(subject)\n } else {\n currentSubject = subject\n currentMode = 1 // Show attached only.\n subjects = [subject]\n multi = false\n }\n\n // var store = findStore(kb, subject)\n // if (!store) complain(\"There is no annotation store for: \"+subject.uri)\n\n // var objects = kb.each(undefined, ns.rdf('type'), range)\n const objects = getMembersAndSort(range)\n if (!objects) complain('objects:' + objects.length)\n\n const deselectObject = function () {\n currentObject = null\n preview.innerHTML = ''\n }\n\n const showFiltered = function (mode) {\n const filtered = mode === 0 ? objects : getFiltered()\n // eslint-enable\n UI.widgets.selectorPanelRefresh(\n objectList,\n dom,\n kb,\n objectType,\n predicate,\n true,\n filtered,\n options,\n showObject,\n linkClicked\n )\n if (filtered.length === 1) {\n currentObject = filtered[0]\n showObject(currentObject, null, true) // @@ (Sure?) if only one select it.\n } else {\n deselectObject()\n }\n\n function getFiltered () {\n return mode === 1\n ? currentSubject === null\n ? objects.filter(y => !!kb.holds(undefined, predicate, y))\n : objects.filter(y => !!kb.holds(currentSubject, predicate, y))\n : objects.filter(y => kb.each(undefined, predicate, y).length === 0)\n }\n }\n\n const setAttachment = function (x, y, value, refresh) {\n if (kb.holds(x, predicate, y) === value) return\n const verb = value ? 'attach' : 'detach'\n // complain(\"Info: starting to \"+verb+\" \" + y.uri + \" to \"+x.uri+ \":\\n\")\n const linkDone3 = function (uri, ok, body) {\n if (ok) {\n // complain(\"Success \"+verb+\" \"+y.uri+\" to \"+x.uri+ \":\\n\"+ body)\n refresh()\n } else {\n complain(\n 'Error: Unable to ' +\n verb +\n ' ' +\n y.uri +\n ' to ' +\n x.uri +\n ':\\n' +\n body\n )\n }\n }\n\n const store = findStore(kb, x)\n if (!store) {\n complain('There is no annotation store for: ' + x.uri)\n } else {\n const sts = [$rdf.st(x, predicate, y, store)]\n if (value) {\n kb.updater.update([], sts, linkDone3)\n } else {\n kb.updater.update(sts, [], linkDone3)\n }\n }\n }\n\n const linkClicked = function (x, event, inverse, refresh) {\n let s, o\n if (inverse) {\n // Objectlist\n if (!currentSubject) {\n complain('No subject for the link has been selected')\n return\n } else {\n s = currentSubject\n o = x\n }\n } else {\n // Subjectlist\n if (!currentObject) {\n complain('No object for the link has been selected')\n return\n } else {\n s = x\n o = currentObject\n }\n }\n setAttachment(s, o, !kb.holds(s, predicate, o), refresh) // @@ toggle\n }\n\n // When you click on a subject, filter the objects connected to the subject in Mode 1\n const showSubject = function (x, event, selected) {\n if (selected) {\n currentSubject = x\n } else {\n currentSubject = null\n if (currentMode === 1) deselectObject()\n } // If all are displayed, refresh would just annoy:\n if (currentMode !== 0) showFiltered(currentMode) // Refresh the objects\n }\n\n if (multi) {\n const subjectList = UI.widgets.selectorPanel(\n dom,\n kb,\n subject,\n predicate,\n false,\n subjects,\n options,\n showSubject,\n linkClicked\n )\n subjectList.setAttribute(\n 'style',\n 'background-color: white; width: 25em; height: 100%; padding: 0 em; overflow:scroll; float:left'\n )\n div.appendChild(subjectList)\n }\n\n const showObject = function (x, event, selected) {\n if (!selected) {\n deselectObject()\n preview.innerHTML = '' // Clean out what is there\n // complain(\"Show object \"+x.uri)\n return\n }\n currentObject = x\n try {\n /*\n var dispalyable = function (kb, x) {\n var cts = kb.fetcher.getHeader(x, 'content-type')\n if (cts) {\n var displayables = ['text/html', 'image/png', 'application/pdf']\n for (var j = 0; j < cts.length; j++) {\n for (var k = 0; k < displayables.length; k++) {\n if (cts[j].indexOf(displayables[k]) >= 0) {\n return true\n }\n }\n }\n }\n return false\n }\n */\n preview.innerHTML = 'Loading ....'\n if (x.uri) {\n kb.fetcher\n .load(x.uri)\n .then(() => {\n const outliner = context.getOutliner(dom)\n const display = outliner.propertyTable(x) // ,table, pane\n preview.innerHTML = ''\n preview.appendChild(display)\n })\n .catch(err => {\n preview.textContent = 'Error loading ' + x.uri + ': ' + err\n })\n }\n /*\n if (dispalyable(kb, x) || x.uri.slice(-4) == \".pdf\" || x.uri.slice(-4) == \".png\" || x.uri.slice(-5) == \".html\" ||\n x.uri.slice(-5) == \".jpeg\") { // @@@@@@ MAJOR KLUDGE! use metadata after HEAD\n preview.innerHTML = '<iframe height=\"100%\" width=\"100%\"src=\"'\n + x.uri + '\">' + x.uri + '</iframe>'\n } else {\n }\n */\n } catch (e) {\n preview.innerHTML =\n '<span style=\"background-color: pink;\">' + 'Error:' + e + '</span>' // @@ enc\n }\n }\n\n div.setAttribute(\n 'style',\n 'background-color: white; width:40cm; height:20cm;'\n )\n\n const headerButtons = function (dom, labels, intial, callback) {\n const head = dom.createElement('table')\n let current = intial\n head.setAttribute(\n 'style',\n 'float: left; width: 30em; padding: 0.5em; height: 1.5em; background-color: #ddd; color: #444; font-weight: bold'\n )\n const tr = dom.createElement('tr')\n const style0 = 'border-radius: 0.6em; text-align: center;'\n const style1 = style0 + 'background-color: #ccc; color: black;'\n head.appendChild(tr)\n const setStyles = function () {\n for (i = 0; i < labels.length; i++) {\n buttons[i].setAttribute('style', i === current ? style1 : style0)\n }\n }\n let i, b\n const buttons = []\n for (i = 0; i < labels.length; i++) {\n b = buttons[i] = dom.createElement('td')\n b.textContent = labels[i]\n tr.appendChild(buttons[i])\n const listen = function (b, i) {\n b.addEventListener('click', function (_e) {\n current = i\n setStyles()\n callback(i)\n })\n }\n listen(b, i)\n }\n setStyles()\n return head\n }\n\n const setMode = function (mode) {\n if (mode !== currentMode) {\n currentMode = mode\n deselectObject()\n showFiltered(mode)\n }\n }\n\n const wrapper = dom.createElement('div')\n wrapper.setAttribute(\n 'style',\n ' width: 30em; height: 100%; padding: 0em; float:left;'\n )\n // wrapper.appendChild(head)\n div.appendChild(wrapper)\n wrapper.appendChild(\n headerButtons(\n dom,\n ['all', 'attached', 'not attached'],\n currentMode,\n setMode\n )\n )\n\n const objectList = UI.widgets.selectorPanel(\n dom,\n kb,\n objectType,\n predicate,\n true,\n objects,\n options,\n showObject,\n linkClicked\n )\n objectList.setAttribute(\n 'style',\n 'background-color: #ffe; width: 30em; height: 100%; padding: 0em; overflow:scroll;'\n ) // float:left\n wrapper.appendChild(objectList)\n\n // objectList.insertBefore(head, objectList.firstChild)\n\n const preview = dom.createElement('div')\n preview.setAttribute(\n 'style',\n /* background-color: black; */ 'padding: 0em; margin: 0; height: 100%; overflow:scroll;'\n )\n div.appendChild(preview)\n showFiltered(currentMode)\n\n if (subjects.length > 0 && multi) {\n const stores = {}\n for (let k = 0; k < subjects.length; k++) {\n const store = findStore(kb, subjects[k])\n if (store) stores[store.uri] = subjects[k]\n // if (!store) complain(\"No store for \"+subjects[k].uri)\n }\n for (const storeURI in stores) {\n // var store = findStore(kb,subjects[subjectList.length-1])\n const store = kb.sym(storeURI)\n const mintBox = dom.createElement('div')\n mintBox.setAttribute(\n 'style',\n 'clear: left; width: 20em; margin-top:2em; background-color:#ccc; border-radius: 1em; padding: 1em; font-weight: bold;'\n )\n mintBox.textContent = '+ New ' + UI.utils.label(subject)\n\n mintBox.textContent += ' in ' + UI.utils.label(store)\n const storeLab = dom.createElement('span')\n storeLab.setAttribute(\n 'style',\n 'font-weight: normal; font-size: 80%; color: #777;'\n )\n storeLab.textContent = storeURI\n mintBox.appendChild(dom.createElement('br'))\n mintBox.appendChild(storeLab)\n /*\n var mintButton = dom.createElement('img')\n mintBox.appendChild(mintButton)\n mintButton.setAttribute('src', ...); @@ Invokes master handler\n */\n mintBox.addEventListener(\n 'click',\n function (_event) {\n const thisForm = UI.widgets.promptForNew(\n dom,\n kb,\n subject,\n predicate,\n subject,\n null,\n store,\n function (ok, _body) {\n if (!ok) {\n // callback(ok, body); // @@ if ok, need some form of refresh of the select for the new thing\n } else {\n // Refresh @@\n }\n }\n )\n try {\n div.insertBefore(thisForm, mintBox.nextSibling) // Sigh no insertAfter\n } catch (e) {\n div.appendChild(thisForm)\n }\n // var newObject = thisForm.AJAR_subject\n },\n false\n )\n div.appendChild(mintBox)\n }\n }\n\n // if (!me) complain(\"(You do not have your Web Id set. Set your Web ID to make changes.)\")\n\n return div\n }\n} // pane object\n\n// ends\n"],"mappings":"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","ignoreList":[]}
@@ -1623,7 +1623,7 @@ function _default(context) {
1623
1623
  case 39:
1624
1624
  // right
1625
1625
  // @@ TODO: Write away the need for exception on next line
1626
-
1626
+ // eslint-disable-next-line no-case-declarations
1627
1627
  var obj = UI.utils.getAbout(kb, selectedTd);
1628
1628
  if (obj) {
1629
1629
  walk = this.walk;