solid-panes 3.5.17-alpha → 3.5.18-d4784498

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 (312) hide show
  1. package/.babelrc +0 -0
  2. package/.eslintignore +0 -0
  3. package/.eslintrc +0 -0
  4. package/.github/workflows/ci.yml +0 -0
  5. package/.nvmrc +0 -0
  6. package/Documentation/VisualLanguage.html +0 -0
  7. package/Documentation/conventions.md +0 -0
  8. package/LICENSE.md +0 -0
  9. package/README.md +0 -0
  10. package/dev/index.html +0 -0
  11. package/dev/loader.ts +11 -11
  12. package/dev/pane/index.ts +0 -0
  13. package/doc/images/panes-for-classes.epgz +0 -0
  14. package/doc/images/panes-for-classes.svg +0 -0
  15. package/jest.config.js +0 -0
  16. package/jest.setup.ts +0 -0
  17. package/lib/RDFXMLPane.js +0 -0
  18. package/lib/RDFXMLPane.js.map +0 -0
  19. package/lib/argument/argumentPane.js +15 -7
  20. package/lib/argument/argumentPane.js.map +1 -1
  21. package/lib/attach/attachPane.js +0 -0
  22. package/lib/attach/attachPane.js.map +0 -0
  23. package/lib/audio/audioPane.js +0 -0
  24. package/lib/audio/audioPane.js.map +0 -0
  25. package/lib/classInstancePane.js +0 -0
  26. package/lib/classInstancePane.js.map +0 -0
  27. package/lib/dashboard/basicPreferences.d.ts +0 -0
  28. package/lib/dashboard/basicPreferences.d.ts.map +1 -1
  29. package/lib/dashboard/basicPreferences.js +6 -6
  30. package/lib/dashboard/basicPreferences.js.map +1 -1
  31. package/lib/dashboard/dashboardPane.d.ts +0 -0
  32. package/lib/dashboard/dashboardPane.d.ts.map +1 -1
  33. package/lib/dashboard/dashboardPane.js +6 -4
  34. package/lib/dashboard/dashboardPane.js.map +1 -1
  35. package/lib/dashboard/homepage.d.ts +0 -0
  36. package/lib/dashboard/homepage.d.ts.map +0 -0
  37. package/lib/dashboard/homepage.js +0 -0
  38. package/lib/dashboard/homepage.js.map +0 -0
  39. package/lib/dataContentPane.js +1 -1
  40. package/lib/dataContentPane.js.map +1 -1
  41. package/lib/defaultPane.js +0 -0
  42. package/lib/defaultPane.js.map +0 -0
  43. package/lib/dokieli/dokieliPane.js +0 -0
  44. package/lib/dokieli/dokieliPane.js.map +0 -0
  45. package/lib/dokieli/new.js +0 -0
  46. package/lib/dokieli/new.js.map +0 -0
  47. package/lib/form/pane.js +15 -6
  48. package/lib/form/pane.js.map +1 -1
  49. package/lib/global.d.js +0 -0
  50. package/lib/global.d.js.map +0 -0
  51. package/lib/home/homePane.d.ts +0 -0
  52. package/lib/home/homePane.d.ts.map +1 -1
  53. package/lib/home/homePane.js +7 -5
  54. package/lib/home/homePane.js.map +1 -1
  55. package/lib/humanReadablePane.js +0 -0
  56. package/lib/humanReadablePane.js.map +0 -0
  57. package/lib/imagePane.js +0 -0
  58. package/lib/imagePane.js.map +0 -0
  59. package/lib/index.d.ts +7 -4
  60. package/lib/index.d.ts.map +1 -1
  61. package/lib/index.js +14 -14
  62. package/lib/index.js.map +1 -1
  63. package/lib/internal/internalPane.d.ts +0 -0
  64. package/lib/internal/internalPane.d.ts.map +0 -0
  65. package/lib/internal/internalPane.js +0 -0
  66. package/lib/internal/internalPane.js.map +0 -0
  67. package/lib/mainPage/footer.d.ts +0 -0
  68. package/lib/mainPage/footer.d.ts.map +0 -0
  69. package/lib/mainPage/footer.js +0 -0
  70. package/lib/mainPage/footer.js.map +0 -0
  71. package/lib/mainPage/header.d.ts +0 -0
  72. package/lib/mainPage/header.d.ts.map +1 -1
  73. package/lib/mainPage/header.js +4 -2
  74. package/lib/mainPage/header.js.map +1 -1
  75. package/lib/mainPage/index.d.ts +0 -0
  76. package/lib/mainPage/index.d.ts.map +0 -0
  77. package/lib/mainPage/index.js +0 -0
  78. package/lib/mainPage/index.js.map +0 -0
  79. package/lib/microblogPane/microblogPane.js +16 -14
  80. package/lib/microblogPane/microblogPane.js.map +1 -1
  81. package/lib/n3Pane.js +0 -0
  82. package/lib/n3Pane.js.map +0 -0
  83. package/lib/outline/context.d.ts +0 -0
  84. package/lib/outline/context.d.ts.map +0 -0
  85. package/lib/outline/context.js +0 -0
  86. package/lib/outline/context.js.map +0 -0
  87. package/lib/outline/dragDrop.js +16 -6
  88. package/lib/outline/dragDrop.js.map +1 -1
  89. package/lib/outline/licenseOptions.js +12 -5
  90. package/lib/outline/licenseOptions.js.map +1 -1
  91. package/lib/outline/manager.js +22 -14
  92. package/lib/outline/manager.js.map +1 -1
  93. package/lib/outline/manager.test.js +0 -0
  94. package/lib/outline/manager.test.js.map +0 -0
  95. package/lib/outline/outlineIcons.js +0 -0
  96. package/lib/outline/outlineIcons.js.map +0 -0
  97. package/lib/outline/propertyViews.d.ts +0 -0
  98. package/lib/outline/propertyViews.d.ts.map +0 -0
  99. package/lib/outline/propertyViews.js +0 -0
  100. package/lib/outline/propertyViews.js.map +0 -0
  101. package/lib/outline/propertyViews.test.js +0 -0
  102. package/lib/outline/propertyViews.test.js.map +0 -0
  103. package/lib/outline/queryByExample.js +14 -6
  104. package/lib/outline/queryByExample.js.map +1 -1
  105. package/lib/outline/userInput.js +90 -80
  106. package/lib/outline/userInput.js.map +1 -1
  107. package/lib/outline/viewAsImage.d.ts +0 -0
  108. package/lib/outline/viewAsImage.d.ts.map +0 -0
  109. package/lib/outline/viewAsImage.js +0 -0
  110. package/lib/outline/viewAsImage.js.map +0 -0
  111. package/lib/outline/viewAsMbox.d.ts +0 -0
  112. package/lib/outline/viewAsMbox.d.ts.map +0 -0
  113. package/lib/outline/viewAsMbox.js +0 -0
  114. package/lib/outline/viewAsMbox.js.map +0 -0
  115. package/lib/pad/padPane.d.ts +0 -0
  116. package/lib/pad/padPane.d.ts.map +1 -1
  117. package/lib/pad/padPane.js +6 -4
  118. package/lib/pad/padPane.js.map +1 -1
  119. package/lib/playlist/playlistPane.js +0 -0
  120. package/lib/playlist/playlistPane.js.map +0 -0
  121. package/lib/profile/editProfile.view.d.ts +0 -0
  122. package/lib/profile/editProfile.view.d.ts.map +1 -1
  123. package/lib/profile/editProfile.view.js +3 -3
  124. package/lib/profile/editProfile.view.js.map +1 -1
  125. package/lib/profile/profile.dom.d.ts +0 -0
  126. package/lib/profile/profile.dom.d.ts.map +0 -0
  127. package/lib/profile/profile.dom.js +0 -0
  128. package/lib/profile/profile.dom.js.map +0 -0
  129. package/lib/registerPanes.js +0 -0
  130. package/lib/registerPanes.js.map +0 -0
  131. package/lib/schedule/formsForSchedule.js +0 -0
  132. package/lib/schedule/formsForSchedule.js.map +0 -0
  133. package/lib/schedule/schedulePane.js +26 -14
  134. package/lib/schedule/schedulePane.js.map +1 -1
  135. package/lib/sharing/sharingPane.d.ts +0 -0
  136. package/lib/sharing/sharingPane.d.ts.map +0 -0
  137. package/lib/sharing/sharingPane.js +0 -0
  138. package/lib/sharing/sharingPane.js.map +0 -0
  139. package/lib/slideshow/slideshowPane.js +0 -0
  140. package/lib/slideshow/slideshowPane.js.map +0 -0
  141. package/lib/socialPane.js +16 -6
  142. package/lib/socialPane.js.map +1 -1
  143. package/lib/tabbed/tabbedPane.d.ts +0 -0
  144. package/lib/tabbed/tabbedPane.d.ts.map +0 -0
  145. package/lib/tabbed/tabbedPane.js +0 -0
  146. package/lib/tabbed/tabbedPane.js.map +0 -0
  147. package/lib/tableViewPane.js +0 -0
  148. package/lib/tableViewPane.js.map +0 -0
  149. package/lib/test-import-export/common.js +0 -0
  150. package/lib/test-import-export/common.js.map +0 -0
  151. package/lib/test-import-export/edit-importer.js +0 -0
  152. package/lib/test-import-export/edit-importer.js.map +0 -0
  153. package/lib/test-import-export/testImportExport.js +0 -0
  154. package/lib/test-import-export/testImportExport.js.map +0 -0
  155. package/lib/transaction/pane.js +1 -1
  156. package/lib/transaction/pane.js.map +1 -1
  157. package/lib/transaction/period.js +1 -1
  158. package/lib/transaction/period.js.map +1 -1
  159. package/lib/trip/tripPane.js +1 -1
  160. package/lib/trip/tripPane.js.map +1 -1
  161. package/lib/trustedApplications/trustedApplications.dom.d.ts +0 -0
  162. package/lib/trustedApplications/trustedApplications.dom.d.ts.map +1 -1
  163. package/lib/trustedApplications/trustedApplications.dom.js +11 -9
  164. package/lib/trustedApplications/trustedApplications.dom.js.map +1 -1
  165. package/lib/trustedApplications/trustedApplications.test.js +0 -0
  166. package/lib/trustedApplications/trustedApplications.test.js.map +0 -0
  167. package/lib/trustedApplications/trustedApplications.utils.d.ts +0 -0
  168. package/lib/trustedApplications/trustedApplications.utils.d.ts.map +0 -0
  169. package/lib/trustedApplications/trustedApplications.utils.js +0 -0
  170. package/lib/trustedApplications/trustedApplications.utils.js.map +0 -0
  171. package/lib/trustedApplications/trustedApplications.view.d.ts +0 -0
  172. package/lib/trustedApplications/trustedApplications.view.d.ts.map +1 -1
  173. package/lib/trustedApplications/trustedApplications.view.js +5 -3
  174. package/lib/trustedApplications/trustedApplications.view.js.map +1 -1
  175. package/lib/types.d.ts +0 -0
  176. package/lib/types.d.ts.map +0 -0
  177. package/lib/types.js +0 -0
  178. package/lib/types.js.map +0 -0
  179. package/lib/ui/pane.js +0 -0
  180. package/lib/ui/pane.js.map +0 -0
  181. package/lib/versionInfo.d.ts +0 -0
  182. package/lib/versionInfo.d.ts.map +0 -0
  183. package/lib/versionInfo.js +14 -14
  184. package/lib/versionInfo.js.map +1 -1
  185. package/lib/video/videoPane.js +0 -0
  186. package/lib/video/videoPane.js.map +0 -0
  187. package/package.json +13 -13
  188. package/src/RDFXMLPane.js +0 -0
  189. package/src/argument/argumentPane.js +5 -5
  190. package/src/argument/argument_icon_v04.jpg +0 -0
  191. package/src/argument/icon_argument.png +0 -0
  192. package/src/argument/transparentyingyang.png +0 -0
  193. package/src/attach/attachPane.js +0 -0
  194. package/src/attach/tbl-paperclip-128.png +0 -0
  195. package/src/attach/tbl-paperclip-22.png +0 -0
  196. package/src/attach/tbl-paperclip-22a.png +0 -0
  197. package/src/audio/audioPane.js +0 -0
  198. package/src/chatPreferencesForm.ttl +0 -0
  199. package/src/classInstancePane.js +0 -0
  200. package/src/dashboard/basicPreferences.ts +4 -5
  201. package/src/dashboard/dashboardPane.ts +4 -3
  202. package/src/dashboard/homepage.ts +0 -0
  203. package/src/dashboard/languages/codes.html +0 -0
  204. package/src/dashboard/languages/codes.xml +0 -0
  205. package/src/dashboard/languages/codes2.txt +0 -0
  206. package/src/dashboard/languages/foo +0 -0
  207. package/src/dashboard/languages/foo.ttl +0 -0
  208. package/src/dashboard/languages/get-language-names.sh +0 -0
  209. package/src/dashboard/ontologyData.ttl +0 -0
  210. package/src/dashboard/preferencesFormText.ttl +0 -0
  211. package/src/dataContentPane.js +1 -1
  212. package/src/defaultPane.js +0 -0
  213. package/src/dokieli/Makefile +0 -0
  214. package/src/dokieli/dokieliPane.js +0 -0
  215. package/src/dokieli/new.html +0 -0
  216. package/src/dokieli/new.js +0 -0
  217. package/src/form/form-22.png +0 -0
  218. package/src/form/form-b-22.png +0 -0
  219. package/src/form/form.graffle +0 -0
  220. package/src/form/form.png +0 -0
  221. package/src/form/pane.js +5 -4
  222. package/src/form/psuedocode-notes.txt +0 -0
  223. package/src/global.d.ts +0 -0
  224. package/src/home/homePane.ts +7 -6
  225. package/src/humanReadablePane.js +0 -0
  226. package/src/imagePane.js +0 -0
  227. package/src/index.ts +24 -19
  228. package/src/internal/internalPane.ts +0 -0
  229. package/src/mainPage/footer.ts +0 -0
  230. package/src/mainPage/header.ts +3 -2
  231. package/src/mainPage/index.ts +0 -0
  232. package/src/meeting/Makefile +0 -0
  233. package/src/meeting/test/meeting1/Actions/actions.ttl +0 -0
  234. package/src/meeting/test/meeting1/Actions/config.ttl +0 -0
  235. package/src/meeting/test/meeting1/Actions/state.ttl +0 -0
  236. package/src/meeting/test/meeting1/Schedule/details.ttl +0 -0
  237. package/src/meeting/test/meeting1/Schedule/details.ttl.acl +0 -0
  238. package/src/meeting/test/meeting1/Schedule/forms.ttl +0 -0
  239. package/src/meeting/test/meeting1/Schedule/forms.ttl.acl +0 -0
  240. package/src/meeting/test/meeting1/Schedule/index.html +0 -0
  241. package/src/meeting/test/meeting1/Schedule/index.html.acl +0 -0
  242. package/src/meeting/test/meeting1/Schedule/results.ttl +0 -0
  243. package/src/meeting/test/meeting1/Schedule/results.ttl.acl +0 -0
  244. package/src/meeting/test/meeting1/SharedNotes/pad.ttl +0 -0
  245. package/src/meeting/test/meeting1/chat/chat.ttl +0 -0
  246. package/src/meeting/test/meeting1/details.ttl +0 -0
  247. package/src/meeting/test/meeting1/pad/pad.ttl +0 -0
  248. package/src/microblogPane/mbStyle.css +0 -0
  249. package/src/microblogPane/microblogPane.js +9 -8
  250. package/src/n3Pane.js +0 -0
  251. package/src/outline/context.ts +0 -0
  252. package/src/outline/dragDrop.js +5 -4
  253. package/src/outline/licenseOptions.js +4 -5
  254. package/src/outline/manager.js +15 -14
  255. package/src/outline/manager.test.ts +0 -0
  256. package/src/outline/outlineIcons.js +0 -0
  257. package/src/outline/propertyViews.test.ts +0 -0
  258. package/src/outline/propertyViews.ts +0 -0
  259. package/src/outline/queryByExample.js +4 -4
  260. package/src/outline/userInput.js +72 -72
  261. package/src/outline/viewAsImage.ts +0 -0
  262. package/src/outline/viewAsMbox.ts +0 -0
  263. package/src/pad/images/ColourOff.ai +0 -0
  264. package/src/pad/images/ColourOff.png +0 -0
  265. package/src/pad/images/ColourOn.ai +0 -0
  266. package/src/pad/images/ColourOn.png +0 -0
  267. package/src/pad/padPane.ts +3 -3
  268. package/src/playlist/playlistPane.js +0 -0
  269. package/src/profile/editProfile.view.ts +5 -8
  270. package/src/profile/profile.dom.ts +0 -0
  271. package/src/profile/profileFormText.ttl +0 -0
  272. package/src/registerPanes.js +0 -0
  273. package/src/schedule/Makefile +0 -0
  274. package/src/schedule/formsForSchedule.js +0 -0
  275. package/src/schedule/formsForSchedule.ttl +0 -0
  276. package/src/schedule/schedulePane.js +14 -13
  277. package/src/sharing/sharingPane.ts +0 -0
  278. package/src/slideshow/slideshowPane.js +0 -0
  279. package/src/socialPane.js +5 -4
  280. package/src/style/tabbedtab.css +0 -0
  281. package/src/tabbed/tabbedPane.ts +0 -0
  282. package/src/tableViewPane.js +0 -0
  283. package/src/test-import-export/common.js +0 -0
  284. package/src/test-import-export/edit-importer.js +0 -0
  285. package/src/test-import-export/testImportExport.js +0 -0
  286. package/src/transaction/068010-3d-transparent-glass-icon-alphanumeric-dollar-sign.png +0 -0
  287. package/src/transaction/075988-3d-transparent-glass-icon-business-currency-british-pound-sc35.png +0 -0
  288. package/src/transaction/22-pixel-068010-3d-transparent-glass-icon-alphanumeric-dollar-sign.png +0 -0
  289. package/src/transaction/pane.js +1 -1
  290. package/src/transaction/period.js +1 -1
  291. package/src/transaction/thumbs_075987-3d-transparent-glass-icon-business-creditcard2.png +0 -0
  292. package/src/transaction/thumbs_075989-3d-transparent-glass-icon-business-currency-cent-sc35.png +0 -0
  293. package/src/trip/tripPane.js +1 -1
  294. package/src/trustedApplications/__snapshots__/trustedApplications.test.ts.snap +0 -0
  295. package/src/trustedApplications/trustedApplications.dom.ts +2 -1
  296. package/src/trustedApplications/trustedApplications.test.ts +0 -0
  297. package/src/trustedApplications/trustedApplications.utils.ts +0 -0
  298. package/src/trustedApplications/trustedApplications.view.ts +4 -4
  299. package/src/types.ts +0 -0
  300. package/src/ui/22-builder.png +0 -0
  301. package/src/ui/builder.graffle +0 -0
  302. package/src/ui/builder.png +0 -0
  303. package/src/ui/builder2.png +0 -0
  304. package/src/ui/pane.js +0 -0
  305. package/src/versionInfo.ts +14 -14
  306. package/src/video/videoPane.js +0 -0
  307. package/timestamp.sh +0 -0
  308. package/travis/bumpversion.js +0 -0
  309. package/tsconfig.json +0 -0
  310. package/typings/raw-loader.d.ts +0 -0
  311. package/typings/solid-namespace/index.d.ts +0 -0
  312. package/webpack.config.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/transaction/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"],"mappings":"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","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 = UI.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"],"file":"period.js"}
1
+ {"version":3,"sources":["../../src/transaction/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"],"mappings":"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","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"],"file":"period.js"}
@@ -52,7 +52,7 @@ module.exports = {
52
52
  // Body of trip pane
53
53
 
54
54
 
55
- var t = kb.findTypeURIs(subject); // var me = UI.authn.currentUser()
55
+ var t = kb.findTypeURIs(subject); // var me = authn.currentUser()
56
56
  // Function: Render a single trip
57
57
 
58
58
  var renderTrip = function renderTrip(subject, thisDiv) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/trip/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"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,IAAMA,EAAE,GAAGC,OAAO,CAAC,UAAD,CAAlB;;AACA,IAAMC,IAAI,GAAGD,OAAO,CAAC,QAAD,CAApB;;AACA,IAAME,EAAE,GAAGH,EAAE,CAACG,EAAd;AAEAC,MAAM,CAACC,OAAP,GAAiB;AACfC,EAAAA,IAAI,EAAEN,EAAE,CAACO,KAAH,CAASC,QAAT,GAAoB,gBADX;AAGfC,EAAAA,IAAI,EAAE,iBAHS;AAKfC,EAAAA,QAAQ,EAAE,CAACP,EAAE,CAACQ,KAAH,CAAS,WAAT,CAAD,CALK;AAOf;AACAC,EAAAA,KAAK,EAAE,eAAUC,OAAV,EAAmBC,OAAnB,EAA4B;AACjC,QAAMC,EAAE,GAAGD,OAAO,CAACE,OAAR,CAAgBC,KAA3B;AACA,QAAMC,CAAC,GAAGH,EAAE,CAACI,YAAH,CAAgBN,OAAhB,CAAV,CAFiC,CAIjC;AACA;;AAEA,QAAIb,EAAE,CAACG,EAAH,CAAMiB,EAAN,CAAS,aAAT,KAA2BL,EAAE,CAACM,kBAAH,CAAsBR,OAAtB,CAA/B,EAA+D;AAC7D,aAAO,SAAP;AACD;;AACD,QAAIK,CAAC,CAAC,oCAAD,CAAL,EAA6C,OAAO,QAAP;AAE7C,WAAO,IAAP,CAZiC,CAYrB;AACb,GArBc;AAuBfI,EAAAA,MAAM,EAAE,gBAAUT,OAAV,EAAmBC,OAAnB,EAA4B;AAClC,QAAMS,UAAU,GAAGT,OAAO,CAACU,GAA3B;AACA,QAAMT,EAAE,GAAGD,OAAO,CAACG,KAAnB;AACA,QAAMd,EAAE,GAAGH,EAAE,CAACG,EAAd;AACA,QAAMsB,GAAG,GAAGvB,IAAI,CAACwB,SAAL,CAAe,qCAAf,CAAZ;AACA,QAAMC,IAAI,GAAGzB,IAAI,CAACwB,SAAL,CAAe,gCAAf,CAAb;AAEA,QAAME,GAAG,GAAGL,UAAU,CAACM,aAAX,CAAyB,KAAzB,CAAZ;AACAD,IAAAA,GAAG,CAACE,YAAJ,CAAiB,OAAjB,EAA0B,iBAA1B;AACAF,IAAAA,GAAG,CAACG,SAAJ,GAAgB,4BAAhB;;AAEA,QAAMC,QAAQ,GAAG,SAASA,QAAT,CAAmBC,OAAnB,EAA4BC,KAA5B,EAAmC;AAClD,UAAIA,KAAK,KAAKC,SAAd,EAAyBD,KAAK,GAAG,aAAR;AACzB,UAAME,GAAG,GAAGb,UAAU,CAACM,aAAX,CAAyB,KAAzB,CAAZ;AACAO,MAAAA,GAAG,CAACN,YAAJ,CAAiB,OAAjB,EAA0BI,KAA1B;AACAN,MAAAA,GAAG,CAACS,WAAJ,CAAgBD,GAAhB;AACAA,MAAAA,GAAG,CAACC,WAAJ,CAAgBd,UAAU,CAACe,cAAX,CAA0BL,OAA1B,CAAhB;AACD,KAND,CAXkC,CAmBlC;AACA;AACA;;;AAEA,QAAMf,CAAC,GAAGH,EAAE,CAACI,YAAH,CAAgBN,OAAhB,CAAV,CAvBkC,CAyBlC;AAEA;;AAEA,QAAM0B,UAAU,GAAG,SAASA,UAAT,CAAqB1B,OAArB,EAA8B2B,OAA9B,EAAuC;AACxD,UAAMC,KAAK,GAAG,IAAIvC,IAAI,CAACwC,KAAT,CAAe1C,EAAE,CAAC2C,KAAH,CAAS/B,KAAT,CAAeC,OAAf,CAAf,CAAd;AACA,UAAM+B,IAAI,GAAG,CAAC,MAAD,EAAS,aAAT,EAAwB,SAAxB,EAAmC,MAAnC,EAA2C,QAA3C,CAAb;AACA,UAAMC,CAAC,GAAG,EAAV;AACAD,MAAAA,IAAI,CAACE,OAAL,CAAa,UAAUC,CAAV,EAAa;AACxBN,QAAAA,KAAK,CAACG,IAAN,CAAWI,IAAX,CAAiBH,CAAC,CAACE,CAAD,CAAD,GAAO7C,IAAI,CAAC+C,QAAL,CAAcF,CAAd,CAAxB;AACD,OAFD,EAJwD,CAMrD;;AACHN,MAAAA,KAAK,CAACS,GAAN,CAAUC,GAAV,CAAcN,CAAC,CAACO,WAAhB,EAA6BzB,IAAI,CAAC,MAAD,CAAjC,EAA2Cd,OAA3C;AAEA,UAAMwC,GAAG,GAAGtC,EAAE,CAACuC,OAAH,EAAZ;AACAD,MAAAA,GAAG,CAACF,GAAJ,CAAQN,CAAC,CAACO,WAAV,EAAuBjD,EAAE,CAACoD,GAAH,CAAO,MAAP,CAAvB,EAAuCV,CAAC,CAACW,IAAzC,EAVwD,CAUT;;AAC/Cf,MAAAA,KAAK,CAACS,GAAN,CAAUO,QAAV,CAAmBT,IAAnB,CAAwBK,GAAxB;AAEAZ,MAAAA,KAAK,CAACS,GAAN,CAAUC,GAAV,CAAcN,CAAC,CAACO,WAAhB,EAA6BpD,EAAE,CAACG,EAAH,CAAMiB,EAAN,CAAS,MAAT,CAA7B,EAA+CyB,CAAC,CAACa,IAAjD;AAEAL,MAAAA,GAAG,CAACF,GAAJ,CAAQN,CAAC,CAACO,WAAV,EAAuBjD,EAAE,CAACwD,IAAH,CAAQ,SAAR,CAAvB,EAA2Cd,CAAC,CAACe,OAA7C;AACAnB,MAAAA,KAAK,CAACS,GAAN,CAAUO,QAAV,CAAmBT,IAAnB,CAAwBK,GAAxB,EAhBwD,CAkBxD;;AACAZ,MAAAA,KAAK,CAACS,GAAN,CAAUC,GAAV,CAAcN,CAAC,CAACO,WAAhB,EAA6BpD,EAAE,CAACG,EAAH,CAAMiB,EAAN,CAAS,QAAT,CAA7B,EAAiDyB,CAAC,CAACgB,MAAnD,EAnBwD,CAoBxD;;AAEA,UAAMC,YAAY,GAAG,SAAfA,YAAe,GAAY;AAC/B,YAAMC,KAAK,GAAG,EAAd;AACA,YAAMC,KAAK,GAAGjD,EAAE,CAACkD,IAAH,CAAQ9B,SAAR,EAAmBR,IAAI,CAAC,MAAD,CAAvB,EAAiCd,OAAjC,CAAd,CAF+B,CAG/B;;AACAmD,QAAAA,KAAK,CAAClB,OAAN,CAAc,UAAU5B,CAAV,EAAa;AACzB,cAAIgD,EAAE,GAAGnD,EAAE,CAACoD,GAAH,CAAOjD,CAAP,EAAUf,EAAE,CAACoD,GAAH,CAAO,MAAP,CAAV,CAAT,CADyB,CAEzB;;AACA,cAAI,CAACW,EAAL,EAASA,EAAE,GAAGlE,EAAE,CAACG,EAAH,CAAMiB,EAAN,CAAS,aAAT,CAAL;;AACT,cAAI8C,EAAE,IAAIA,EAAE,CAACE,GAAb,EAAkB;AAChB,gBAAMC,KAAK,GAAGH,EAAE,CAACE,GAAjB;AACA,gBAAI,CAACL,KAAK,CAACM,KAAD,CAAV,EAAmBN,KAAK,CAACM,KAAD,CAAL,GAAe,GAAf;AACnB,gBAAMC,GAAG,GAAGvD,EAAE,CAACwD,GAAH,CAAOrD,CAAP,EAAUlB,EAAE,CAACG,EAAH,CAAMiB,EAAN,CAAS,QAAT,CAAV,CAAZ;;AACA,gBAAI,CAACkD,GAAL,EAAU;AACRtC,cAAAA,QAAQ,CAAC,8BAA8BsC,GAA9B,GAAoC,OAApC,GAA8CpD,CAA/C,CAAR;AACD;;AACD,gBAAIoD,GAAJ,EAAS;AACPP,cAAAA,KAAK,CAACM,KAAD,CAAL,GAAeN,KAAK,CAACM,KAAD,CAAL,GAAeG,UAAU,CAACF,GAAG,CAACG,KAAL,CAAxC,CADO,CAEP;AACA;AACD;AACF;AACF,SAjBD;AAkBA,YAAIC,GAAG,GAAG,EAAV;AACA,YAAIC,KAAK,GAAG,CAAZ;AACA,YAAIC,UAAU,GAAG,GAAjB;;AACA,aAAK,IAAMR,GAAX,IAAkBL,KAAlB,EAAyB;AACvBW,UAAAA,GAAG,IAAI1E,EAAE,CAAC2C,KAAH,CAAS/B,KAAT,CAAeG,EAAE,CAAC8D,GAAH,CAAOT,GAAP,CAAf,IAA8B,IAA9B,GAAqCL,KAAK,CAACK,GAAD,CAA1C,GAAkD,IAAzD;AACAO,UAAAA,KAAK;AACLC,UAAAA,UAAU,IAAIb,KAAK,CAACK,GAAD,CAAnB;AACD;;AACDpC,QAAAA,QAAQ,CAAC,eAAegC,KAAK,CAACc,MAArB,GAA8B,iBAA9B,GAAkDJ,GAAnD,EAAwD,EAAxD,CAAR,CA9B+B,CA8BqC;;AACpE,YAAIC,KAAK,GAAG,CAAZ,EAAe;AACb3C,UAAAA,QAAQ,CAAC,kBAAkB4C,UAAnB,EAA+B,uBAA/B,CAAR;AACD;AACF,OAlCD;;AAmCA,UAAMG,QAAQ,GAAG/E,EAAE,CAACgF,KAAH,CAASzD,UAAT,EAAqB;AACpCkB,QAAAA,KAAK,EAAEA,KAD6B;AAEpCwC,QAAAA,MAAM,EAAEnB;AAF4B,OAArB,CAAjB;AAIAtB,MAAAA,OAAO,CAACH,WAAR,CAAoB0C,QAApB;AACD,KA9DD,CA7BkC,CA6FlC;;;AAEA,QAAI/E,EAAE,CAACG,EAAH,CAAMiB,EAAN,CAAS,aAAT,KAA2BL,EAAE,CAACM,kBAAH,CAAsBR,OAAtB,CAA/B,EAA+D;AAC7D,UAAMqE,EAAE,GAAGnE,EAAE,CAACkD,IAAH,CAAQ9B,SAAR,EAAmBhC,EAAE,CAACoD,GAAH,CAAO,MAAP,CAAnB,EAAmC1C,OAAnC,CAAX;AACA,UAAMsE,OAAO,GAAG,EAAhB;AACA,UAAMC,KAAK,GAAG,EAAd;;AACA,WAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,EAAE,CAACJ,MAAvB,EAA+BO,CAAC,EAAhC,EAAoC;AAClC,YAAMrB,KAAK,GAAGkB,EAAE,CAACG,CAAD,CAAhB;AACA,YAAMC,IAAI,GAAGvE,EAAE,CAACwD,GAAH,CAAOP,KAAP,EAAcrC,IAAI,CAAC,MAAD,CAAlB,CAAb;;AACA,YAAI,CAAC2D,IAAL,EAAW;AACTH,UAAAA,OAAO,CAACnC,IAAR,CAAagB,KAAb;AACD,SAFD,MAEO;AACL,cAAI,EAAEA,KAAK,IAAIoB,KAAX,CAAJ,EAAuBA,KAAK,CAACE,IAAD,CAAL,GAAc;AAAEvB,YAAAA,KAAK,EAAE,CAAT;AAAYwB,YAAAA,YAAY,EAAE;AAA1B,WAAd;AACvB,cAAMC,GAAG,GAAGzE,EAAE,CAACwD,GAAH,CAAOP,KAAP,EAAchE,EAAE,CAACG,EAAH,CAAMiB,EAAN,CAAS,QAAT,CAAd,CAAZ;AACA,cAAIoE,GAAJ,EAASJ,KAAK,CAACE,IAAD,CAAL,CAAYvB,KAAZ,IAAqByB,GAArB;AACT,cAAM9B,IAAI,GAAG3C,EAAE,CAACwD,GAAH,CAAOP,KAAP,EAAchE,EAAE,CAACG,EAAH,CAAMiB,EAAN,CAAS,MAAT,CAAd,CAAb;AACAgE,UAAAA,KAAK,CAACE,IAAI,CAACG,IAAL,EAAD,CAAL,CAAmBF,YAAnB,CAAgCvC,IAAhC,CAAqC,CAACU,IAAD,EAAOM,KAAP,CAArC;AACD;AACF;AACD;AACN;AACA;AACA;AACA;;;AACM,UAAM0B,IAAI,GAAG,EAAb;;AACA,WAAK,IAAMC,EAAX,IAAiBP,KAAjB,EAAwB;AACtB,YAAMQ,EAAE,GAAG7E,EAAE,CAAC8E,MAAH,CAAUF,EAAV,CAAX;AACAD,QAAAA,IAAI,CAAC1C,IAAL,CAAU,CAACjC,EAAE,CAACwD,GAAH,CAAOqB,EAAP,EAAWnE,GAAG,CAAC,SAAD,CAAd,CAAD,EAA6BmE,EAA7B,CAAV;AACD;;AACDF,MAAAA,IAAI,CAACI,IAAL;;AACA,WAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGL,IAAI,CAACZ,MAAzB,EAAiCiB,CAAC,EAAlC,EAAsC;AACpC,YAAMC,EAAE,GAAGN,IAAI,CAACK,CAAD,CAAJ,CAAQ,CAAR,CAAX;AACAxD,QAAAA,UAAU,CAACyD,EAAD,EAAKpE,GAAL,CAAV;AACD,OA/B4D,CAiC7D;;AACD,KAlCD,MAkCO,IAAIV,CAAC,CAAC,oCAAD,CAAL,EAA6C;AAClDqB,MAAAA,UAAU,CAAC1B,OAAD,EAAUe,GAAV,CAAV;AACD,KAnIiC,CAqIlC;;;AAEA,WAAOA,GAAP;AACD;AA/Jc,CAAjB,C,CAiKA","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 = UI.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"],"file":"tripPane.js"}
1
+ {"version":3,"sources":["../../src/trip/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"],"mappings":"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","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"],"file":"tripPane.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"trustedApplications.dom.d.ts","sourceRoot":"","sources":["../../src/trustedApplications/trustedApplications.dom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAkB,MAAM,QAAQ,CAAA;AAalD,wBAAgB,sBAAsB,CAAE,OAAO,EAAE,SAAS,oBA0CzD;AAmKD,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,UAAU,CAAC,qBAAqB,EAC9E,WAAW,EAAE,CAAC,EACd,QAAQ,EAAE,WAAW,EAAE,EACvB,UAAU,KAAK,EACf,cAAc,KAAK,EACnB,SAAS,OAAO,4BAUjB;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,UAAU,CAAC,qBAAqB,EACzE,WAAW,EAAE,CAAC,EACd,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,UAAU,KAAK,EACf,cAAc,KAAK,EACnB,SAAS,OAAO,4BAUjB"}
1
+ {"version":3,"file":"trustedApplications.dom.d.ts","sourceRoot":"","sources":["../../src/trustedApplications/trustedApplications.dom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAkB,MAAM,QAAQ,CAAA;AAclD,wBAAgB,sBAAsB,CAAE,OAAO,EAAE,SAAS,oBA0CzD;AAmKD,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,UAAU,CAAC,qBAAqB,EAC9E,WAAW,EAAE,CAAC,EACd,QAAQ,EAAE,WAAW,EAAE,EACvB,UAAU,KAAK,EACf,cAAc,KAAK,EACnB,SAAS,OAAO,4BAUjB;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,UAAU,CAAC,qBAAqB,EACzE,WAAW,EAAE,CAAC,EACd,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,UAAU,KAAK,EACf,cAAc,KAAK,EACnB,SAAS,OAAO,4BAUjB"}
@@ -11,6 +11,8 @@ var _rdflib = require("rdflib");
11
11
 
12
12
  var _solidUi = require("solid-ui");
13
13
 
14
+ var _solidLogic = require("solid-logic");
15
+
14
16
  var _trustedApplications = require("./trustedApplications.utils");
15
17
 
16
18
  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; }
@@ -27,10 +29,10 @@ function createApplicationTable(subject) {
27
29
  var header = createContainer('tr', [createText('th', 'Application URL'), createText('th', 'Access modes'), createText('th', 'Actions')]);
28
30
  applicationsTable.appendChild(header); // creating rows
29
31
 
30
- _solidUi.store.each(subject, _solidUi.ns.acl('trustedApp'), undefined, undefined).flatMap(function (app) {
31
- return _solidUi.store.each(app, _solidUi.ns.acl('origin'), undefined, undefined).map(function (origin) {
32
+ _solidLogic.store.each(subject, _solidUi.ns.acl('trustedApp'), undefined, undefined).flatMap(function (app) {
33
+ return _solidLogic.store.each(app, _solidUi.ns.acl('origin'), undefined, undefined).map(function (origin) {
32
34
  return {
33
- appModes: _solidUi.store.each(app, _solidUi.ns.acl('mode'), undefined, undefined),
35
+ appModes: _solidLogic.store.each(app, _solidUi.ns.acl('mode'), undefined, undefined),
34
36
  origin: origin
35
37
  };
36
38
  });
@@ -100,14 +102,14 @@ function createApplicationEntry(subject, origin, appModes, updateTable) {
100
102
  }).map(function (checkbox) {
101
103
  return checkbox.value;
102
104
  });
103
- var deletions = (0, _trustedApplications.getStatementsToDelete)(trustedApplicationState.origin || origin, subject, _solidUi.store, _solidUi.ns);
105
+ var deletions = (0, _trustedApplications.getStatementsToDelete)(trustedApplicationState.origin || origin, subject, _solidLogic.store, _solidUi.ns);
104
106
  var additions = (0, _trustedApplications.getStatementsToAdd)(origin, (0, _trustedApplications.generateRandomString)(), modes, subject, _solidUi.ns);
105
107
 
106
- if (!_solidUi.store.updater) {
108
+ if (!_solidLogic.store.updater) {
107
109
  throw new Error('Store has no updater');
108
110
  }
109
111
 
110
- _solidUi.store.updater.update(deletions, additions, handleUpdateResponse);
112
+ _solidLogic.store.updater.update(deletions, additions, handleUpdateResponse);
111
113
  }
112
114
 
113
115
  function removeApplication(event) {
@@ -120,13 +122,13 @@ function createApplicationEntry(subject, origin, appModes, updateTable) {
120
122
  return alert('Please provide an application URL you want to remove trust from');
121
123
  }
122
124
 
123
- var deletions = (0, _trustedApplications.getStatementsToDelete)(origin, subject, _solidUi.store, _solidUi.ns);
125
+ var deletions = (0, _trustedApplications.getStatementsToDelete)(origin, subject, _solidLogic.store, _solidUi.ns);
124
126
 
125
- if (!_solidUi.store.updater) {
127
+ if (!_solidLogic.store.updater) {
126
128
  throw new Error('Store has no updater');
127
129
  }
128
130
 
129
- _solidUi.store.updater.update(deletions, [], handleUpdateResponse);
131
+ _solidLogic.store.updater.update(deletions, [], handleUpdateResponse);
130
132
  }
131
133
 
132
134
  function handleUpdateResponse(uri, success, errorBody) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/trustedApplications/trustedApplications.dom.ts"],"names":["createApplicationTable","subject","applicationsTable","createElement","header","createContainer","createText","appendChild","store","each","ns","acl","undefined","flatMap","app","map","origin","appModes","sort","a","b","value","forEach","createApplicationEntry","updateTable","parentElement","replaceChild","trustedApplicationState","formElements","modes","placeholder","element","submit","addOrEditApplication","createModesInput","style","click","removeApplication","event","preventDefault","err","alert","filter","checkbox","checked","deletions","additions","updater","Error","update","handleUpdateResponse","uri","success","errorBody","console","error","elementName","attributes","eventListeners","onCreated","document","Object","keys","attName","setAttribute","eventName","addEventListener","children","child","textContent","mode","isChecked","some","appMode","type","push"],"mappings":"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","sourcesContent":["import { NamedNode, Statement, sym } from 'rdflib'\nimport { ns, store } from 'solid-ui'\nimport { generateRandomString, getStatementsToAdd, getStatementsToDelete } from './trustedApplications.utils'\n\ninterface FormElements {\n modes: HTMLInputElement[]\n // This appears to be used to store either a node from the store,\n // or a reference to the input (checkbox) element for a particular mode.\n // These typings were created post-hoc, so I'm not sure if that was intentional.\n // Thus, this union type should be considered as descriptive rather than prescriptive.\n origin: undefined | NamedNode | HTMLInputElement\n}\n\nexport function createApplicationTable (subject: NamedNode) {\n const applicationsTable = createElement('table', {\n class: 'results'\n })\n\n // creating headers\n const header = createContainer('tr', [\n createText('th', 'Application URL'),\n createText('th', 'Access modes'),\n createText('th', 'Actions')\n ])\n applicationsTable.appendChild(header);\n\n // creating rows\n (store.each(subject, ns.acl('trustedApp'), undefined, undefined) as unknown as Statement[])\n .flatMap(app => store\n .each(app as any, ns.acl('origin'), undefined, undefined)\n .map(origin => ({\n appModes: store.each(app as any, ns.acl('mode'), undefined, undefined) as NamedNode[],\n origin: origin as NamedNode\n })))\n .sort((a: any, b: any) => (a.origin.value < b.origin.value ? -1 : 1))\n .forEach(\n ({ appModes, origin }: { appModes: NamedNode[]; origin: NamedNode }) =>\n applicationsTable.appendChild(\n createApplicationEntry(subject, origin, appModes, updateTable)\n )\n )\n\n // adding a row for new applications\n applicationsTable.appendChild(\n createApplicationEntry(subject, null, [ns.acl('Read')], updateTable)\n )\n\n return applicationsTable\n\n function updateTable () {\n applicationsTable.parentElement!.replaceChild(\n createApplicationTable(subject),\n applicationsTable\n )\n }\n}\n\nfunction createApplicationEntry (\n subject: NamedNode,\n origin: NamedNode | null,\n appModes: NamedNode[],\n updateTable: () => void\n): HTMLTableRowElement {\n const trustedApplicationState = {\n origin,\n appModes,\n formElements: {\n modes: [],\n origin: undefined\n } as FormElements\n }\n return createContainer('tr', [\n createContainer('td', [\n createContainer(\n 'form',\n [\n createElement(\n 'input',\n {\n class: 'textinput',\n placeholder: 'Write new URL here',\n value: origin ? origin.value : ''\n },\n {},\n element => {\n trustedApplicationState.formElements.origin = element\n }\n )\n ],\n {},\n {\n submit: addOrEditApplication\n }\n )\n ]),\n createContainer('td', [\n createContainer(\n 'form',\n createModesInput(trustedApplicationState),\n {},\n {\n submit: addOrEditApplication\n }\n )\n ]),\n createContainer('td', [\n createContainer(\n 'form',\n origin\n ? [\n createText('button', 'Update', {\n class: 'controlButton',\n style: 'background: LightGreen;'\n }),\n createText(\n 'button',\n 'Delete',\n {\n class: 'controlButton',\n style: 'background: LightCoral;'\n },\n {\n click: removeApplication\n }\n )\n ]\n : [\n createText('button', 'Add', {\n class: 'controlButton',\n style: 'background: LightGreen;'\n })\n ],\n {},\n {\n submit: addOrEditApplication\n }\n )\n ])\n ])\n\n function addOrEditApplication (event: Event) {\n event.preventDefault()\n let origin\n try {\n origin = sym(trustedApplicationState.formElements.origin!.value)\n } catch (err) {\n return alert('Please provide an application URL you want to trust')\n }\n\n const modes = trustedApplicationState.formElements.modes\n .filter(checkbox => checkbox.checked)\n .map(checkbox => checkbox.value)\n\n const deletions = getStatementsToDelete(\n trustedApplicationState.origin || origin,\n subject,\n store,\n ns\n )\n const additions = getStatementsToAdd(\n origin,\n generateRandomString(),\n modes,\n subject,\n ns\n )\n if (!store.updater) {\n throw new Error('Store has no updater')\n }\n store.updater.update(deletions, additions, handleUpdateResponse)\n }\n\n function removeApplication (event: Event) {\n event.preventDefault()\n let origin\n try {\n origin = sym(trustedApplicationState.formElements.origin!.value)\n } catch (err) {\n return alert(\n 'Please provide an application URL you want to remove trust from'\n )\n }\n\n const deletions = getStatementsToDelete(origin, subject, store, ns)\n if (!store.updater) {\n throw new Error('Store has no updater')\n }\n store.updater.update(deletions, [], handleUpdateResponse)\n }\n\n function handleUpdateResponse (uri: any, success: boolean, errorBody: any) {\n if (success) {\n return updateTable()\n }\n console.error(uri, errorBody)\n }\n}\n\nfunction createElement<K extends keyof globalThis.HTMLElementTagNameMap> (\n elementName: K,\n attributes: { [name: string]: string } = {},\n eventListeners: { [eventName: string]: globalThis.EventListener } = {},\n // eslint-disable-next-line no-unused-vars\n onCreated: null | ((createdElement: globalThis.HTMLElementTagNameMap[K]) => void) = null\n) {\n const element = document.createElement(elementName)\n if (onCreated) {\n onCreated(element)\n }\n Object.keys(attributes).forEach(attName => {\n element.setAttribute(attName, attributes[attName])\n })\n Object.keys(eventListeners).forEach(eventName => {\n element.addEventListener(eventName, eventListeners[eventName])\n })\n return element\n}\n\nexport function createContainer<K extends keyof globalThis.HTMLElementTagNameMap> (\n elementName: K,\n children: HTMLElement[],\n attributes = {},\n eventListeners = {},\n onCreated = null\n) {\n const element = createElement(\n elementName,\n attributes,\n eventListeners,\n onCreated\n )\n children.forEach(child => element.appendChild(child))\n return element\n}\n\nexport function createText<K extends keyof globalThis.HTMLElementTagNameMap> (\n elementName: K,\n textContent: string | null,\n attributes = {},\n eventListeners = {},\n onCreated = null\n) {\n const element = createElement(\n elementName,\n attributes,\n eventListeners,\n onCreated\n )\n element.textContent = textContent\n return element\n}\n\nfunction createModesInput ({ appModes, formElements }: {\n appModes: NamedNode[]\n formElements: FormElements\n}) {\n return ['Read', 'Write', 'Append', 'Control'].map(mode => {\n const isChecked = appModes.some(\n appMode => appMode.value === ns.acl(mode).value\n )\n return createContainer('label', [\n createElement(\n 'input',\n {\n type: 'checkbox',\n ...(isChecked ? { checked: '' } : {}),\n value: ns.acl(mode).uri\n },\n {},\n element => formElements.modes.push(element)\n ),\n createText('span', mode)\n ])\n })\n}\n"],"file":"trustedApplications.dom.js"}
1
+ {"version":3,"sources":["../../src/trustedApplications/trustedApplications.dom.ts"],"names":["createApplicationTable","subject","applicationsTable","createElement","header","createContainer","createText","appendChild","store","each","ns","acl","undefined","flatMap","app","map","origin","appModes","sort","a","b","value","forEach","createApplicationEntry","updateTable","parentElement","replaceChild","trustedApplicationState","formElements","modes","placeholder","element","submit","addOrEditApplication","createModesInput","style","click","removeApplication","event","preventDefault","err","alert","filter","checkbox","checked","deletions","additions","updater","Error","update","handleUpdateResponse","uri","success","errorBody","console","error","elementName","attributes","eventListeners","onCreated","document","Object","keys","attName","setAttribute","eventName","addEventListener","children","child","textContent","mode","isChecked","some","appMode","type","push"],"mappings":"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","sourcesContent":["import { NamedNode, Statement, sym } from 'rdflib'\nimport { ns } from 'solid-ui'\nimport { store } from 'solid-logic'\nimport { generateRandomString, getStatementsToAdd, getStatementsToDelete } from './trustedApplications.utils'\n\ninterface FormElements {\n modes: HTMLInputElement[]\n // This appears to be used to store either a node from the store,\n // or a reference to the input (checkbox) element for a particular mode.\n // These typings were created post-hoc, so I'm not sure if that was intentional.\n // Thus, this union type should be considered as descriptive rather than prescriptive.\n origin: undefined | NamedNode | HTMLInputElement\n}\n\nexport function createApplicationTable (subject: NamedNode) {\n const applicationsTable = createElement('table', {\n class: 'results'\n })\n\n // creating headers\n const header = createContainer('tr', [\n createText('th', 'Application URL'),\n createText('th', 'Access modes'),\n createText('th', 'Actions')\n ])\n applicationsTable.appendChild(header);\n\n // creating rows\n (store.each(subject, ns.acl('trustedApp'), undefined, undefined) as unknown as Statement[])\n .flatMap(app => store\n .each(app as any, ns.acl('origin'), undefined, undefined)\n .map(origin => ({\n appModes: store.each(app as any, ns.acl('mode'), undefined, undefined) as NamedNode[],\n origin: origin as NamedNode\n })))\n .sort((a: any, b: any) => (a.origin.value < b.origin.value ? -1 : 1))\n .forEach(\n ({ appModes, origin }: { appModes: NamedNode[]; origin: NamedNode }) =>\n applicationsTable.appendChild(\n createApplicationEntry(subject, origin, appModes, updateTable)\n )\n )\n\n // adding a row for new applications\n applicationsTable.appendChild(\n createApplicationEntry(subject, null, [ns.acl('Read')], updateTable)\n )\n\n return applicationsTable\n\n function updateTable () {\n applicationsTable.parentElement!.replaceChild(\n createApplicationTable(subject),\n applicationsTable\n )\n }\n}\n\nfunction createApplicationEntry (\n subject: NamedNode,\n origin: NamedNode | null,\n appModes: NamedNode[],\n updateTable: () => void\n): HTMLTableRowElement {\n const trustedApplicationState = {\n origin,\n appModes,\n formElements: {\n modes: [],\n origin: undefined\n } as FormElements\n }\n return createContainer('tr', [\n createContainer('td', [\n createContainer(\n 'form',\n [\n createElement(\n 'input',\n {\n class: 'textinput',\n placeholder: 'Write new URL here',\n value: origin ? origin.value : ''\n },\n {},\n element => {\n trustedApplicationState.formElements.origin = element\n }\n )\n ],\n {},\n {\n submit: addOrEditApplication\n }\n )\n ]),\n createContainer('td', [\n createContainer(\n 'form',\n createModesInput(trustedApplicationState),\n {},\n {\n submit: addOrEditApplication\n }\n )\n ]),\n createContainer('td', [\n createContainer(\n 'form',\n origin\n ? [\n createText('button', 'Update', {\n class: 'controlButton',\n style: 'background: LightGreen;'\n }),\n createText(\n 'button',\n 'Delete',\n {\n class: 'controlButton',\n style: 'background: LightCoral;'\n },\n {\n click: removeApplication\n }\n )\n ]\n : [\n createText('button', 'Add', {\n class: 'controlButton',\n style: 'background: LightGreen;'\n })\n ],\n {},\n {\n submit: addOrEditApplication\n }\n )\n ])\n ])\n\n function addOrEditApplication (event: Event) {\n event.preventDefault()\n let origin\n try {\n origin = sym(trustedApplicationState.formElements.origin!.value)\n } catch (err) {\n return alert('Please provide an application URL you want to trust')\n }\n\n const modes = trustedApplicationState.formElements.modes\n .filter(checkbox => checkbox.checked)\n .map(checkbox => checkbox.value)\n\n const deletions = getStatementsToDelete(\n trustedApplicationState.origin || origin,\n subject,\n store,\n ns\n )\n const additions = getStatementsToAdd(\n origin,\n generateRandomString(),\n modes,\n subject,\n ns\n )\n if (!store.updater) {\n throw new Error('Store has no updater')\n }\n store.updater.update(deletions, additions, handleUpdateResponse)\n }\n\n function removeApplication (event: Event) {\n event.preventDefault()\n let origin\n try {\n origin = sym(trustedApplicationState.formElements.origin!.value)\n } catch (err) {\n return alert(\n 'Please provide an application URL you want to remove trust from'\n )\n }\n\n const deletions = getStatementsToDelete(origin, subject, store, ns)\n if (!store.updater) {\n throw new Error('Store has no updater')\n }\n store.updater.update(deletions, [], handleUpdateResponse)\n }\n\n function handleUpdateResponse (uri: any, success: boolean, errorBody: any) {\n if (success) {\n return updateTable()\n }\n console.error(uri, errorBody)\n }\n}\n\nfunction createElement<K extends keyof globalThis.HTMLElementTagNameMap> (\n elementName: K,\n attributes: { [name: string]: string } = {},\n eventListeners: { [eventName: string]: globalThis.EventListener } = {},\n // eslint-disable-next-line no-unused-vars\n onCreated: null | ((createdElement: globalThis.HTMLElementTagNameMap[K]) => void) = null\n) {\n const element = document.createElement(elementName)\n if (onCreated) {\n onCreated(element)\n }\n Object.keys(attributes).forEach(attName => {\n element.setAttribute(attName, attributes[attName])\n })\n Object.keys(eventListeners).forEach(eventName => {\n element.addEventListener(eventName, eventListeners[eventName])\n })\n return element\n}\n\nexport function createContainer<K extends keyof globalThis.HTMLElementTagNameMap> (\n elementName: K,\n children: HTMLElement[],\n attributes = {},\n eventListeners = {},\n onCreated = null\n) {\n const element = createElement(\n elementName,\n attributes,\n eventListeners,\n onCreated\n )\n children.forEach(child => element.appendChild(child))\n return element\n}\n\nexport function createText<K extends keyof globalThis.HTMLElementTagNameMap> (\n elementName: K,\n textContent: string | null,\n attributes = {},\n eventListeners = {},\n onCreated = null\n) {\n const element = createElement(\n elementName,\n attributes,\n eventListeners,\n onCreated\n )\n element.textContent = textContent\n return element\n}\n\nfunction createModesInput ({ appModes, formElements }: {\n appModes: NamedNode[]\n formElements: FormElements\n}) {\n return ['Read', 'Write', 'Append', 'Control'].map(mode => {\n const isChecked = appModes.some(\n appMode => appMode.value === ns.acl(mode).value\n )\n return createContainer('label', [\n createElement(\n 'input',\n {\n type: 'checkbox',\n ...(isChecked ? { checked: '' } : {}),\n value: ns.acl(mode).uri\n },\n {},\n element => formElements.modes.push(element)\n ),\n createText('span', mode)\n ])\n })\n}\n"],"file":"trustedApplications.dom.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"trustedApplications.view.d.ts","sourceRoot":"","sources":["../../src/trustedApplications/trustedApplications.view.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAK9C,QAAA,MAAM,sBAAsB,EAAE,cAuB7B,CAAA;AAgDD,eAAe,sBAAsB,CAAA"}
1
+ {"version":3,"file":"trustedApplications.view.d.ts","sourceRoot":"","sources":["../../src/trustedApplications/trustedApplications.view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAQ9C,QAAA,MAAM,sBAAsB,EAAE,cAuB7B,CAAA;AAgDD,eAAe,sBAAsB,CAAA"}
@@ -7,6 +7,8 @@ exports["default"] = void 0;
7
7
 
8
8
  var _solidUi = require("solid-ui");
9
9
 
10
+ var _solidLogic = require("solid-logic");
11
+
10
12
  var _trustedApplications = require("./trustedApplications.dom");
11
13
 
12
14
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
@@ -52,7 +54,7 @@ function _render2() {
52
54
  switch (_context.prev = _context.next) {
53
55
  case 0:
54
56
  _context.next = 2;
55
- return _solidUi.authn.logInLoadProfile({
57
+ return _solidUi.login.ensureLoadedProfile({
56
58
  dom: dom,
57
59
  div: main,
58
60
  statusArea: statusArea,
@@ -64,7 +66,7 @@ function _render2() {
64
66
  subject = authContext.me;
65
67
  profile = subject.doc();
66
68
 
67
- if (_solidUi.store.updater) {
69
+ if (_solidLogic.store.updater) {
68
70
  _context.next = 7;
69
71
  break;
70
72
  }
@@ -72,7 +74,7 @@ function _render2() {
72
74
  throw new Error('Store has no updater');
73
75
 
74
76
  case 7:
75
- editable = _solidUi.store.updater.editable(profile.uri, _solidUi.store);
77
+ editable = _solidLogic.store.updater.editable(profile.uri, _solidLogic.store);
76
78
  main.appendChild((0, _trustedApplications.createText)('h3', 'Manage your trusted applications'));
77
79
 
78
80
  if (editable) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/trustedApplications/trustedApplications.view.ts"],"names":["thisColor","trustedApplicationView","global","icon","icons","iconBase","name","label","render","subject","context","dom","div","createElement","classList","add","setAttribute","table","appendChild","main","bottom","statusArea","err","widgets","errorMessageBlock","authn","logInLoadProfile","me","authContext","profile","doc","store","updater","Error","editable","uri","applicationsTable"],"mappings":"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","sourcesContent":["import { authn, icons, store, widgets } from 'solid-ui'\nimport { NamedNode } from 'rdflib'\n\nimport { PaneDefinition } from 'pane-registry'\nimport { createApplicationTable, createContainer, createText } from './trustedApplications.dom'\n\nconst thisColor = '#418d99'\n\nconst trustedApplicationView: PaneDefinition = {\n global: true,\n icon: `${icons.iconBase}noun_15177.svg`,\n name: 'trustedApplications',\n label: () => null,\n render: (subject, context) => {\n const dom = context.dom\n const div = dom.createElement('div')\n div.classList.add('trusted-applications-pane')\n div.setAttribute(\n 'style',\n 'border: 0.3em solid ' +\n thisColor +\n '; border-radius: 0.5em; padding: 0.7em; margin-top:0.7em;'\n )\n const table = div.appendChild(dom.createElement('table'))\n const main = table.appendChild(dom.createElement('tr'))\n const bottom = table.appendChild(dom.createElement('tr'))\n const statusArea = bottom.appendChild(dom.createElement('div'))\n statusArea.setAttribute('style', 'padding: 0.7em;')\n render(dom, main, statusArea).catch(err => statusArea.appendChild(widgets.errorMessageBlock(dom, err)))\n return div\n }\n}\n\nasync function render (dom, main, statusArea): Promise<void> {\n const authContext = await authn.logInLoadProfile({ dom: dom, div: main, statusArea: statusArea, me: null })\n const subject = authContext.me as NamedNode\n\n const profile = subject.doc()\n if (!store.updater) {\n throw new Error('Store has no updater')\n }\n const editable = store.updater.editable(profile.uri, store)\n\n main.appendChild(createText('h3', 'Manage your trusted applications'))\n\n if (!editable) {\n main.appendChild(\n widgets.errorMessageBlock(dom, `Your profile ${subject.doc().uri} is not editable, so we cannot do much here.`)\n )\n return\n }\n\n main.appendChild(createText('p', 'Here you can manage the applications you trust.'))\n\n const applicationsTable = createApplicationTable(subject)\n main.appendChild(applicationsTable)\n\n main.appendChild(createText('h4', 'Notes'))\n main.appendChild(\n createContainer('ol', [\n main.appendChild(\n createText(\n 'li',\n 'Trusted applications will get access to all resources that you have access to.'\n )\n ),\n main.appendChild(\n createText('li', 'You can limit which modes they have by default.')\n ),\n main.appendChild(\n createText('li', 'They will not gain more access than you have.')\n )\n ])\n )\n main.appendChild(\n createText('p', 'Application URLs must be valid URL. Examples are http://localhost:3000, https://trusted.app, and https://sub.trusted.app.')\n )\n}\n\nexport default trustedApplicationView\n"],"file":"trustedApplications.view.js"}
1
+ {"version":3,"sources":["../../src/trustedApplications/trustedApplications.view.ts"],"names":["thisColor","trustedApplicationView","global","icon","icons","iconBase","name","label","render","subject","context","dom","div","createElement","classList","add","setAttribute","table","appendChild","main","bottom","statusArea","err","widgets","errorMessageBlock","login","ensureLoadedProfile","me","authContext","profile","doc","store","updater","Error","editable","uri","applicationsTable"],"mappings":"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","sourcesContent":["import { PaneDefinition } from 'pane-registry'\nimport { NamedNode } from 'rdflib'\nimport { icons, login, widgets } from 'solid-ui'\nimport { store } from 'solid-logic'\nimport { createApplicationTable, createContainer, createText } from './trustedApplications.dom'\n\nconst thisColor = '#418d99'\n\nconst trustedApplicationView: PaneDefinition = {\n global: true,\n icon: `${icons.iconBase}noun_15177.svg`,\n name: 'trustedApplications',\n label: () => null,\n render: (subject, context) => {\n const dom = context.dom\n const div = dom.createElement('div')\n div.classList.add('trusted-applications-pane')\n div.setAttribute(\n 'style',\n 'border: 0.3em solid ' +\n thisColor +\n '; border-radius: 0.5em; padding: 0.7em; margin-top:0.7em;'\n )\n const table = div.appendChild(dom.createElement('table'))\n const main = table.appendChild(dom.createElement('tr'))\n const bottom = table.appendChild(dom.createElement('tr'))\n const statusArea = bottom.appendChild(dom.createElement('div'))\n statusArea.setAttribute('style', 'padding: 0.7em;')\n render(dom, main, statusArea).catch(err => statusArea.appendChild(widgets.errorMessageBlock(dom, err)))\n return div\n }\n}\n\nasync function render (dom, main, statusArea): Promise<void> {\n const authContext = await login.ensureLoadedProfile({ dom: dom, div: main, statusArea: statusArea, me: null })\n const subject = authContext.me as NamedNode\n\n const profile = subject.doc()\n if (!store.updater) {\n throw new Error('Store has no updater')\n }\n const editable = store.updater.editable(profile.uri, store)\n\n main.appendChild(createText('h3', 'Manage your trusted applications'))\n\n if (!editable) {\n main.appendChild(\n widgets.errorMessageBlock(dom, `Your profile ${subject.doc().uri} is not editable, so we cannot do much here.`)\n )\n return\n }\n\n main.appendChild(createText('p', 'Here you can manage the applications you trust.'))\n\n const applicationsTable = createApplicationTable(subject)\n main.appendChild(applicationsTable)\n\n main.appendChild(createText('h4', 'Notes'))\n main.appendChild(\n createContainer('ol', [\n main.appendChild(\n createText(\n 'li',\n 'Trusted applications will get access to all resources that you have access to.'\n )\n ),\n main.appendChild(\n createText('li', 'You can limit which modes they have by default.')\n ),\n main.appendChild(\n createText('li', 'They will not gain more access than you have.')\n )\n ])\n )\n main.appendChild(\n createText('p', 'Application URLs must be valid URL. Examples are http://localhost:3000, https://trusted.app, and https://sub.trusted.app.')\n )\n}\n\nexport default trustedApplicationView\n"],"file":"trustedApplications.view.js"}
package/lib/types.d.ts CHANGED
File without changes
File without changes
package/lib/types.js CHANGED
File without changes
package/lib/types.js.map CHANGED
File without changes
package/lib/ui/pane.js CHANGED
File without changes
File without changes
File without changes
File without changes
@@ -5,25 +5,25 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports["default"] = void 0;
7
7
  var _default = {
8
- buildTime: '2022-02-09T21:43:57Z',
9
- commit: '77d9a384c2ea0c33ea4c796d9c4c34137b668104',
8
+ buildTime: '2022-02-16T13:55:42Z',
9
+ commit: 'd4784498d29147126f8c16a75ba2366c6a1441d7',
10
10
  npmInfo: {
11
- 'solid-panes': '3.5.17-alpha',
12
- npm: '6.14.13',
13
- ares: '1.17.1',
11
+ 'solid-panes': '3.5.18',
12
+ npm: '6.14.16',
13
+ ares: '1.18.1',
14
14
  brotli: '1.0.9',
15
- cldr: '39.0',
16
- icu: '69.1',
17
- llhttp: '2.1.3',
15
+ cldr: '40.0',
16
+ icu: '70.1',
17
+ llhttp: '2.1.4',
18
18
  modules: '83',
19
19
  napi: '8',
20
20
  nghttp2: '1.42.0',
21
- node: '14.17.3',
22
- openssl: '1.1.1k',
23
- tz: '2021a',
24
- unicode: '13.0',
25
- uv: '1.41.0',
26
- v8: '8.4.371.23-node.67',
21
+ node: '14.19.0',
22
+ openssl: '1.1.1m',
23
+ tz: '2021a3',
24
+ unicode: '14.0',
25
+ uv: '1.42.0',
26
+ v8: '8.4.371.23-node.85',
27
27
  zlib: '1.2.11'
28
28
  }
29
29
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/versionInfo.ts"],"names":["buildTime","commit","npmInfo","npm","ares","brotli","cldr","icu","llhttp","modules","napi","nghttp2","node","openssl","tz","unicode","uv","v8","zlib"],"mappings":";;;;;;eAAe;AACbA,EAAAA,SAAS,EAAE,sBADE;AAEbC,EAAAA,MAAM,EAAE,0CAFK;AAGbC,EAAAA,OAAO,EACT;AACE,mBAAe,cADjB;AAEEC,IAAAA,GAAG,EAAE,SAFP;AAGEC,IAAAA,IAAI,EAAE,QAHR;AAIEC,IAAAA,MAAM,EAAE,OAJV;AAKEC,IAAAA,IAAI,EAAE,MALR;AAMEC,IAAAA,GAAG,EAAE,MANP;AAOEC,IAAAA,MAAM,EAAE,OAPV;AAQEC,IAAAA,OAAO,EAAE,IARX;AASEC,IAAAA,IAAI,EAAE,GATR;AAUEC,IAAAA,OAAO,EAAE,QAVX;AAWEC,IAAAA,IAAI,EAAE,SAXR;AAYEC,IAAAA,OAAO,EAAE,QAZX;AAaEC,IAAAA,EAAE,EAAE,OAbN;AAcEC,IAAAA,OAAO,EAAE,MAdX;AAeEC,IAAAA,EAAE,EAAE,QAfN;AAgBEC,IAAAA,EAAE,EAAE,oBAhBN;AAiBEC,IAAAA,IAAI,EAAE;AAjBR;AAJe,C","sourcesContent":["export default {\n buildTime: '2022-02-09T21:43:57Z',\n commit: '77d9a384c2ea0c33ea4c796d9c4c34137b668104',\n npmInfo:\n{\n 'solid-panes': '3.5.17-alpha',\n npm: '6.14.13',\n ares: '1.17.1',\n brotli: '1.0.9',\n cldr: '39.0',\n icu: '69.1',\n llhttp: '2.1.3',\n modules: '83',\n napi: '8',\n nghttp2: '1.42.0',\n node: '14.17.3',\n openssl: '1.1.1k',\n tz: '2021a',\n unicode: '13.0',\n uv: '1.41.0',\n v8: '8.4.371.23-node.67',\n zlib: '1.2.11'\n}\n}\n"],"file":"versionInfo.js"}
1
+ {"version":3,"sources":["../src/versionInfo.ts"],"names":["buildTime","commit","npmInfo","npm","ares","brotli","cldr","icu","llhttp","modules","napi","nghttp2","node","openssl","tz","unicode","uv","v8","zlib"],"mappings":";;;;;;eAAe;AACbA,EAAAA,SAAS,EAAE,sBADE;AAEbC,EAAAA,MAAM,EAAE,0CAFK;AAGbC,EAAAA,OAAO,EACT;AACE,mBAAe,QADjB;AAEEC,IAAAA,GAAG,EAAE,SAFP;AAGEC,IAAAA,IAAI,EAAE,QAHR;AAIEC,IAAAA,MAAM,EAAE,OAJV;AAKEC,IAAAA,IAAI,EAAE,MALR;AAMEC,IAAAA,GAAG,EAAE,MANP;AAOEC,IAAAA,MAAM,EAAE,OAPV;AAQEC,IAAAA,OAAO,EAAE,IARX;AASEC,IAAAA,IAAI,EAAE,GATR;AAUEC,IAAAA,OAAO,EAAE,QAVX;AAWEC,IAAAA,IAAI,EAAE,SAXR;AAYEC,IAAAA,OAAO,EAAE,QAZX;AAaEC,IAAAA,EAAE,EAAE,QAbN;AAcEC,IAAAA,OAAO,EAAE,MAdX;AAeEC,IAAAA,EAAE,EAAE,QAfN;AAgBEC,IAAAA,EAAE,EAAE,oBAhBN;AAiBEC,IAAAA,IAAI,EAAE;AAjBR;AAJe,C","sourcesContent":["export default {\n buildTime: '2022-02-16T13:55:42Z',\n commit: 'd4784498d29147126f8c16a75ba2366c6a1441d7',\n npmInfo:\n{\n 'solid-panes': '3.5.18',\n npm: '6.14.16',\n ares: '1.18.1',\n brotli: '1.0.9',\n cldr: '40.0',\n icu: '70.1',\n llhttp: '2.1.4',\n modules: '83',\n napi: '8',\n nghttp2: '1.42.0',\n node: '14.19.0',\n openssl: '1.1.1m',\n tz: '2021a3',\n unicode: '14.0',\n uv: '1.42.0',\n v8: '8.4.371.23-node.85',\n zlib: '1.2.11'\n}\n}\n"],"file":"versionInfo.js"}
File without changes
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "solid-panes",
3
- "version": "3.5.17-alpha",
3
+ "version": "3.5.18-d4784498",
4
4
  "description": "Solid-compatible Panes: applets and views for the mashlib and databrowser",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -17,7 +17,7 @@
17
17
  "lint-fix": "eslint 'src/**/*.js' 'src/**/*.ts' --fix",
18
18
  "test": "npm run lint && jest",
19
19
  "test-watch": "npm run lint && jest --onlyChanged --watch",
20
- "prepublishOnly": "npm test && npm run build",
20
+ "ignore:prepublishOnly": "npm test && npm run build",
21
21
  "postversion": "git push origin main --follow-tags"
22
22
  },
23
23
  "repository": {
@@ -46,26 +46,26 @@
46
46
  "dependencies": {
47
47
  "@babel/polyfill": "^7.12.1",
48
48
  "@solid/better-simple-slideshow": "^0.1.0",
49
- "activitystreams-pane": "^0.6.3",
49
+ "activitystreams-pane": "0.6.3-a5c8dbc2",
50
50
  "babel-preset-env": "^1.7.0",
51
51
  "babel-preset-metalab": "^1.0.0",
52
- "chat-pane": "^2.4.15",
53
- "contacts-pane": "^2.6.0",
54
- "folder-pane": "^2.4.12",
55
- "issue-pane": "^2.4.9",
52
+ "chat-pane": "2.4.15-f3d7a087",
53
+ "contacts-pane": "2.6.0-509a1d91",
54
+ "folder-pane": "2.4.12-4811c171",
55
+ "issue-pane": "2.4.9-5fd734ff",
56
56
  "marked": "^4.0.8",
57
- "meeting-pane": "^2.3.8",
57
+ "meeting-pane": "2.3.8-71944670",
58
58
  "mime-types": "^2.1.34",
59
- "pane-registry": "^2.4.6",
59
+ "pane-registry": "2.4.6-7ecb64b0",
60
60
  "path-browserify": "^1.0.1",
61
- "profile-pane": "^1.0.7",
61
+ "profile-pane": "1.0.7-02bec52e",
62
62
  "rdflib": "^2.2.17",
63
63
  "react": "^17.0.2",
64
64
  "react-dom": "^17.0.2",
65
- "solid-logic": "^1.3.13",
65
+ "solid-logic": "1.3.13-60e05a84",
66
66
  "solid-namespace": "^0.5.2",
67
- "solid-ui": "^2.4.16",
68
- "source-pane": "^2.2.14"
67
+ "solid-ui": "2.4.16-74e478b4",
68
+ "source-pane": "2.2.14-5ce319af"
69
69
  },
70
70
  "devDependencies": {
71
71
  "@babel/cli": "^7.16.0",
package/src/RDFXMLPane.js CHANGED
File without changes