solid-panes 3.5.28-bc882da5 → 3.5.28-c77cd8eb

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 (140) hide show
  1. package/lib/RDFXMLPane.js +10 -2
  2. package/lib/RDFXMLPane.js.map +1 -1
  3. package/lib/argument/argumentPane.js +7 -5
  4. package/lib/argument/argumentPane.js.map +1 -1
  5. package/lib/attach/attachPane.js +13 -7
  6. package/lib/attach/attachPane.js.map +1 -1
  7. package/lib/audio/audioPane.js +13 -6
  8. package/lib/audio/audioPane.js.map +1 -1
  9. package/lib/classInstancePane.js +11 -3
  10. package/lib/classInstancePane.js.map +1 -1
  11. package/lib/dashboard/basicPreferences.js +96 -104
  12. package/lib/dashboard/basicPreferences.js.map +1 -1
  13. package/lib/dashboard/homepage.js +27 -31
  14. package/lib/dashboard/homepage.js.map +1 -1
  15. package/lib/dataContentPane.js +12 -4
  16. package/lib/dataContentPane.js.map +1 -1
  17. package/lib/defaultPane.js +11 -3
  18. package/lib/defaultPane.js.map +1 -1
  19. package/lib/dokieli/dokieliPane.js +15 -11
  20. package/lib/dokieli/dokieliPane.js.map +1 -1
  21. package/lib/dokieli/new.js +6 -1
  22. package/lib/dokieli/new.js.map +1 -1
  23. package/lib/form/pane.js +8 -5
  24. package/lib/form/pane.js.map +1 -1
  25. package/lib/home/homePane.d.ts.map +1 -1
  26. package/lib/home/homePane.js +35 -49
  27. package/lib/home/homePane.js.map +1 -1
  28. package/lib/imagePane.js +11 -2
  29. package/lib/imagePane.js.map +1 -1
  30. package/lib/index.js +2 -2
  31. package/lib/index.js.map +1 -1
  32. package/lib/mainPage/header.js +65 -73
  33. package/lib/mainPage/header.js.map +1 -1
  34. package/lib/mainPage/index.js +17 -19
  35. package/lib/mainPage/index.js.map +1 -1
  36. package/lib/microblogPane/microblogPane.js +82 -84
  37. package/lib/microblogPane/microblogPane.js.map +1 -1
  38. package/lib/n3Pane.js +11 -2
  39. package/lib/n3Pane.js.map +1 -1
  40. package/lib/outline/licenseOptions.js +13 -11
  41. package/lib/outline/licenseOptions.js.map +1 -1
  42. package/lib/outline/manager.js +581 -616
  43. package/lib/outline/manager.js.map +1 -1
  44. package/lib/outline/manager.test.js +16 -15
  45. package/lib/outline/manager.test.js.map +1 -1
  46. package/lib/outline/outlineIcons.js +10 -2
  47. package/lib/outline/outlineIcons.js.map +1 -1
  48. package/lib/outline/propertyViews.d.ts +3 -2
  49. package/lib/outline/propertyViews.d.ts.map +1 -1
  50. package/lib/outline/propertyViews.js +7 -5
  51. package/lib/outline/propertyViews.js.map +1 -1
  52. package/lib/outline/propertyViews.test.js +6 -4
  53. package/lib/outline/propertyViews.test.js.map +1 -1
  54. package/lib/outline/queryByExample.js +6 -6
  55. package/lib/outline/queryByExample.js.map +1 -1
  56. package/lib/outline/userInput.js +7 -5
  57. package/lib/outline/userInput.js.map +1 -1
  58. package/lib/playlist/playlistPane.js +13 -6
  59. package/lib/playlist/playlistPane.js.map +1 -1
  60. package/lib/profile/editProfile.view.d.ts.map +1 -1
  61. package/lib/profile/editProfile.view.js +16 -0
  62. package/lib/profile/editProfile.view.js.map +1 -1
  63. package/lib/registerPanes.js +93 -50
  64. package/lib/registerPanes.js.map +1 -1
  65. package/lib/schedule/formsForSchedule.js +6 -1
  66. package/lib/schedule/formsForSchedule.js.map +1 -1
  67. package/lib/schedule/schedulePane.js +9 -4
  68. package/lib/schedule/schedulePane.js.map +1 -1
  69. package/lib/slideshow/slideshowPane.js +16 -11
  70. package/lib/slideshow/slideshowPane.js.map +1 -1
  71. package/lib/socialPane.js +13 -9
  72. package/lib/socialPane.js.map +1 -1
  73. package/lib/tabbed/tabbedPane.js +32 -34
  74. package/lib/tabbed/tabbedPane.js.map +1 -1
  75. package/lib/tableViewPane.js +12 -3
  76. package/lib/tableViewPane.js.map +1 -1
  77. package/lib/test-import-export/common.js +6 -2
  78. package/lib/test-import-export/common.js.map +1 -1
  79. package/lib/test-import-export/edit-importer.js +9 -11
  80. package/lib/test-import-export/edit-importer.js.map +1 -1
  81. package/lib/transaction/pane.js +12 -6
  82. package/lib/transaction/pane.js.map +1 -1
  83. package/lib/transaction/period.js +11 -4
  84. package/lib/transaction/period.js.map +1 -1
  85. package/lib/trip/tripPane.js +12 -5
  86. package/lib/trip/tripPane.js.map +1 -1
  87. package/lib/trustedApplications/trustedApplications.dom.js +4 -1
  88. package/lib/trustedApplications/trustedApplications.dom.js.map +1 -1
  89. package/lib/trustedApplications/trustedApplications.test.js +3 -0
  90. package/lib/trustedApplications/trustedApplications.test.js.map +1 -1
  91. package/lib/trustedApplications/trustedApplications.utils.js +1 -1
  92. package/lib/trustedApplications/trustedApplications.view.js +38 -40
  93. package/lib/trustedApplications/trustedApplications.view.js.map +1 -1
  94. package/lib/ui/pane.js +12 -5
  95. package/lib/ui/pane.js.map +1 -1
  96. package/lib/versionInfo.js +2 -2
  97. package/lib/versionInfo.js.map +1 -1
  98. package/lib/video/videoPane.js +12 -5
  99. package/lib/video/videoPane.js.map +1 -1
  100. package/package.json +2 -2
  101. package/src/RDFXMLPane.js +2 -2
  102. package/src/argument/argumentPane.js +1 -1
  103. package/src/attach/attachPane.js +3 -3
  104. package/src/audio/audioPane.js +3 -3
  105. package/src/classInstancePane.js +3 -3
  106. package/src/dataContentPane.js +3 -4
  107. package/src/defaultPane.js +3 -3
  108. package/src/dokieli/dokieliPane.js +5 -5
  109. package/src/dokieli/new.js +1 -1
  110. package/src/form/pane.js +2 -2
  111. package/src/home/homePane.ts +1 -14
  112. package/src/imagePane.js +2 -2
  113. package/src/index.ts +1 -1
  114. package/src/microblogPane/microblogPane.js +1 -1
  115. package/src/n3Pane.js +2 -2
  116. package/src/outline/licenseOptions.js +9 -8
  117. package/src/outline/manager.js +18 -21
  118. package/src/outline/manager.test.ts +6 -0
  119. package/src/outline/outlineIcons.js +4 -2
  120. package/src/outline/propertyViews.test.ts +7 -1
  121. package/src/outline/propertyViews.ts +3 -3
  122. package/src/outline/queryByExample.js +3 -9
  123. package/src/outline/userInput.js +1 -1
  124. package/src/playlist/playlistPane.js +3 -3
  125. package/src/profile/editProfile.view.ts +20 -0
  126. package/src/registerPanes.js +92 -52
  127. package/src/schedule/formsForSchedule.js +1 -1
  128. package/src/schedule/schedulePane.js +6 -2
  129. package/src/slideshow/slideshowPane.js +3 -6
  130. package/src/socialPane.js +2 -3
  131. package/src/tableViewPane.js +3 -3
  132. package/src/test-import-export/common.js +1 -1
  133. package/src/test-import-export/edit-importer.js +5 -10
  134. package/src/transaction/pane.js +3 -3
  135. package/src/transaction/period.js +2 -2
  136. package/src/trip/tripPane.js +3 -3
  137. package/src/trustedApplications/trustedApplications.test.ts +4 -0
  138. package/src/ui/pane.js +3 -3
  139. package/src/versionInfo.ts +2 -2
  140. package/src/video/videoPane.js +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"pane.js","names":["UI","require","$rdf","ns","module","exports","icon","icons","iconBase","name","audience","solid","label","subject","context","kb","session","store","t","findTypeURIs","any","qu","render","dom","fetcher","Q","Namespace","TRIP","div","createElement","setAttribute","mention","message","style","undefined","pre","appendChild","createTextNode","complain","plist","statementsMatching","qlist","predicateURIsDone","donePredicate","pred","uri","setPaneStyle","account","mystyle","backgroundColor","ui","value","d2","n","s","indexOf","split","slice","numericCell","amount","suppressZero","td","textContent","headerCell","str","oderByDate","x","y","dx","dy","insertedPane","paneName","p","paneRegistry","byName","d","expandAfterRow","row","solo","siblings","parentNode","children","j","length","expanded","removeChild","tr","cols","nextSibling","insertBefore","expandAfterRowOrCollapse","transactionTable","list","filter","table","transactionRow","setTRStyle","c0","date","c1","payee","a1","c3","addEventListener","e","shiftKey","list2","sort","i","rdf","statement","nav","navLink","obj","a","utils","preds","map","inner","labelForXML","join","innerHTML","complainIfBad","ok","body","nowOrWhenFetched","calendarYear","renderCatgorySelectors","widgets","makeSelectForNestedCategory","rdfs","Classified","load","then","_xhrs","each","console","log","makeDescription","trips","st","object","trips2","concat","sortedBy","reverse","l2","key","pair","cal","makeSelectForOptions","multiple","nullLabel","mint","mintClass","mintStatementsFun","trip","is","push","doc","outliner","getOutliner","attachmentList","wf","appendPropertyTRs","_inverse","calculations","total","yearTotal","yearCategoryTotal","trans","bankStatements","forEach","the","year","ty","tyuri","lit","parseFloat","types","grandTotal","years","hasOwnProperty","ny","cell","header","z","cat","sym","tab"],"sources":["../../src/transaction/pane.js"],"sourcesContent":["/* Financial Transaction Pane\n **\n ** This outline pane allows a user to interact with a transaction\n ** downloaded from a bank statement, annotting it with classes and comments,\n ** trips, etc\n */\n\nconst UI = require('solid-ui')\nconst $rdf = require('rdflib')\nconst ns = UI.ns\n\nmodule.exports = {\n // icon: (module.__dirname || __dirname) + '22-pixel-068010-3d-transparent-glass-icon-alphanumeric-dollar-sign.png',\n icon: UI.icons.iconBase + 'noun_106746.svg',\n\n name: 'transaction',\n\n audience: [ns.solid('PowerUser')],\n\n // Does the subject deserve this pane?\n label: function (subject, context) {\n const kb = context.session.store\n const t = kb.findTypeURIs(subject)\n if (t['http://www.w3.org/2000/10/swap/pim/qif#Transaction']) return '$$'\n if (kb.any(subject, UI.ns.qu('amount'))) return '$$$' // In case schema not picked up\n\n // if (t['http://www.w3.org/2000/10/swap/pim/qif#Period']) return \"period $\"\n\n if (t['http://www.w3.org/ns/pim/trip#Trip']) return 'Trip $'\n\n return null // No under other circumstances (while testing at least!)\n },\n\n render: function (subject, context) {\n const dom = context.dom\n const kb = context.session.store\n const fetcher = kb.fetcher\n const Q = $rdf.Namespace('http://www.w3.org/2000/10/swap/pim/qif#')\n const TRIP = $rdf.Namespace('http://www.w3.org/ns/pim/trip#')\n\n const div = dom.createElement('div')\n div.setAttribute('class', 'transactionPane')\n\n const mention = function mention (message, style) {\n if (style === undefined) style = 'color: grey'\n const pre = dom.createElement('pre')\n pre.setAttribute('style', style)\n div.appendChild(pre)\n pre.appendChild(dom.createTextNode(message))\n }\n const complain = function complain (message) {\n return mention(message, 'color: #100; background-color: #fee')\n }\n\n /*\n var thisPane = this\n var rerender = function (div) {\n var parent = div.parentNode\n var div2 = thisPane.render(subject, dom)\n parent.replaceChild(div2, div)\n }\n */\n // //////////////////////////////////////////////////////////////////////////////\n\n const plist = kb.statementsMatching(subject)\n const qlist = kb.statementsMatching(undefined, undefined, subject)\n\n const t = kb.findTypeURIs(subject)\n\n // var me = authn.currentUser()\n const predicateURIsDone = {}\n const donePredicate = function (pred) {\n predicateURIsDone[pred.uri] = true\n }\n\n const setPaneStyle = function (account) {\n let mystyle = 'padding: 0.5em 1.5em 1em 1.5em; '\n if (account) {\n const backgroundColor = kb.any(account, UI.ns.ui('backgroundColor'))\n if (backgroundColor) {\n mystyle += 'background-color: ' + backgroundColor.value + '; '\n }\n }\n div.setAttribute('style', mystyle)\n }\n // setPaneStyle()\n\n // Functions for displaying lists of transactions\n // Click on the transaction line to expand it into a pane\n // Shift-click to expand without collapsing others\n\n const d2 = function (n) {\n if (n === undefined) return ''\n const s = '' + n\n if (s.indexOf('.') >= 0) {\n return s.split('.')[0] + '.' + (s.split('.')[1] + '00').slice(0, 2)\n }\n return s + '.00'\n }\n\n const numericCell = function numericCell (amount, suppressZero) {\n const td = dom.createElement('td')\n if (!(0.0 + amount === 0.0 && suppressZero)) {\n td.textContent = d2(amount)\n }\n td.setAttribute('style', 'width: 6em; text-align: right; ')\n return td\n }\n\n const headerCell = function headerCell (str) {\n const td = dom.createElement('th')\n td.textContent = str\n td.setAttribute('style', 'text-align: right; ')\n return td\n }\n\n const oderByDate = function (x, y) {\n const dx = kb.any(x, ns.qu('date'))\n const dy = kb.any(y, ns.qu('date'))\n if (dx !== undefined && dy !== undefined) {\n if (dx.value < dy.value) return -1\n if (dx.value > dy.value) return 1\n }\n if (x.uri < y.uri) return -1 // Arbitrary but repeatable\n if (x.uri > y.uri) return 1\n return 0\n }\n\n const insertedPane = function (context, subject, paneName) {\n const p = context.session.paneRegistry.byName(paneName)\n const d = p.render(subject, context)\n d.setAttribute('style', 'border: 0.1em solid green;')\n return d\n }\n\n const expandAfterRow = function (dom, row, subject, paneName, solo) {\n const siblings = row.parentNode.children\n if (solo) {\n for (let j = siblings.length - 1; j >= 0; j--) {\n if (siblings[j].expanded) {\n siblings[j].parentNode.removeChild(siblings[j].expanded)\n siblings[j].expanded = false\n }\n }\n }\n const tr = dom.createElement('tr')\n const td = tr.appendChild(dom.createElement('td'))\n td.setAttribute(\n 'style',\n 'width: 98%; padding: 1em; border: 0.1em solid grey;'\n )\n const cols = row.children.length\n if (row.nextSibling) {\n row.parentNode.insertBefore(tr, row.nextSibling)\n } else {\n row.parentNode.appendChild(tr)\n }\n row.expanded = tr\n td.setAttribute('colspan', '' + cols)\n td.appendChild(insertedPane(context, subject, paneName))\n }\n\n const expandAfterRowOrCollapse = function (\n dom,\n row,\n subject,\n paneName,\n solo\n ) {\n if (row.expanded) {\n row.parentNode.removeChild(row.expanded)\n row.expanded = false\n } else {\n expandAfterRow(dom, row, subject, paneName, solo)\n }\n }\n\n const transactionTable = function (dom, list, filter) {\n const table = dom.createElement('table')\n table.setAttribute(\n 'style',\n 'padding-left: 0.5em; padding-right: 0.5em; font-size: 9pt; width: 85%;'\n )\n const transactionRow = function (dom, x) {\n const tr = dom.createElement('tr')\n\n const setTRStyle = function (tr, account) {\n // var mystyle = \"padding: 0.5em 1.5em 1em 1.5em; \"\n let mystyle =\n \"'padding-left: 0.5em; padding-right: 0.5em; padding-top: 0.1em;\"\n if (account) {\n const backgroundColor = kb.any(account, UI.ns.ui('backgroundColor'))\n if (backgroundColor) {\n mystyle += 'background-color: ' + backgroundColor.value + '; '\n }\n }\n tr.setAttribute('style', mystyle)\n }\n\n const account = kb.any(x, ns.qu('toAccount'))\n setTRStyle(tr, account)\n\n const c0 = tr.appendChild(dom.createElement('td'))\n const date = kb.any(x, ns.qu('date'))\n c0.textContent = date ? date.value.slice(0, 10) : '???'\n c0.setAttribute('style', 'width: 7em;')\n\n const c1 = tr.appendChild(dom.createElement('td'))\n c1.setAttribute('style', 'width: 36em;')\n const payee = kb.any(x, ns.qu('payee'))\n c1.textContent = payee ? payee.value : '???'\n const a1 = c1.appendChild(dom.createElement('a'))\n a1.textContent = ' ➜'\n a1.setAttribute('href', x.uri)\n\n const c3 = tr.appendChild(dom.createElement('td'))\n const amount = kb.any(x, ns.qu('in_USD'))\n c3.textContent = amount ? d2(amount.value) : '???'\n c3.setAttribute('style', 'width: 6em; text-align: right; ') // @@ decimal alignment?\n tr.addEventListener(\n 'click',\n function (e) {\n // solo unless shift key\n expandAfterRowOrCollapse(dom, tr, x, 'transaction', !e.shiftKey)\n },\n false\n )\n\n return tr\n }\n\n const list2 = filter ? list.filter(filter) : list.slice() // don't sort a paramater passed in place\n list2.sort(oderByDate)\n\n for (let i = 0; i < list2.length; i++) {\n table.appendChild(transactionRow(dom, list2[i]))\n }\n return table\n }\n\n // Render a single transaction\n\n // This works only if enough metadata about the properties can drive the RDFS\n // (or actual type statements whichtypically are NOT there on)\n if (\n t['http://www.w3.org/2000/10/swap/pim/qif#Transaction'] ||\n kb.any(subject, ns.qu('toAccount'))\n ) {\n // var trip = kb.any(subject, WF('trip'))\n donePredicate(ns.rdf('type'))\n\n const account = kb.any(subject, UI.ns.qu('toAccount'))\n setPaneStyle(account)\n if (!account) {\n complain(\n '(Error: There is no bank account known for this transaction <' +\n subject.uri +\n '>,\\n -- every transaction needs one.)'\n )\n }\n\n let store = null\n const statement = kb.any(subject, UI.ns.qu('accordingTo'))\n if (statement === undefined) {\n complain(\n '(Error: There is no back link to the original data source foir this transaction <' +\n subject.uri +\n \">,\\nso I can't tell how to annotate it.)\"\n )\n } else {\n store =\n statement !== undefined\n ? kb.any(statement, UI.ns.qu('annotationStore'))\n : null\n if (store === undefined) {\n complain(\n '(There is no annotation document for this statement\\n<' +\n statement.uri +\n '>,\\nso you cannot classify this transaction.)'\n )\n }\n }\n\n const nav = dom.createElement('div')\n nav.setAttribute('style', 'float:right')\n div.appendChild(nav)\n\n const navLink = function (pred, label) {\n donePredicate(pred)\n const obj = kb.any(subject, pred)\n if (!obj) return\n const a = dom.createElement('a')\n a.setAttribute('href', obj.uri)\n a.setAttribute('style', 'float:right')\n nav.appendChild(a).textContent = label || UI.utils.label(obj)\n nav.appendChild(dom.createElement('br'))\n }\n\n navLink(UI.ns.qu('toAccount'))\n navLink(UI.ns.qu('accordingTo'), 'Statement')\n navLink(TRIP('trip'))\n\n // Basic data:\n const table = dom.createElement('table')\n div.appendChild(table)\n const preds = ['date', 'payee', 'amount', 'in_USD', 'currency'].map(Q)\n const inner = preds\n .map(function (p) {\n donePredicate(p)\n const value = kb.any(subject, p)\n const s = value ? UI.utils.labelForXML(value) : ''\n return (\n '<tr><td style=\"text-align: right; padding-right: 0.6em\">' +\n UI.utils.labelForXML(p) +\n '</td><td style=\"font-weight: bold;\">' +\n s +\n '</td></tr>'\n )\n })\n .join('\\n')\n table.innerHTML = inner\n\n const complainIfBad = function (ok, body) {\n if (ok) {\n // setModifiedDate(store, kb, store)\n // rerender(div) // deletes the new trip form\n } else complain('Sorry, failed to save your change:\\n' + body)\n }\n\n // What trips do we know about?\n\n // Classify:\n if (store) {\n kb.fetcher.nowOrWhenFetched(store.uri, subject, function (ok, body) {\n if (!ok) complain('Cannot load store ' + store + ' ' + body)\n\n const calendarYear = kb.any(store, ns.qu('calendarYear'))\n\n const renderCatgorySelectors = function () {\n div.insertBefore(\n UI.widgets.makeSelectForNestedCategory(\n dom,\n kb,\n subject,\n UI.ns.qu('Classified'),\n store,\n complainIfBad\n ),\n table.nextSibling\n )\n }\n\n if (kb.any(undefined, ns.rdfs('subClassOf'), ns.qu.Classified)) {\n renderCatgorySelectors()\n } else if (calendarYear) {\n fetcher\n .load(calendarYear)\n .then(function (_xhrs) {\n fetcher\n .load(kb.each(calendarYear, ns.rdfs('seeAlso')))\n .then(function () {\n renderCatgorySelectors()\n })\n .catch(function (e) {\n console.log('Error loading background data: ' + e)\n })\n })\n .catch(function (e) {\n console.log('Error loading calendarYear: ' + e)\n })\n } else {\n console.log(\"Can't get categories, because no calendarYear\")\n }\n div.appendChild(\n UI.widgets.makeDescription(\n dom,\n kb,\n subject,\n UI.ns.rdfs('comment'),\n store,\n complainIfBad\n )\n )\n\n let trips = kb\n .statementsMatching(undefined, TRIP('trip'), undefined, store)\n .map(function (st) {\n return st.object\n }) // @@ Use rdfs\n const trips2 = kb.each(undefined, UI.ns.rdf('type'), TRIP('Trip'))\n trips = trips.concat(trips2).sort() // @@ Unique\n\n const sortedBy = function (kb, list, pred, reverse) {\n const l2 = list.map(function (x) {\n let key = kb.any(x, pred)\n key = key ? key.value : '9999-12-31'\n return [key, x]\n })\n l2.sort()\n if (reverse) l2.reverse()\n return l2.map(function (pair) {\n return pair[1]\n })\n }\n\n trips = sortedBy(kb, trips, UI.ns.cal('dtstart'), true) // Reverse chron\n\n if (trips.length > 1) {\n div.appendChild(\n UI.widgets.makeSelectForOptions(\n dom,\n kb,\n subject,\n TRIP('trip'),\n trips,\n {\n multiple: false,\n nullLabel: '-- what trip? --',\n mint: 'New Trip *',\n mintClass: TRIP('Trip'),\n mintStatementsFun: function (trip) {\n const is = []\n is.push(\n $rdf.st(trip, UI.ns.rdf('type'), TRIP('Trip'), trip.doc())\n )\n return is\n }\n },\n store,\n complainIfBad\n )\n )\n }\n\n div.appendChild(dom.createElement('br'))\n\n // Add in simple comments about the transaction\n\n const outliner = context.getOutliner(dom)\n\n donePredicate(ns.rdfs('comment')) // Done above\n\n UI.widgets.attachmentList(dom, subject, div)\n donePredicate(ns.wf('attachment'))\n\n div\n .appendChild(dom.createElement('tr'))\n .setAttribute('style', 'height: 1em') // spacer\n\n // Remaining properties\n outliner.appendPropertyTRs(div, plist, false, function (\n pred,\n _inverse\n ) {\n return !(pred.uri in predicateURIsDone)\n })\n outliner.appendPropertyTRs(div, qlist, true, function (\n pred,\n _inverse\n ) {\n return !(pred.uri in predicateURIsDone)\n })\n }) // fetch\n }\n // end of render tranasaction instance\n\n // ////////////////////////////////////////////////////////////////////\n //\n // Render the transactions in a Trip\n //\n } else if (t['http://www.w3.org/ns/pim/trip#Trip']) {\n /*\n var query = new $rdf.Query(UI.utils.label(subject))\n var vars = [ 'date', 'transaction', 'comment', 'type', 'in_USD']\n var v = {}\n vars.map(function(x){query.vars.push(v[x]=$rdf.variable(x))}) // Only used by UI\n query.pat.add(v['transaction'], TRIP('trip'), subject)\n\n var opt = kb.formula()\n opt.add(v['transaction'], ns.rdf('type'), v['type']); // Issue: this will get stored supertypes too\n query.pat.optional.push(opt)\n\n query.pat.add(v['transaction'], UI.ns.qu('date'), v['date'])\n\n var opt = kb.formula()\n opt.add(v['transaction'], ns.rdfs('comment'), v['comment'])\n query.pat.optional.push(opt)\n\n //opt = kb.formula()\n query.pat.add(v['transaction'], UI.ns.qu('in_USD'), v['in_USD'])\n\n //query.pat.optional.push(opt)\n\n var tableDiv = UI.widgets.renderTableViewPane(dom, {'query': query, 'onDone': calculations} )\n div.appendChild(tableDiv)\n\n*/\n const calculations = function () {\n const total = {}\n const yearTotal = {}\n const yearCategoryTotal = {}\n const trans = kb.each(undefined, TRIP('trip'), subject)\n const bankStatements = trans.map(function (t) {\n return t.doc()\n })\n kb.fetcher\n .load(bankStatements)\n .then(function () {\n trans.forEach(function (t) {\n const date = kb.the(t, ns.qu('date'))\n const year = date ? ('' + date.value).slice(0, 4) : '????'\n let ty = kb.the(t, ns.rdf('type')) // @@ find most specific type\n // complain(\" -- one trans: \"+t.uri + ' -> '+kb.any(t, UI.ns.qu('in_USD')))\n if (!ty) ty = UI.ns.qu('ErrorNoType')\n if (ty && ty.uri) {\n const tyuri = ty.uri\n if (!yearTotal[year]) yearTotal[year] = 0.0\n if (!yearCategoryTotal[year]) yearCategoryTotal[year] = {}\n if (!total[tyuri]) total[tyuri] = 0.0\n if (!yearCategoryTotal[year][tyuri]) {\n yearCategoryTotal[year][tyuri] = 0.0\n }\n\n const lit = kb.any(t, UI.ns.qu('in_USD'))\n if (!lit) {\n complain('@@ No amount in USD: ' + lit + ' for ' + t)\n }\n if (lit) {\n const amount = parseFloat(lit.value)\n total[tyuri] += amount\n yearCategoryTotal[year][tyuri] += amount\n yearTotal[year] += amount\n }\n }\n })\n\n const types = []\n let grandTotal = 0.0\n const years = []\n let i\n\n for (const y in yearCategoryTotal) {\n // @@ TODO: Write away the need for exception on next line\n // eslint-disable-next-line no-prototype-builtins\n if (yearCategoryTotal.hasOwnProperty(y)) {\n years.push(y)\n }\n }\n years.sort()\n const ny = years.length\n let cell\n\n const table = div.appendChild(dom.createElement('table'))\n table.setAttribute(\n 'style',\n 'font-size: 120%; margin-left:auto; margin-right:1em; margin-top: 1em; border: 0.05em solid gray; padding: 1em;'\n )\n\n if (ny > 1) {\n const header = table.appendChild(dom.createElement('tr'))\n header.appendChild(headerCell(''))\n for (i = 0; i < ny; i++) {\n header.appendChild(headerCell(years[i]))\n }\n header.appendChild(headerCell('total'))\n }\n\n for (const uri in total) {\n // @@ TODO: Write away the need for exception on next line\n // eslint-disable-next-line no-prototype-builtins\n if (total.hasOwnProperty(uri)) {\n types.push(uri)\n grandTotal += total[uri]\n }\n }\n types.sort()\n let row, label, z\n for (let j = 0; j < types.length; j++) {\n const cat = kb.sym(types[j])\n row = table.appendChild(dom.createElement('tr'))\n label = row.appendChild(dom.createElement('td'))\n label.textContent = UI.utils.label(cat)\n if (ny > 1) {\n for (i = 0; i < ny; i++) {\n z = yearCategoryTotal[years[i]][types[j]]\n cell = row.appendChild(numericCell(z, true))\n }\n }\n row.appendChild(numericCell(total[types[j]], true))\n }\n\n // Trailing totals\n if (types.length > 1) {\n row = table.appendChild(dom.createElement('tr'))\n row.appendChild(headerCell('total'))\n if (ny > 1) {\n for (i = 0; i < ny; i++) {\n z = yearTotal[years[i]]\n cell = row.appendChild(numericCell(z ? d2(z) : ''))\n }\n }\n cell = row.appendChild(numericCell(grandTotal))\n cell.setAttribute(\n 'style',\n 'font-weight: bold; text-align: right;'\n )\n }\n\n const tab = transactionTable(dom, trans)\n tab.setAttribute(\n 'style',\n 'margin-left:auto; margin-right:1em; margin-top: 1em; border: padding: 1em;'\n )\n div.appendChild(tab)\n\n UI.widgets.attachmentList(dom, subject, div)\n })\n .catch(function (e) {\n complain('Error loading transactions: ' + e)\n })\n }\n calculations()\n } // if\n\n return div\n }\n}\n\n// ends\n"],"mappings":"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"}
1
+ {"version":3,"file":"pane.js","names":["ns","UI","icon","icons","iconBase","name","audience","solid","label","subject","context","kb","session","store","t","findTypeURIs","any","qu","render","dom","fetcher","Q","$rdf","Namespace","TRIP","div","createElement","setAttribute","mention","message","style","undefined","pre","appendChild","createTextNode","complain","plist","statementsMatching","qlist","predicateURIsDone","donePredicate","pred","uri","setPaneStyle","account","mystyle","backgroundColor","ui","value","d2","n","s","indexOf","split","slice","numericCell","amount","suppressZero","td","textContent","headerCell","str","oderByDate","x","y","dx","dy","insertedPane","paneName","p","paneRegistry","byName","d","expandAfterRow","row","solo","siblings","parentNode","children","j","length","expanded","removeChild","tr","cols","nextSibling","insertBefore","expandAfterRowOrCollapse","transactionTable","list","filter","table","transactionRow","setTRStyle","c0","date","c1","payee","a1","c3","addEventListener","e","shiftKey","list2","sort","i","rdf","statement","nav","navLink","obj","a","utils","preds","map","inner","labelForXML","join","innerHTML","complainIfBad","ok","body","nowOrWhenFetched","calendarYear","renderCatgorySelectors","widgets","makeSelectForNestedCategory","rdfs","Classified","load","then","_xhrs","each","console","log","makeDescription","trips","st","object","trips2","concat","sortedBy","reverse","l2","key","pair","cal","makeSelectForOptions","multiple","nullLabel","mint","mintClass","mintStatementsFun","trip","is","push","doc","outliner","getOutliner","attachmentList","wf","appendPropertyTRs","_inverse","calculations","total","yearTotal","yearCategoryTotal","trans","bankStatements","forEach","the","year","ty","tyuri","lit","parseFloat","types","grandTotal","years","hasOwnProperty","ny","cell","header","z","cat","sym","tab"],"sources":["../../src/transaction/pane.js"],"sourcesContent":["/* Financial Transaction Pane\n **\n ** This outline pane allows a user to interact with a transaction\n ** downloaded from a bank statement, annotting it with classes and comments,\n ** trips, etc\n */\n\nimport * as UI from 'solid-ui'\nimport * as $rdf from 'rdflib'\nconst ns = UI.ns\n\nexport default {\n // icon: (module.__dirname || __dirname) + '22-pixel-068010-3d-transparent-glass-icon-alphanumeric-dollar-sign.png',\n icon: UI.icons.iconBase + 'noun_106746.svg',\n\n name: 'transaction',\n\n audience: [ns.solid('PowerUser')],\n\n // Does the subject deserve this pane?\n label: function (subject, context) {\n const kb = context.session.store\n const t = kb.findTypeURIs(subject)\n if (t['http://www.w3.org/2000/10/swap/pim/qif#Transaction']) return '$$'\n if (kb.any(subject, UI.ns.qu('amount'))) return '$$$' // In case schema not picked up\n\n // if (t['http://www.w3.org/2000/10/swap/pim/qif#Period']) return \"period $\"\n\n if (t['http://www.w3.org/ns/pim/trip#Trip']) return 'Trip $'\n\n return null // No under other circumstances (while testing at least!)\n },\n\n render: function (subject, context) {\n const dom = context.dom\n const kb = context.session.store\n const fetcher = kb.fetcher\n const Q = $rdf.Namespace('http://www.w3.org/2000/10/swap/pim/qif#')\n const TRIP = $rdf.Namespace('http://www.w3.org/ns/pim/trip#')\n\n const div = dom.createElement('div')\n div.setAttribute('class', 'transactionPane')\n\n const mention = function mention (message, style) {\n if (style === undefined) style = 'color: grey'\n const pre = dom.createElement('pre')\n pre.setAttribute('style', style)\n div.appendChild(pre)\n pre.appendChild(dom.createTextNode(message))\n }\n const complain = function complain (message) {\n return mention(message, 'color: #100; background-color: #fee')\n }\n\n /*\n var thisPane = this\n var rerender = function (div) {\n var parent = div.parentNode\n var div2 = thisPane.render(subject, dom)\n parent.replaceChild(div2, div)\n }\n */\n // //////////////////////////////////////////////////////////////////////////////\n\n const plist = kb.statementsMatching(subject)\n const qlist = kb.statementsMatching(undefined, undefined, subject)\n\n const t = kb.findTypeURIs(subject)\n\n // var me = authn.currentUser()\n const predicateURIsDone = {}\n const donePredicate = function (pred) {\n predicateURIsDone[pred.uri] = true\n }\n\n const setPaneStyle = function (account) {\n let mystyle = 'padding: 0.5em 1.5em 1em 1.5em; '\n if (account) {\n const backgroundColor = kb.any(account, UI.ns.ui('backgroundColor'))\n if (backgroundColor) {\n mystyle += 'background-color: ' + backgroundColor.value + '; '\n }\n }\n div.setAttribute('style', mystyle)\n }\n // setPaneStyle()\n\n // Functions for displaying lists of transactions\n // Click on the transaction line to expand it into a pane\n // Shift-click to expand without collapsing others\n\n const d2 = function (n) {\n if (n === undefined) return ''\n const s = '' + n\n if (s.indexOf('.') >= 0) {\n return s.split('.')[0] + '.' + (s.split('.')[1] + '00').slice(0, 2)\n }\n return s + '.00'\n }\n\n const numericCell = function numericCell (amount, suppressZero) {\n const td = dom.createElement('td')\n if (!(0.0 + amount === 0.0 && suppressZero)) {\n td.textContent = d2(amount)\n }\n td.setAttribute('style', 'width: 6em; text-align: right; ')\n return td\n }\n\n const headerCell = function headerCell (str) {\n const td = dom.createElement('th')\n td.textContent = str\n td.setAttribute('style', 'text-align: right; ')\n return td\n }\n\n const oderByDate = function (x, y) {\n const dx = kb.any(x, ns.qu('date'))\n const dy = kb.any(y, ns.qu('date'))\n if (dx !== undefined && dy !== undefined) {\n if (dx.value < dy.value) return -1\n if (dx.value > dy.value) return 1\n }\n if (x.uri < y.uri) return -1 // Arbitrary but repeatable\n if (x.uri > y.uri) return 1\n return 0\n }\n\n const insertedPane = function (context, subject, paneName) {\n const p = context.session.paneRegistry.byName(paneName)\n const d = p.render(subject, context)\n d.setAttribute('style', 'border: 0.1em solid green;')\n return d\n }\n\n const expandAfterRow = function (dom, row, subject, paneName, solo) {\n const siblings = row.parentNode.children\n if (solo) {\n for (let j = siblings.length - 1; j >= 0; j--) {\n if (siblings[j].expanded) {\n siblings[j].parentNode.removeChild(siblings[j].expanded)\n siblings[j].expanded = false\n }\n }\n }\n const tr = dom.createElement('tr')\n const td = tr.appendChild(dom.createElement('td'))\n td.setAttribute(\n 'style',\n 'width: 98%; padding: 1em; border: 0.1em solid grey;'\n )\n const cols = row.children.length\n if (row.nextSibling) {\n row.parentNode.insertBefore(tr, row.nextSibling)\n } else {\n row.parentNode.appendChild(tr)\n }\n row.expanded = tr\n td.setAttribute('colspan', '' + cols)\n td.appendChild(insertedPane(context, subject, paneName))\n }\n\n const expandAfterRowOrCollapse = function (\n dom,\n row,\n subject,\n paneName,\n solo\n ) {\n if (row.expanded) {\n row.parentNode.removeChild(row.expanded)\n row.expanded = false\n } else {\n expandAfterRow(dom, row, subject, paneName, solo)\n }\n }\n\n const transactionTable = function (dom, list, filter) {\n const table = dom.createElement('table')\n table.setAttribute(\n 'style',\n 'padding-left: 0.5em; padding-right: 0.5em; font-size: 9pt; width: 85%;'\n )\n const transactionRow = function (dom, x) {\n const tr = dom.createElement('tr')\n\n const setTRStyle = function (tr, account) {\n // var mystyle = \"padding: 0.5em 1.5em 1em 1.5em; \"\n let mystyle =\n \"'padding-left: 0.5em; padding-right: 0.5em; padding-top: 0.1em;\"\n if (account) {\n const backgroundColor = kb.any(account, UI.ns.ui('backgroundColor'))\n if (backgroundColor) {\n mystyle += 'background-color: ' + backgroundColor.value + '; '\n }\n }\n tr.setAttribute('style', mystyle)\n }\n\n const account = kb.any(x, ns.qu('toAccount'))\n setTRStyle(tr, account)\n\n const c0 = tr.appendChild(dom.createElement('td'))\n const date = kb.any(x, ns.qu('date'))\n c0.textContent = date ? date.value.slice(0, 10) : '???'\n c0.setAttribute('style', 'width: 7em;')\n\n const c1 = tr.appendChild(dom.createElement('td'))\n c1.setAttribute('style', 'width: 36em;')\n const payee = kb.any(x, ns.qu('payee'))\n c1.textContent = payee ? payee.value : '???'\n const a1 = c1.appendChild(dom.createElement('a'))\n a1.textContent = ' ➜'\n a1.setAttribute('href', x.uri)\n\n const c3 = tr.appendChild(dom.createElement('td'))\n const amount = kb.any(x, ns.qu('in_USD'))\n c3.textContent = amount ? d2(amount.value) : '???'\n c3.setAttribute('style', 'width: 6em; text-align: right; ') // @@ decimal alignment?\n tr.addEventListener(\n 'click',\n function (e) {\n // solo unless shift key\n expandAfterRowOrCollapse(dom, tr, x, 'transaction', !e.shiftKey)\n },\n false\n )\n\n return tr\n }\n\n const list2 = filter ? list.filter(filter) : list.slice() // don't sort a paramater passed in place\n list2.sort(oderByDate)\n\n for (let i = 0; i < list2.length; i++) {\n table.appendChild(transactionRow(dom, list2[i]))\n }\n return table\n }\n\n // Render a single transaction\n\n // This works only if enough metadata about the properties can drive the RDFS\n // (or actual type statements whichtypically are NOT there on)\n if (\n t['http://www.w3.org/2000/10/swap/pim/qif#Transaction'] ||\n kb.any(subject, ns.qu('toAccount'))\n ) {\n // var trip = kb.any(subject, WF('trip'))\n donePredicate(ns.rdf('type'))\n\n const account = kb.any(subject, UI.ns.qu('toAccount'))\n setPaneStyle(account)\n if (!account) {\n complain(\n '(Error: There is no bank account known for this transaction <' +\n subject.uri +\n '>,\\n -- every transaction needs one.)'\n )\n }\n\n let store = null\n const statement = kb.any(subject, UI.ns.qu('accordingTo'))\n if (statement === undefined) {\n complain(\n '(Error: There is no back link to the original data source foir this transaction <' +\n subject.uri +\n \">,\\nso I can't tell how to annotate it.)\"\n )\n } else {\n store =\n statement !== undefined\n ? kb.any(statement, UI.ns.qu('annotationStore'))\n : null\n if (store === undefined) {\n complain(\n '(There is no annotation document for this statement\\n<' +\n statement.uri +\n '>,\\nso you cannot classify this transaction.)'\n )\n }\n }\n\n const nav = dom.createElement('div')\n nav.setAttribute('style', 'float:right')\n div.appendChild(nav)\n\n const navLink = function (pred, label) {\n donePredicate(pred)\n const obj = kb.any(subject, pred)\n if (!obj) return\n const a = dom.createElement('a')\n a.setAttribute('href', obj.uri)\n a.setAttribute('style', 'float:right')\n nav.appendChild(a).textContent = label || UI.utils.label(obj)\n nav.appendChild(dom.createElement('br'))\n }\n\n navLink(UI.ns.qu('toAccount'))\n navLink(UI.ns.qu('accordingTo'), 'Statement')\n navLink(TRIP('trip'))\n\n // Basic data:\n const table = dom.createElement('table')\n div.appendChild(table)\n const preds = ['date', 'payee', 'amount', 'in_USD', 'currency'].map(Q)\n const inner = preds\n .map(function (p) {\n donePredicate(p)\n const value = kb.any(subject, p)\n const s = value ? UI.utils.labelForXML(value) : ''\n return (\n '<tr><td style=\"text-align: right; padding-right: 0.6em\">' +\n UI.utils.labelForXML(p) +\n '</td><td style=\"font-weight: bold;\">' +\n s +\n '</td></tr>'\n )\n })\n .join('\\n')\n table.innerHTML = inner\n\n const complainIfBad = function (ok, body) {\n if (ok) {\n // setModifiedDate(store, kb, store)\n // rerender(div) // deletes the new trip form\n } else complain('Sorry, failed to save your change:\\n' + body)\n }\n\n // What trips do we know about?\n\n // Classify:\n if (store) {\n kb.fetcher.nowOrWhenFetched(store.uri, subject, function (ok, body) {\n if (!ok) complain('Cannot load store ' + store + ' ' + body)\n\n const calendarYear = kb.any(store, ns.qu('calendarYear'))\n\n const renderCatgorySelectors = function () {\n div.insertBefore(\n UI.widgets.makeSelectForNestedCategory(\n dom,\n kb,\n subject,\n UI.ns.qu('Classified'),\n store,\n complainIfBad\n ),\n table.nextSibling\n )\n }\n\n if (kb.any(undefined, ns.rdfs('subClassOf'), ns.qu.Classified)) {\n renderCatgorySelectors()\n } else if (calendarYear) {\n fetcher\n .load(calendarYear)\n .then(function (_xhrs) {\n fetcher\n .load(kb.each(calendarYear, ns.rdfs('seeAlso')))\n .then(function () {\n renderCatgorySelectors()\n })\n .catch(function (e) {\n console.log('Error loading background data: ' + e)\n })\n })\n .catch(function (e) {\n console.log('Error loading calendarYear: ' + e)\n })\n } else {\n console.log(\"Can't get categories, because no calendarYear\")\n }\n div.appendChild(\n UI.widgets.makeDescription(\n dom,\n kb,\n subject,\n UI.ns.rdfs('comment'),\n store,\n complainIfBad\n )\n )\n\n let trips = kb\n .statementsMatching(undefined, TRIP('trip'), undefined, store)\n .map(function (st) {\n return st.object\n }) // @@ Use rdfs\n const trips2 = kb.each(undefined, UI.ns.rdf('type'), TRIP('Trip'))\n trips = trips.concat(trips2).sort() // @@ Unique\n\n const sortedBy = function (kb, list, pred, reverse) {\n const l2 = list.map(function (x) {\n let key = kb.any(x, pred)\n key = key ? key.value : '9999-12-31'\n return [key, x]\n })\n l2.sort()\n if (reverse) l2.reverse()\n return l2.map(function (pair) {\n return pair[1]\n })\n }\n\n trips = sortedBy(kb, trips, UI.ns.cal('dtstart'), true) // Reverse chron\n\n if (trips.length > 1) {\n div.appendChild(\n UI.widgets.makeSelectForOptions(\n dom,\n kb,\n subject,\n TRIP('trip'),\n trips,\n {\n multiple: false,\n nullLabel: '-- what trip? --',\n mint: 'New Trip *',\n mintClass: TRIP('Trip'),\n mintStatementsFun: function (trip) {\n const is = []\n is.push(\n $rdf.st(trip, UI.ns.rdf('type'), TRIP('Trip'), trip.doc())\n )\n return is\n }\n },\n store,\n complainIfBad\n )\n )\n }\n\n div.appendChild(dom.createElement('br'))\n\n // Add in simple comments about the transaction\n\n const outliner = context.getOutliner(dom)\n\n donePredicate(ns.rdfs('comment')) // Done above\n\n UI.widgets.attachmentList(dom, subject, div)\n donePredicate(ns.wf('attachment'))\n\n div\n .appendChild(dom.createElement('tr'))\n .setAttribute('style', 'height: 1em') // spacer\n\n // Remaining properties\n outliner.appendPropertyTRs(div, plist, false, function (\n pred,\n _inverse\n ) {\n return !(pred.uri in predicateURIsDone)\n })\n outliner.appendPropertyTRs(div, qlist, true, function (\n pred,\n _inverse\n ) {\n return !(pred.uri in predicateURIsDone)\n })\n }) // fetch\n }\n // end of render tranasaction instance\n\n // ////////////////////////////////////////////////////////////////////\n //\n // Render the transactions in a Trip\n //\n } else if (t['http://www.w3.org/ns/pim/trip#Trip']) {\n /*\n var query = new $rdf.Query(UI.utils.label(subject))\n var vars = [ 'date', 'transaction', 'comment', 'type', 'in_USD']\n var v = {}\n vars.map(function(x){query.vars.push(v[x]=$rdf.variable(x))}) // Only used by UI\n query.pat.add(v['transaction'], TRIP('trip'), subject)\n\n var opt = kb.formula()\n opt.add(v['transaction'], ns.rdf('type'), v['type']); // Issue: this will get stored supertypes too\n query.pat.optional.push(opt)\n\n query.pat.add(v['transaction'], UI.ns.qu('date'), v['date'])\n\n var opt = kb.formula()\n opt.add(v['transaction'], ns.rdfs('comment'), v['comment'])\n query.pat.optional.push(opt)\n\n //opt = kb.formula()\n query.pat.add(v['transaction'], UI.ns.qu('in_USD'), v['in_USD'])\n\n //query.pat.optional.push(opt)\n\n var tableDiv = UI.widgets.renderTableViewPane(dom, {'query': query, 'onDone': calculations} )\n div.appendChild(tableDiv)\n\n*/\n const calculations = function () {\n const total = {}\n const yearTotal = {}\n const yearCategoryTotal = {}\n const trans = kb.each(undefined, TRIP('trip'), subject)\n const bankStatements = trans.map(function (t) {\n return t.doc()\n })\n kb.fetcher\n .load(bankStatements)\n .then(function () {\n trans.forEach(function (t) {\n const date = kb.the(t, ns.qu('date'))\n const year = date ? ('' + date.value).slice(0, 4) : '????'\n let ty = kb.the(t, ns.rdf('type')) // @@ find most specific type\n // complain(\" -- one trans: \"+t.uri + ' -> '+kb.any(t, UI.ns.qu('in_USD')))\n if (!ty) ty = UI.ns.qu('ErrorNoType')\n if (ty && ty.uri) {\n const tyuri = ty.uri\n if (!yearTotal[year]) yearTotal[year] = 0.0\n if (!yearCategoryTotal[year]) yearCategoryTotal[year] = {}\n if (!total[tyuri]) total[tyuri] = 0.0\n if (!yearCategoryTotal[year][tyuri]) {\n yearCategoryTotal[year][tyuri] = 0.0\n }\n\n const lit = kb.any(t, UI.ns.qu('in_USD'))\n if (!lit) {\n complain('@@ No amount in USD: ' + lit + ' for ' + t)\n }\n if (lit) {\n const amount = parseFloat(lit.value)\n total[tyuri] += amount\n yearCategoryTotal[year][tyuri] += amount\n yearTotal[year] += amount\n }\n }\n })\n\n const types = []\n let grandTotal = 0.0\n const years = []\n let i\n\n for (const y in yearCategoryTotal) {\n // @@ TODO: Write away the need for exception on next line\n // eslint-disable-next-line no-prototype-builtins\n if (yearCategoryTotal.hasOwnProperty(y)) {\n years.push(y)\n }\n }\n years.sort()\n const ny = years.length\n let cell\n\n const table = div.appendChild(dom.createElement('table'))\n table.setAttribute(\n 'style',\n 'font-size: 120%; margin-left:auto; margin-right:1em; margin-top: 1em; border: 0.05em solid gray; padding: 1em;'\n )\n\n if (ny > 1) {\n const header = table.appendChild(dom.createElement('tr'))\n header.appendChild(headerCell(''))\n for (i = 0; i < ny; i++) {\n header.appendChild(headerCell(years[i]))\n }\n header.appendChild(headerCell('total'))\n }\n\n for (const uri in total) {\n // @@ TODO: Write away the need for exception on next line\n // eslint-disable-next-line no-prototype-builtins\n if (total.hasOwnProperty(uri)) {\n types.push(uri)\n grandTotal += total[uri]\n }\n }\n types.sort()\n let row, label, z\n for (let j = 0; j < types.length; j++) {\n const cat = kb.sym(types[j])\n row = table.appendChild(dom.createElement('tr'))\n label = row.appendChild(dom.createElement('td'))\n label.textContent = UI.utils.label(cat)\n if (ny > 1) {\n for (i = 0; i < ny; i++) {\n z = yearCategoryTotal[years[i]][types[j]]\n cell = row.appendChild(numericCell(z, true))\n }\n }\n row.appendChild(numericCell(total[types[j]], true))\n }\n\n // Trailing totals\n if (types.length > 1) {\n row = table.appendChild(dom.createElement('tr'))\n row.appendChild(headerCell('total'))\n if (ny > 1) {\n for (i = 0; i < ny; i++) {\n z = yearTotal[years[i]]\n cell = row.appendChild(numericCell(z ? d2(z) : ''))\n }\n }\n cell = row.appendChild(numericCell(grandTotal))\n cell.setAttribute(\n 'style',\n 'font-weight: bold; text-align: right;'\n )\n }\n\n const tab = transactionTable(dom, trans)\n tab.setAttribute(\n 'style',\n 'margin-left:auto; margin-right:1em; margin-top: 1em; border: padding: 1em;'\n )\n div.appendChild(tab)\n\n UI.widgets.attachmentList(dom, subject, div)\n })\n .catch(function (e) {\n complain('Error loading transactions: ' + e)\n })\n }\n calculations()\n } // if\n\n return div\n }\n}\n\n// ends\n"],"mappings":"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"}
@@ -1,5 +1,13 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var UI = _interopRequireWildcard(require("solid-ui"));
9
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
10
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
3
11
  /* Financial Period Pane
4
12
  **
5
13
  ** This outline pane allows a user to interact with a period
@@ -7,9 +15,8 @@
7
15
  ** trips, etc
8
16
  */
9
17
 
10
- var UI = require('solid-ui');
11
18
  var ns = UI.ns;
12
- module.exports = {
19
+ var _default = {
13
20
  icon: UI.icons.iconBase + 'noun_142708.svg',
14
21
  name: 'period',
15
22
  audience: [ns.solid('PowerUser')],
@@ -316,6 +323,6 @@ module.exports = {
316
323
 
317
324
  return div;
318
325
  }
319
- };
320
- // ends
326
+ }; // ends
327
+ exports["default"] = _default;
321
328
  //# sourceMappingURL=period.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"period.js","names":["UI","require","ns","module","exports","icon","icons","iconBase","name","audience","solid","label","subject","context","kb","session","store","t","findTypeURIs","render","dom","div","createElement","setAttribute","mention","message","style","pre","appendChild","createTextNode","happy","complain","renderPeriod","dtstart","any","cal","undefined","uri","dtend","predicateURIsDone","donePredicate","pred","rdf","inPeriod","date","d2","n","s","indexOf","split","slice","transactionInPeriod","x","qu","oderByDate","y","dx","dy","value","h2","textContent","insertedPane","paneName","p","paneRegistry","byName","d","expandAfterRow","row","solo","siblings","parentNode","children","j","length","expanded","removeChild","tr","td","cols","nextSibling","insertBefore","expandAfterRowOrCollapse","transactionTable","list","table","transactionRow","setTRStyle","account","mystyle","backgroundColor","ui","c0","c1","payee","a1","c3","amount","addEventListener","e","shiftKey","list2","filter","sort","i","dummies","xURIs","findMemberURIs","unclassifiedIn","unclassifiedOut","usd","z","hasOwnProperty","sym","tt","each","classified","push","tab","count","catSymbol","catTail","cats","findSubClassesNT","cat","checkCatHasField","guilty","utils","trip","needed","rdfs","console","log","fetcher","load","then"],"sources":["../../src/transaction/period.js"],"sourcesContent":["/* Financial Period Pane\n **\n ** This outline pane allows a user to interact with a period\n ** downloaded from a bank statement, annotting it with classes and comments,\n ** trips, etc\n */\n\nconst UI = require('solid-ui')\nconst ns = UI.ns\n\nmodule.exports = {\n icon: UI.icons.iconBase + 'noun_142708.svg',\n\n name: 'period',\n\n audience: [ns.solid('PowerUser')],\n\n // Does the subject deserve this pane?\n label: function (subject, context) {\n const kb = context.session.store\n const t = kb.findTypeURIs(subject)\n if (t['http://www.w3.org/2000/10/swap/pim/qif#Period']) return 'period'\n return null // No under other circumstances (while testing at least!)\n },\n\n render: function (subject, context) {\n const dom = context.dom\n const kb = context.session.store\n const ns = UI.ns\n\n const div = dom.createElement('div')\n div.setAttribute('class', 'periodPane')\n\n const mention = function mention (message, style) {\n if (!style) style = 'color: grey;'\n const pre = dom.createElement('pre')\n pre.setAttribute('style', style)\n div.appendChild(pre)\n pre.appendChild(dom.createTextNode(message))\n }\n const happy = function happy (message) {\n return mention('✓ ' + message, 'color: #010; background-color: #efe')\n }\n const complain = function complain (message) {\n return mention(message, 'color: #100; background-color: #fee')\n }\n /*\n var rerender = function (div) {\n var parent = div.parentNode\n var div2 = thisPane.render(subject, dom)\n parent.replaceChild(div2, div)\n }\n*/\n const renderPeriod = function () {\n const dtstart = kb.any(subject, ns.cal('dtstart'))\n if (dtstart === undefined) {\n complain(\n '(Error: There is no start date known for this period <' +\n subject.uri +\n '>,\\n -- every period needs one.)'\n )\n }\n\n const dtend = kb.any(subject, ns.cal('dtend'))\n if (dtend === undefined) {\n complain(\n '(Error: There is no end date known for this period <' +\n subject.uri +\n '>,\\n -- every period needs one.)'\n )\n }\n\n // var store = kb.any(subject, UI.ns.qu('annotationStore')) || null\n\n const predicateURIsDone = {}\n const donePredicate = function (pred) {\n predicateURIsDone[pred.uri] = true\n }\n donePredicate(ns.rdf('type'))\n\n const inPeriod = function (date) {\n return !!(date && date >= dtstart && date < dtend)\n }\n\n const d2 = function (n) {\n const s = '' + n\n if (s.indexOf('.') >= 0) {\n return s.split('.')[0] + '.' + (s.split('.')[1] + '00').slice(0, 2)\n }\n return s + '.00'\n }\n\n const transactionInPeriod = function (x) {\n return inPeriod(kb.any(x, ns.qu('date')))\n }\n\n const oderByDate = function (x, y) {\n const dx = kb.any(x, ns.qu('date'))\n const dy = kb.any(y, ns.qu('date'))\n if (dx !== undefined && dy !== undefined) {\n if (dx.value < dy.value) return -1\n if (dx.value > dy.value) return 1\n }\n if (x.uri < y.uri) return -1 // Arbitrary but repeatable\n if (x.uri > y.uri) return 1\n return 0\n }\n /*\n var setPaneStyle = function (account) {\n var mystyle = 'padding: 0.5em 1.5em 1em 1.5em; '\n if (account) {\n var backgroundColor = kb.any(account, UI.ns.ui('backgroundColor'))\n if (backgroundColor) {\n mystyle += 'background-color: ' + backgroundColor.value + '; '\n }\n }\n div.setAttribute('style', mystyle)\n }\n // setPaneStyle();\n*/\n const h2 = div.appendChild(dom.createElement('h2'))\n h2.textContent =\n 'Period ' +\n dtstart.value.slice(0, 10) +\n ' - ' +\n dtend.value.slice(0, 10)\n\n const insertedPane = function (context, subject, paneName) {\n const p = context.session.paneRegistry.byName(paneName)\n const d = p.render(subject, context)\n d.setAttribute('style', 'border: 0.1em solid green;')\n return d\n }\n\n const expandAfterRow = function (dom, row, subject, paneName, solo) {\n const siblings = row.parentNode.children\n if (solo) {\n for (let j = siblings.length - 1; j >= 0; j--) {\n if (siblings[j].expanded) {\n siblings[j].parentNode.removeChild(siblings[j].expanded)\n siblings[j].expanded = false\n }\n }\n }\n const tr = dom.createElement('tr')\n const td = tr.appendChild(dom.createElement('td'))\n td.setAttribute(\n 'style',\n 'width: 98%; padding: 1em; border: 0.1em solid grey;'\n )\n const cols = row.children.length\n if (row.nextSibling) {\n row.parentNode.insertBefore(tr, row.nextSibling)\n } else {\n row.parentNode.appendChild(tr)\n }\n row.expanded = tr\n td.setAttribute('colspan', '' + cols)\n td.appendChild(insertedPane(context, subject, paneName))\n }\n\n const expandAfterRowOrCollapse = function (\n dom,\n row,\n subject,\n paneName,\n solo\n ) {\n if (row.expanded) {\n row.parentNode.removeChild(row.expanded)\n row.expanded = false\n } else {\n expandAfterRow(dom, row, subject, paneName, solo)\n }\n }\n\n const transactionTable = function (dom, list) {\n const table = dom.createElement('table')\n table.setAttribute(\n 'style',\n 'margin-left: 100; font-size: 9pt; width: 85%;'\n )\n const transactionRow = function (dom, x) {\n const tr = dom.createElement('tr')\n\n const setTRStyle = function (tr, account) {\n // var mystyle = \"padding: 0.5em 1.5em 1em 1.5em; \";\n let mystyle = 'margin-left: 8em; padding-left: 5em;'\n if (account) {\n const backgroundColor = kb.any(account, UI.ns.ui('backgroundColor'))\n if (backgroundColor) {\n mystyle += 'background-color: ' + backgroundColor.value + '; '\n }\n }\n tr.setAttribute('style', mystyle)\n }\n\n const account = kb.any(x, ns.qu('toAccount'))\n setTRStyle(tr, account)\n\n const c0 = tr.appendChild(dom.createElement('td'))\n const date = kb.any(x, ns.qu('date'))\n c0.textContent = date ? date.value.slice(0, 10) : '???'\n c0.setAttribute('style', 'width: 7em;')\n\n const c1 = tr.appendChild(dom.createElement('td'))\n c1.setAttribute('style', 'width: 36em;')\n const payee = kb.any(x, ns.qu('payee'))\n c1.textContent = payee ? payee.value : '???'\n const a1 = c1.appendChild(dom.createElement('a'))\n a1.textContent = ' ➜'\n a1.setAttribute('href', x.uri)\n\n const c3 = tr.appendChild(dom.createElement('td'))\n const amount = kb.any(x, ns.qu('in_USD'))\n c3.textContent = amount ? d2(amount.value) : '???'\n c3.setAttribute('style', 'width: 6em; text-align: right; ') // @@ decimal alignment?\n tr.addEventListener(\n 'click',\n function (e) {\n // solo unless shift key\n expandAfterRowOrCollapse(dom, tr, x, 'transaction', !e.shiftKey)\n },\n false\n )\n\n return tr\n }\n\n const list2 = list.filter(transactionInPeriod)\n list2.sort(oderByDate)\n\n for (let i = 0; i < list2.length; i++) {\n table.appendChild(transactionRow(dom, list2[i]))\n }\n return table\n }\n\n // List unclassified transactions\n\n const dummies = {\n 'http://www.w3.org/2000/10/swap/pim/qif#Transaction': true, // (we knew)\n 'http://www.w3.org/2000/10/swap/pim/qif#Unclassified': true, // pseudo classifications we may phase out\n 'http://www.w3.org/2000/10/swap/pim/qif#UnclassifiedOutgoing': true,\n 'http://www.w3.org/2000/10/swap/pim/qif#UnclassifiedIncome': true\n }\n const xURIs = kb.findMemberURIs(ns.qu('Transaction'))\n const unclassifiedIn = []\n const unclassifiedOut = []\n let usd, z\n for (const y in xURIs) {\n // For each thing which can be inferred to be a transaction\n // @@ TODO: Write away the need for exception on next line\n // eslint-disable-next-line no-prototype-builtins\n if (xURIs.hasOwnProperty(y)) {\n z = kb.sym(y)\n const tt = kb.each(z, ns.rdf('type')) // What EXPLICIT definitions\n let classified = false\n for (let j = 0; j < tt.length; j++) {\n const t = tt[j]\n if (dummies[t.uri] === undefined) {\n classified = true\n }\n }\n if (!classified) {\n usd = kb.any(z, ns.qu('in_USD'))\n if (usd === undefined) {\n usd = kb.any(z, ns.qu('amount'))\n }\n if (usd && ('' + usd.value).indexOf('-') >= 0) {\n unclassifiedOut.push(kb.sym(y))\n } else {\n unclassifiedIn.push(kb.sym(y))\n }\n }\n }\n }\n let tab, count\n if (unclassifiedIn.length) {\n tab = transactionTable(dom, unclassifiedIn)\n count = tab.children.length\n div.appendChild(dom.createElement('h3')).textContent =\n 'Unclassified Income' + (count < 4 ? '' : ' (' + count + ')')\n div.appendChild(tab)\n } else {\n happy('No unclassified income')\n }\n if (unclassifiedOut.length) {\n tab = transactionTable(dom, unclassifiedOut)\n count = tab.children.length\n div.appendChild(dom.createElement('h3')).textContent =\n 'Unclassified Outgoings' + (count < 4 ? '' : ' (' + count + ')')\n div.appendChild(tab)\n } else {\n happy('No unclassified outgoings ')\n }\n\n // /////////////// Check some categories of transaction for having given fields\n\n const catSymbol = function (catTail) {\n const cats = kb.findSubClassesNT(ns.qu('Transaction'))\n for (const cat in cats) {\n // @@ TODO: Write away the need for exception on next line\n // eslint-disable-next-line no-prototype-builtins\n if (cats.hasOwnProperty(cat)) {\n if (cat.slice(1, -1).split('#')[1] === catTail) {\n return kb.sym(cat.slice(1, -1))\n }\n }\n }\n return null\n }\n\n const checkCatHasField = function (catTail, pred) {\n const cat = catSymbol(catTail)\n let tab\n const guilty = []\n let count = 0\n if (!cat) {\n complain('Error: No category correspnding to ' + catTail)\n return null\n }\n const list = kb.each(undefined, ns.rdf('type'), cat)\n for (let i = 0; i < list.length; i++) {\n if (!kb.any(list[i], pred)) {\n guilty.push(list[i])\n }\n }\n if (guilty.length) {\n tab = transactionTable(dom, guilty)\n count = tab.children.length\n div.appendChild(dom.createElement('h3')).textContent =\n UI.utils.label(cat) +\n ' with no ' +\n UI.utils.label(pred) +\n (count < 4 ? '' : ' (' + count + ')')\n div.appendChild(tab)\n }\n return count\n }\n\n // Load dynamically as properties of period\n if (checkCatHasField('Reimbursables', ns.trip('trip')) === 0) {\n happy('Reimbursables all have trips')\n }\n if (checkCatHasField('Other_Inc_Speaking', ns.trip('trip')) === 0) {\n happy('Speaking income all has trips')\n }\n // end of render period instance\n } // renderPeriod\n\n // //////////////////////////////////////////////////////////////////////////////\n\n // var me = authn.currentUser()\n\n // Render a single Period\n\n // This works only if enough metadata about the properties can drive the RDFS\n // (or actual type statements whichtypically are NOT there on)\n const t = kb.findTypeURIs(subject)\n if (t['http://www.w3.org/2000/10/swap/pim/qif#Period']) {\n const needed = kb.each(subject, ns.rdfs('seeAlso'))\n console.log('Loading before render: ' + needed.length)\n kb.fetcher.load(needed).then(function () {\n renderPeriod()\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}\n// ends\n"],"mappings":"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"}
1
+ {"version":3,"file":"period.js","names":["ns","UI","icon","icons","iconBase","name","audience","solid","label","subject","context","kb","session","store","t","findTypeURIs","render","dom","div","createElement","setAttribute","mention","message","style","pre","appendChild","createTextNode","happy","complain","renderPeriod","dtstart","any","cal","undefined","uri","dtend","predicateURIsDone","donePredicate","pred","rdf","inPeriod","date","d2","n","s","indexOf","split","slice","transactionInPeriod","x","qu","oderByDate","y","dx","dy","value","h2","textContent","insertedPane","paneName","p","paneRegistry","byName","d","expandAfterRow","row","solo","siblings","parentNode","children","j","length","expanded","removeChild","tr","td","cols","nextSibling","insertBefore","expandAfterRowOrCollapse","transactionTable","list","table","transactionRow","setTRStyle","account","mystyle","backgroundColor","ui","c0","c1","payee","a1","c3","amount","addEventListener","e","shiftKey","list2","filter","sort","i","dummies","xURIs","findMemberURIs","unclassifiedIn","unclassifiedOut","usd","z","hasOwnProperty","sym","tt","each","classified","push","tab","count","catSymbol","catTail","cats","findSubClassesNT","cat","checkCatHasField","guilty","utils","trip","needed","rdfs","console","log","fetcher","load","then"],"sources":["../../src/transaction/period.js"],"sourcesContent":["/* Financial Period Pane\n **\n ** This outline pane allows a user to interact with a period\n ** downloaded from a bank statement, annotting it with classes and comments,\n ** trips, etc\n */\n\nimport * as UI from 'solid-ui'\nconst ns = UI.ns\n\nexport default {\n icon: UI.icons.iconBase + 'noun_142708.svg',\n\n name: 'period',\n\n audience: [ns.solid('PowerUser')],\n\n // Does the subject deserve this pane?\n label: function (subject, context) {\n const kb = context.session.store\n const t = kb.findTypeURIs(subject)\n if (t['http://www.w3.org/2000/10/swap/pim/qif#Period']) return 'period'\n return null // No under other circumstances (while testing at least!)\n },\n\n render: function (subject, context) {\n const dom = context.dom\n const kb = context.session.store\n const ns = UI.ns\n\n const div = dom.createElement('div')\n div.setAttribute('class', 'periodPane')\n\n const mention = function mention (message, style) {\n if (!style) style = 'color: grey;'\n const pre = dom.createElement('pre')\n pre.setAttribute('style', style)\n div.appendChild(pre)\n pre.appendChild(dom.createTextNode(message))\n }\n const happy = function happy (message) {\n return mention('✓ ' + message, 'color: #010; background-color: #efe')\n }\n const complain = function complain (message) {\n return mention(message, 'color: #100; background-color: #fee')\n }\n /*\n var rerender = function (div) {\n var parent = div.parentNode\n var div2 = thisPane.render(subject, dom)\n parent.replaceChild(div2, div)\n }\n*/\n const renderPeriod = function () {\n const dtstart = kb.any(subject, ns.cal('dtstart'))\n if (dtstart === undefined) {\n complain(\n '(Error: There is no start date known for this period <' +\n subject.uri +\n '>,\\n -- every period needs one.)'\n )\n }\n\n const dtend = kb.any(subject, ns.cal('dtend'))\n if (dtend === undefined) {\n complain(\n '(Error: There is no end date known for this period <' +\n subject.uri +\n '>,\\n -- every period needs one.)'\n )\n }\n\n // var store = kb.any(subject, UI.ns.qu('annotationStore')) || null\n\n const predicateURIsDone = {}\n const donePredicate = function (pred) {\n predicateURIsDone[pred.uri] = true\n }\n donePredicate(ns.rdf('type'))\n\n const inPeriod = function (date) {\n return !!(date && date >= dtstart && date < dtend)\n }\n\n const d2 = function (n) {\n const s = '' + n\n if (s.indexOf('.') >= 0) {\n return s.split('.')[0] + '.' + (s.split('.')[1] + '00').slice(0, 2)\n }\n return s + '.00'\n }\n\n const transactionInPeriod = function (x) {\n return inPeriod(kb.any(x, ns.qu('date')))\n }\n\n const oderByDate = function (x, y) {\n const dx = kb.any(x, ns.qu('date'))\n const dy = kb.any(y, ns.qu('date'))\n if (dx !== undefined && dy !== undefined) {\n if (dx.value < dy.value) return -1\n if (dx.value > dy.value) return 1\n }\n if (x.uri < y.uri) return -1 // Arbitrary but repeatable\n if (x.uri > y.uri) return 1\n return 0\n }\n /*\n var setPaneStyle = function (account) {\n var mystyle = 'padding: 0.5em 1.5em 1em 1.5em; '\n if (account) {\n var backgroundColor = kb.any(account, UI.ns.ui('backgroundColor'))\n if (backgroundColor) {\n mystyle += 'background-color: ' + backgroundColor.value + '; '\n }\n }\n div.setAttribute('style', mystyle)\n }\n // setPaneStyle();\n*/\n const h2 = div.appendChild(dom.createElement('h2'))\n h2.textContent =\n 'Period ' +\n dtstart.value.slice(0, 10) +\n ' - ' +\n dtend.value.slice(0, 10)\n\n const insertedPane = function (context, subject, paneName) {\n const p = context.session.paneRegistry.byName(paneName)\n const d = p.render(subject, context)\n d.setAttribute('style', 'border: 0.1em solid green;')\n return d\n }\n\n const expandAfterRow = function (dom, row, subject, paneName, solo) {\n const siblings = row.parentNode.children\n if (solo) {\n for (let j = siblings.length - 1; j >= 0; j--) {\n if (siblings[j].expanded) {\n siblings[j].parentNode.removeChild(siblings[j].expanded)\n siblings[j].expanded = false\n }\n }\n }\n const tr = dom.createElement('tr')\n const td = tr.appendChild(dom.createElement('td'))\n td.setAttribute(\n 'style',\n 'width: 98%; padding: 1em; border: 0.1em solid grey;'\n )\n const cols = row.children.length\n if (row.nextSibling) {\n row.parentNode.insertBefore(tr, row.nextSibling)\n } else {\n row.parentNode.appendChild(tr)\n }\n row.expanded = tr\n td.setAttribute('colspan', '' + cols)\n td.appendChild(insertedPane(context, subject, paneName))\n }\n\n const expandAfterRowOrCollapse = function (\n dom,\n row,\n subject,\n paneName,\n solo\n ) {\n if (row.expanded) {\n row.parentNode.removeChild(row.expanded)\n row.expanded = false\n } else {\n expandAfterRow(dom, row, subject, paneName, solo)\n }\n }\n\n const transactionTable = function (dom, list) {\n const table = dom.createElement('table')\n table.setAttribute(\n 'style',\n 'margin-left: 100; font-size: 9pt; width: 85%;'\n )\n const transactionRow = function (dom, x) {\n const tr = dom.createElement('tr')\n\n const setTRStyle = function (tr, account) {\n // var mystyle = \"padding: 0.5em 1.5em 1em 1.5em; \";\n let mystyle = 'margin-left: 8em; padding-left: 5em;'\n if (account) {\n const backgroundColor = kb.any(account, UI.ns.ui('backgroundColor'))\n if (backgroundColor) {\n mystyle += 'background-color: ' + backgroundColor.value + '; '\n }\n }\n tr.setAttribute('style', mystyle)\n }\n\n const account = kb.any(x, ns.qu('toAccount'))\n setTRStyle(tr, account)\n\n const c0 = tr.appendChild(dom.createElement('td'))\n const date = kb.any(x, ns.qu('date'))\n c0.textContent = date ? date.value.slice(0, 10) : '???'\n c0.setAttribute('style', 'width: 7em;')\n\n const c1 = tr.appendChild(dom.createElement('td'))\n c1.setAttribute('style', 'width: 36em;')\n const payee = kb.any(x, ns.qu('payee'))\n c1.textContent = payee ? payee.value : '???'\n const a1 = c1.appendChild(dom.createElement('a'))\n a1.textContent = ' ➜'\n a1.setAttribute('href', x.uri)\n\n const c3 = tr.appendChild(dom.createElement('td'))\n const amount = kb.any(x, ns.qu('in_USD'))\n c3.textContent = amount ? d2(amount.value) : '???'\n c3.setAttribute('style', 'width: 6em; text-align: right; ') // @@ decimal alignment?\n tr.addEventListener(\n 'click',\n function (e) {\n // solo unless shift key\n expandAfterRowOrCollapse(dom, tr, x, 'transaction', !e.shiftKey)\n },\n false\n )\n\n return tr\n }\n\n const list2 = list.filter(transactionInPeriod)\n list2.sort(oderByDate)\n\n for (let i = 0; i < list2.length; i++) {\n table.appendChild(transactionRow(dom, list2[i]))\n }\n return table\n }\n\n // List unclassified transactions\n\n const dummies = {\n 'http://www.w3.org/2000/10/swap/pim/qif#Transaction': true, // (we knew)\n 'http://www.w3.org/2000/10/swap/pim/qif#Unclassified': true, // pseudo classifications we may phase out\n 'http://www.w3.org/2000/10/swap/pim/qif#UnclassifiedOutgoing': true,\n 'http://www.w3.org/2000/10/swap/pim/qif#UnclassifiedIncome': true\n }\n const xURIs = kb.findMemberURIs(ns.qu('Transaction'))\n const unclassifiedIn = []\n const unclassifiedOut = []\n let usd, z\n for (const y in xURIs) {\n // For each thing which can be inferred to be a transaction\n // @@ TODO: Write away the need for exception on next line\n // eslint-disable-next-line no-prototype-builtins\n if (xURIs.hasOwnProperty(y)) {\n z = kb.sym(y)\n const tt = kb.each(z, ns.rdf('type')) // What EXPLICIT definitions\n let classified = false\n for (let j = 0; j < tt.length; j++) {\n const t = tt[j]\n if (dummies[t.uri] === undefined) {\n classified = true\n }\n }\n if (!classified) {\n usd = kb.any(z, ns.qu('in_USD'))\n if (usd === undefined) {\n usd = kb.any(z, ns.qu('amount'))\n }\n if (usd && ('' + usd.value).indexOf('-') >= 0) {\n unclassifiedOut.push(kb.sym(y))\n } else {\n unclassifiedIn.push(kb.sym(y))\n }\n }\n }\n }\n let tab, count\n if (unclassifiedIn.length) {\n tab = transactionTable(dom, unclassifiedIn)\n count = tab.children.length\n div.appendChild(dom.createElement('h3')).textContent =\n 'Unclassified Income' + (count < 4 ? '' : ' (' + count + ')')\n div.appendChild(tab)\n } else {\n happy('No unclassified income')\n }\n if (unclassifiedOut.length) {\n tab = transactionTable(dom, unclassifiedOut)\n count = tab.children.length\n div.appendChild(dom.createElement('h3')).textContent =\n 'Unclassified Outgoings' + (count < 4 ? '' : ' (' + count + ')')\n div.appendChild(tab)\n } else {\n happy('No unclassified outgoings ')\n }\n\n // /////////////// Check some categories of transaction for having given fields\n\n const catSymbol = function (catTail) {\n const cats = kb.findSubClassesNT(ns.qu('Transaction'))\n for (const cat in cats) {\n // @@ TODO: Write away the need for exception on next line\n // eslint-disable-next-line no-prototype-builtins\n if (cats.hasOwnProperty(cat)) {\n if (cat.slice(1, -1).split('#')[1] === catTail) {\n return kb.sym(cat.slice(1, -1))\n }\n }\n }\n return null\n }\n\n const checkCatHasField = function (catTail, pred) {\n const cat = catSymbol(catTail)\n let tab\n const guilty = []\n let count = 0\n if (!cat) {\n complain('Error: No category correspnding to ' + catTail)\n return null\n }\n const list = kb.each(undefined, ns.rdf('type'), cat)\n for (let i = 0; i < list.length; i++) {\n if (!kb.any(list[i], pred)) {\n guilty.push(list[i])\n }\n }\n if (guilty.length) {\n tab = transactionTable(dom, guilty)\n count = tab.children.length\n div.appendChild(dom.createElement('h3')).textContent =\n UI.utils.label(cat) +\n ' with no ' +\n UI.utils.label(pred) +\n (count < 4 ? '' : ' (' + count + ')')\n div.appendChild(tab)\n }\n return count\n }\n\n // Load dynamically as properties of period\n if (checkCatHasField('Reimbursables', ns.trip('trip')) === 0) {\n happy('Reimbursables all have trips')\n }\n if (checkCatHasField('Other_Inc_Speaking', ns.trip('trip')) === 0) {\n happy('Speaking income all has trips')\n }\n // end of render period instance\n } // renderPeriod\n\n // //////////////////////////////////////////////////////////////////////////////\n\n // var me = authn.currentUser()\n\n // Render a single Period\n\n // This works only if enough metadata about the properties can drive the RDFS\n // (or actual type statements whichtypically are NOT there on)\n const t = kb.findTypeURIs(subject)\n if (t['http://www.w3.org/2000/10/swap/pim/qif#Period']) {\n const needed = kb.each(subject, ns.rdfs('seeAlso'))\n console.log('Loading before render: ' + needed.length)\n kb.fetcher.load(needed).then(function () {\n renderPeriod()\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}\n// ends\n"],"mappings":"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"}
@@ -1,5 +1,14 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var UI = _interopRequireWildcard(require("solid-ui"));
9
+ var $rdf = _interopRequireWildcard(require("rdflib"));
10
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
11
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
3
12
  /* Trip Pane
4
13
  **
5
14
  ** This pane deals with trips themselves and also
@@ -10,10 +19,8 @@
10
19
  ** trips, etc
11
20
  */
12
21
 
13
- var UI = require('solid-ui');
14
- var $rdf = require('rdflib');
15
22
  var ns = UI.ns;
16
- module.exports = {
23
+ var _default = {
17
24
  icon: UI.icons.iconBase + 'noun_62007.svg',
18
25
  name: 'travel expenses',
19
26
  audience: [ns.solid('PowerUser')],
@@ -168,6 +175,6 @@ module.exports = {
168
175
 
169
176
  return div;
170
177
  }
171
- };
172
- // ends
178
+ }; // ends
179
+ exports["default"] = _default;
173
180
  //# sourceMappingURL=tripPane.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tripPane.js","names":["UI","require","$rdf","ns","module","exports","icon","icons","iconBase","name","audience","solid","label","subject","context","kb","session","store","t","findTypeURIs","qu","findSuperClassesNT","render","myDocument","dom","CAL","Namespace","TRIP","div","createElement","setAttribute","innerHTML","complain","message","style","undefined","pre","appendChild","createTextNode","renderTrip","thisDiv","query","Query","utils","vars","v","forEach","x","push","variable","pat","add","transaction","opt","formula","rdf","type","optional","date","rdfs","comment","in_USD","calculations","total","trans","each","ty","the","uri","tyuri","lit","any","parseFloat","value","str","types","grandTotal","sym","length","tableDiv","table","onDone","ts","triples","index","i","trip","transactions","usd","toNT","list","h1","t1","fromNT","sort","j","t2"],"sources":["../../src/trip/tripPane.js"],"sourcesContent":["/* Trip Pane\n **\n ** This pane deals with trips themselves and also\n ** will look at transactions organized by trip.\n **\n ** This outline pane allows a user to interact with a transaction\n ** downloaded from a bank statement, annotting it with classes and comments,\n ** trips, etc\n */\n\nconst UI = require('solid-ui')\nconst $rdf = require('rdflib')\nconst ns = UI.ns\n\nmodule.exports = {\n icon: UI.icons.iconBase + 'noun_62007.svg',\n\n name: 'travel expenses',\n\n audience: [ns.solid('PowerUser')],\n\n // Does the subject deserve this pane?\n label: function (subject, context) {\n const kb = context.session.store\n const t = kb.findTypeURIs(subject)\n\n // if (t['http://www.w3.org/2000/10/swap/pim/qif#Transaction']) return \"$$\";\n // if(kb.any(subject, UI.ns.qu('amount'))) return \"$$$\"; // In case schema not picked up\n\n if (UI.ns.qu('Transaction') in kb.findSuperClassesNT(subject)) {\n return 'by Trip'\n }\n if (t['http://www.w3.org/ns/pim/trip#Trip']) return 'Trip $'\n\n return null // No under other circumstances (while testing at least!)\n },\n\n render: function (subject, context) {\n const myDocument = context.dom\n const kb = context.store\n const ns = UI.ns\n const CAL = $rdf.Namespace('http://www.w3.org/2002/12/cal/ical#')\n const TRIP = $rdf.Namespace('http://www.w3.org/ns/pim/trip#')\n\n const div = myDocument.createElement('div')\n div.setAttribute('class', 'transactionPane')\n div.innerHTML = '<h2>Trip transactions</h2>'\n\n const complain = function complain (message, style) {\n if (style === undefined) style = 'color: grey'\n const pre = myDocument.createElement('pre')\n pre.setAttribute('style', style)\n div.appendChild(pre)\n pre.appendChild(myDocument.createTextNode(message))\n }\n\n // //////////////////////////////////////////////////////////////////////////////\n //\n // Body of trip pane\n\n const t = kb.findTypeURIs(subject)\n\n // var me = authn.currentUser()\n\n // Function: Render a single trip\n\n const renderTrip = function renderTrip (subject, thisDiv) {\n const query = new $rdf.Query(UI.utils.label(subject))\n const vars = ['date', 'transaction', 'comment', 'type', 'in_USD']\n const v = {}\n vars.forEach(function (x) {\n query.vars.push((v[x] = $rdf.variable(x)))\n }) // Only used by UI\n query.pat.add(v.transaction, TRIP('trip'), subject)\n\n const opt = kb.formula()\n opt.add(v.transaction, ns.rdf('type'), v.type) // Issue: this will get stored supertypes too\n query.pat.optional.push(opt)\n\n query.pat.add(v.transaction, UI.ns.qu('date'), v.date)\n\n opt.add(v.transaction, ns.rdfs('comment'), v.comment)\n query.pat.optional.push(opt)\n\n // opt = kb.formula();\n query.pat.add(v.transaction, UI.ns.qu('in_USD'), v.in_USD)\n // query.pat.optional.push(opt);\n\n const calculations = function () {\n const total = {}\n const trans = kb.each(undefined, TRIP('trip'), subject)\n // complain(\"@@ Number of transactions in this trip: \" + trans.length);\n trans.forEach(function (t) {\n let ty = kb.the(t, ns.rdf('type'))\n // complain(\" -- one trans: \"+t.uri + ' -> '+kb.any(t, UI.ns.qu('in_USD')));\n if (!ty) ty = UI.ns.qu('ErrorNoType')\n if (ty && ty.uri) {\n const tyuri = ty.uri\n if (!total[tyuri]) total[tyuri] = 0.0\n const lit = kb.any(t, UI.ns.qu('in_USD'))\n if (!lit) {\n complain(' @@ No amount in USD: ' + lit + ' for ' + t)\n }\n if (lit) {\n total[tyuri] = total[tyuri] + parseFloat(lit.value)\n // complain(' Trans type ='+ty+'; in_USD \"' + lit\n // +'; total[tyuri] = '+total[tyuri]+';')\n }\n }\n })\n let str = ''\n let types = 0\n let grandTotal = 0.0\n for (const uri in total) {\n str += UI.utils.label(kb.sym(uri)) + ': ' + total[uri] + '; '\n types++\n grandTotal += total[uri]\n }\n complain('Totals of ' + trans.length + ' transactions: ' + str, '') // @@@@@ yucky -- need 2 col table\n if (types > 1) {\n complain('Overall net: ' + grandTotal, 'text-treatment: bold;')\n }\n }\n const tableDiv = UI.table(myDocument, {\n query: query,\n onDone: calculations\n })\n thisDiv.appendChild(tableDiv)\n }\n\n // Render the set of trips which have transactions in this class\n\n if (UI.ns.qu('Transaction') in kb.findSuperClassesNT(subject)) {\n const ts = kb.each(undefined, ns.rdf('type'), subject)\n const triples = []\n const index = []\n for (let i = 0; i < ts.length; i++) {\n const trans = ts[i]\n const trip = kb.any(trans, TRIP('trip'))\n if (!trip) {\n triples.push(trans)\n } else {\n if (!(trans in index)) index[trip] = { total: 0, transactions: [] }\n const usd = kb.any(trans, UI.ns.qu('in_USD'))\n if (usd) index[trip].total += usd\n const date = kb.any(trans, UI.ns.qu('date'))\n index[trip.toNT()].transactions.push([date, trans])\n }\n }\n /* var byDate = function(a,b) {\n return new Date(kb.any(a, CAL('dtstart'))) -\n new Date(kb.any(b, CAL('dtstart')));\n }\n */\n const list = []\n for (const h1 in index) {\n const t1 = kb.fromNT(h1)\n list.push([kb.any(t1, CAL('dtstart')), t1])\n }\n list.sort()\n for (let j = 0; j < list.length; j++) {\n const t2 = list[j][1]\n renderTrip(t2, div)\n }\n\n // Render a single trip\n } else if (t['http://www.w3.org/ns/pim/trip#Trip']) {\n renderTrip(subject, div)\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}\n// ends\n"],"mappings":"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"}
1
+ {"version":3,"file":"tripPane.js","names":["ns","UI","icon","icons","iconBase","name","audience","solid","label","subject","context","kb","session","store","t","findTypeURIs","qu","findSuperClassesNT","render","myDocument","dom","CAL","$rdf","Namespace","TRIP","div","createElement","setAttribute","innerHTML","complain","message","style","undefined","pre","appendChild","createTextNode","renderTrip","thisDiv","query","Query","utils","vars","v","forEach","x","push","variable","pat","add","transaction","opt","formula","rdf","type","optional","date","rdfs","comment","in_USD","calculations","total","trans","each","ty","the","uri","tyuri","lit","any","parseFloat","value","str","types","grandTotal","sym","length","tableDiv","table","onDone","ts","triples","index","i","trip","transactions","usd","toNT","list","h1","t1","fromNT","sort","j","t2"],"sources":["../../src/trip/tripPane.js"],"sourcesContent":["/* Trip Pane\n **\n ** This pane deals with trips themselves and also\n ** will look at transactions organized by trip.\n **\n ** This outline pane allows a user to interact with a transaction\n ** downloaded from a bank statement, annotting it with classes and comments,\n ** trips, etc\n */\n\nimport * as UI from 'solid-ui'\nimport * as $rdf from 'rdflib'\nconst ns = UI.ns\n\nexport default {\n icon: UI.icons.iconBase + 'noun_62007.svg',\n\n name: 'travel expenses',\n\n audience: [ns.solid('PowerUser')],\n\n // Does the subject deserve this pane?\n label: function (subject, context) {\n const kb = context.session.store\n const t = kb.findTypeURIs(subject)\n\n // if (t['http://www.w3.org/2000/10/swap/pim/qif#Transaction']) return \"$$\";\n // if(kb.any(subject, UI.ns.qu('amount'))) return \"$$$\"; // In case schema not picked up\n\n if (UI.ns.qu('Transaction') in kb.findSuperClassesNT(subject)) {\n return 'by Trip'\n }\n if (t['http://www.w3.org/ns/pim/trip#Trip']) return 'Trip $'\n\n return null // No under other circumstances (while testing at least!)\n },\n\n render: function (subject, context) {\n const myDocument = context.dom\n const kb = context.store\n const ns = UI.ns\n const CAL = $rdf.Namespace('http://www.w3.org/2002/12/cal/ical#')\n const TRIP = $rdf.Namespace('http://www.w3.org/ns/pim/trip#')\n\n const div = myDocument.createElement('div')\n div.setAttribute('class', 'transactionPane')\n div.innerHTML = '<h2>Trip transactions</h2>'\n\n const complain = function complain (message, style) {\n if (style === undefined) style = 'color: grey'\n const pre = myDocument.createElement('pre')\n pre.setAttribute('style', style)\n div.appendChild(pre)\n pre.appendChild(myDocument.createTextNode(message))\n }\n\n // //////////////////////////////////////////////////////////////////////////////\n //\n // Body of trip pane\n\n const t = kb.findTypeURIs(subject)\n\n // var me = authn.currentUser()\n\n // Function: Render a single trip\n\n const renderTrip = function renderTrip (subject, thisDiv) {\n const query = new $rdf.Query(UI.utils.label(subject))\n const vars = ['date', 'transaction', 'comment', 'type', 'in_USD']\n const v = {}\n vars.forEach(function (x) {\n query.vars.push((v[x] = $rdf.variable(x)))\n }) // Only used by UI\n query.pat.add(v.transaction, TRIP('trip'), subject)\n\n const opt = kb.formula()\n opt.add(v.transaction, ns.rdf('type'), v.type) // Issue: this will get stored supertypes too\n query.pat.optional.push(opt)\n\n query.pat.add(v.transaction, UI.ns.qu('date'), v.date)\n\n opt.add(v.transaction, ns.rdfs('comment'), v.comment)\n query.pat.optional.push(opt)\n\n // opt = kb.formula();\n query.pat.add(v.transaction, UI.ns.qu('in_USD'), v.in_USD)\n // query.pat.optional.push(opt);\n\n const calculations = function () {\n const total = {}\n const trans = kb.each(undefined, TRIP('trip'), subject)\n // complain(\"@@ Number of transactions in this trip: \" + trans.length);\n trans.forEach(function (t) {\n let ty = kb.the(t, ns.rdf('type'))\n // complain(\" -- one trans: \"+t.uri + ' -> '+kb.any(t, UI.ns.qu('in_USD')));\n if (!ty) ty = UI.ns.qu('ErrorNoType')\n if (ty && ty.uri) {\n const tyuri = ty.uri\n if (!total[tyuri]) total[tyuri] = 0.0\n const lit = kb.any(t, UI.ns.qu('in_USD'))\n if (!lit) {\n complain(' @@ No amount in USD: ' + lit + ' for ' + t)\n }\n if (lit) {\n total[tyuri] = total[tyuri] + parseFloat(lit.value)\n // complain(' Trans type ='+ty+'; in_USD \"' + lit\n // +'; total[tyuri] = '+total[tyuri]+';')\n }\n }\n })\n let str = ''\n let types = 0\n let grandTotal = 0.0\n for (const uri in total) {\n str += UI.utils.label(kb.sym(uri)) + ': ' + total[uri] + '; '\n types++\n grandTotal += total[uri]\n }\n complain('Totals of ' + trans.length + ' transactions: ' + str, '') // @@@@@ yucky -- need 2 col table\n if (types > 1) {\n complain('Overall net: ' + grandTotal, 'text-treatment: bold;')\n }\n }\n const tableDiv = UI.table(myDocument, {\n query: query,\n onDone: calculations\n })\n thisDiv.appendChild(tableDiv)\n }\n\n // Render the set of trips which have transactions in this class\n\n if (UI.ns.qu('Transaction') in kb.findSuperClassesNT(subject)) {\n const ts = kb.each(undefined, ns.rdf('type'), subject)\n const triples = []\n const index = []\n for (let i = 0; i < ts.length; i++) {\n const trans = ts[i]\n const trip = kb.any(trans, TRIP('trip'))\n if (!trip) {\n triples.push(trans)\n } else {\n if (!(trans in index)) index[trip] = { total: 0, transactions: [] }\n const usd = kb.any(trans, UI.ns.qu('in_USD'))\n if (usd) index[trip].total += usd\n const date = kb.any(trans, UI.ns.qu('date'))\n index[trip.toNT()].transactions.push([date, trans])\n }\n }\n /* var byDate = function(a,b) {\n return new Date(kb.any(a, CAL('dtstart'))) -\n new Date(kb.any(b, CAL('dtstart')));\n }\n */\n const list = []\n for (const h1 in index) {\n const t1 = kb.fromNT(h1)\n list.push([kb.any(t1, CAL('dtstart')), t1])\n }\n list.sort()\n for (let j = 0; j < list.length; j++) {\n const t2 = list[j][1]\n renderTrip(t2, div)\n }\n\n // Render a single trip\n } else if (t['http://www.w3.org/ns/pim/trip#Trip']) {\n renderTrip(subject, div)\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}\n// ends\n"],"mappings":"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"}
@@ -10,9 +10,12 @@ var _rdflib = require("rdflib");
10
10
  var _solidUi = require("solid-ui");
11
11
  var _solidLogic = require("solid-logic");
12
12
  var _trustedApplications = require("./trustedApplications.utils");
13
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
13
14
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
14
15
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
15
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
16
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
17
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
18
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
16
19
  function createApplicationTable(subject) {
17
20
  var applicationsTable = createElement('table', {
18
21
  "class": 'results'