solid-panes 3.7.3-18da570b → 3.7.3-322e9b27

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 (380) hide show
  1. package/Documentation/VisualLanguage.html +538 -0
  2. package/Documentation/conventions.md +333 -0
  3. package/coverage/clover.xml +152 -0
  4. package/coverage/coverage-final.json +6 -0
  5. package/coverage/lcov-report/base.css +224 -0
  6. package/coverage/lcov-report/block-navigation.js +87 -0
  7. package/coverage/lcov-report/favicon.png +0 -0
  8. package/coverage/lcov-report/index.html +131 -0
  9. package/coverage/lcov-report/outline/index.html +161 -0
  10. package/coverage/lcov-report/outline/outlineIcons.js.html +565 -0
  11. package/coverage/lcov-report/outline/propertyViews.ts.html +196 -0
  12. package/coverage/lcov-report/outline/viewAsImage.ts.html +121 -0
  13. package/coverage/lcov-report/outline/viewAsMbox.ts.html +127 -0
  14. package/coverage/lcov-report/prettify.css +1 -0
  15. package/coverage/lcov-report/prettify.js +2 -0
  16. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  17. package/coverage/lcov-report/sorter.js +210 -0
  18. package/coverage/lcov-report/trustedApplications/index.html +116 -0
  19. package/coverage/lcov-report/trustedApplications/trustedApplications.utils.ts.html +238 -0
  20. package/coverage/lcov.info +204 -0
  21. package/dev/index.html +28 -0
  22. package/dev/loader.ts +91 -0
  23. package/dev/pane/index.ts +10 -0
  24. package/doc/images/panes-for-classes.epgz +0 -0
  25. package/doc/images/panes-for-classes.svg +609 -0
  26. package/eslint.config.mjs +34 -0
  27. package/jest.config.js +27 -0
  28. package/jest.setup.ts +4 -0
  29. package/lib/RDFXMLPane.js +59 -0
  30. package/lib/RDFXMLPane.js.map +1 -0
  31. package/{dist → lib}/argument/argumentPane.js +15 -14
  32. package/lib/argument/argumentPane.js.map +1 -0
  33. package/{dist → lib}/attach/attachPane.js +93 -83
  34. package/lib/attach/attachPane.js.map +1 -0
  35. package/{dist → lib}/audio/audioPane.js +50 -49
  36. package/lib/audio/audioPane.js.map +1 -0
  37. package/{dist → lib}/classInstancePane.js +24 -23
  38. package/lib/classInstancePane.js.map +1 -0
  39. package/lib/dashboard/basicPreferences.js +229 -0
  40. package/lib/dashboard/basicPreferences.js.map +1 -0
  41. package/{dist → lib}/dashboard/dashboardPane.js +21 -17
  42. package/lib/dashboard/dashboardPane.js.map +1 -0
  43. package/lib/dashboard/homepage.js +86 -0
  44. package/lib/dashboard/homepage.js.map +1 -0
  45. package/{dist → lib}/dataContentPane.js +63 -63
  46. package/lib/dataContentPane.js.map +1 -0
  47. package/{dist → lib}/defaultPane.js +15 -14
  48. package/lib/defaultPane.js.map +1 -0
  49. package/{dist → lib}/dokieli/dokieliPane.js +53 -49
  50. package/lib/dokieli/dokieliPane.js.map +1 -0
  51. package/lib/dokieli/new.js +9 -0
  52. package/lib/dokieli/new.js.map +1 -0
  53. package/{dist → lib}/form/pane.js +45 -44
  54. package/lib/form/pane.js.map +1 -0
  55. package/lib/home/homePane.js +91 -0
  56. package/lib/home/homePane.js.map +1 -0
  57. package/lib/humanReadablePane.js +138 -0
  58. package/lib/humanReadablePane.js.map +1 -0
  59. package/lib/imagePane.js +71 -0
  60. package/lib/imagePane.js.map +1 -0
  61. package/{dist → lib}/index.js +20 -17
  62. package/lib/index.js.map +1 -0
  63. package/{dist → lib}/internal/internalPane.js +41 -41
  64. package/lib/internal/internalPane.js.map +1 -0
  65. package/{dist → lib}/mainPage/footer.js +2 -2
  66. package/{dist → lib}/mainPage/footer.js.map +1 -1
  67. package/lib/mainPage/header.js +152 -0
  68. package/lib/mainPage/header.js.map +1 -0
  69. package/{dist → lib}/mainPage/index.d.ts.map +1 -1
  70. package/lib/mainPage/index.js +42 -0
  71. package/lib/mainPage/index.js.map +1 -0
  72. package/{dist → lib}/microblogPane/microblogPane.js +262 -261
  73. package/lib/microblogPane/microblogPane.js.map +1 -0
  74. package/lib/n3Pane.js +57 -0
  75. package/lib/n3Pane.js.map +1 -0
  76. package/{dist → lib}/outline/context.js +4 -4
  77. package/{dist → lib}/outline/context.js.map +1 -1
  78. package/lib/outline/manager.js +2264 -0
  79. package/lib/outline/manager.js.map +1 -0
  80. package/lib/outline/manager.test.d.ts +2 -0
  81. package/lib/outline/manager.test.d.ts.map +1 -0
  82. package/lib/outline/manager.test.js +210 -0
  83. package/lib/outline/manager.test.js.map +1 -0
  84. package/{dist → lib}/outline/outlineIcons.js +3 -2
  85. package/lib/outline/outlineIcons.js.map +1 -0
  86. package/{dist → lib}/outline/propertyViews.js +4 -4
  87. package/lib/outline/propertyViews.js.map +1 -0
  88. package/lib/outline/propertyViews.test.d.ts +2 -0
  89. package/lib/outline/propertyViews.test.d.ts.map +1 -0
  90. package/lib/outline/propertyViews.test.js +27 -0
  91. package/lib/outline/propertyViews.test.js.map +1 -0
  92. package/{dist → lib}/outline/queryByExample.js +31 -30
  93. package/lib/outline/queryByExample.js.map +1 -0
  94. package/{dist → lib}/outline/userInput.js +260 -262
  95. package/lib/outline/userInput.js.map +1 -0
  96. package/lib/outline/viewAsImage.js +17 -0
  97. package/lib/outline/viewAsImage.js.map +1 -0
  98. package/lib/outline/viewAsMbox.js +23 -0
  99. package/lib/outline/viewAsMbox.js.map +1 -0
  100. package/{dist → lib}/pad/padPane.js +96 -90
  101. package/lib/pad/padPane.js.map +1 -0
  102. package/{dist → lib}/playlist/playlistPane.js +37 -36
  103. package/lib/playlist/playlistPane.js.map +1 -0
  104. package/{dist → lib}/registerPanes.js +29 -29
  105. package/lib/registerPanes.js.map +1 -0
  106. package/lib/schedule/formsForSchedule.js +8 -0
  107. package/lib/schedule/formsForSchedule.js.map +1 -0
  108. package/{dist → lib}/schedule/schedulePane.js +178 -171
  109. package/lib/schedule/schedulePane.js.map +1 -0
  110. package/{dist → lib}/sharing/sharingPane.js +12 -12
  111. package/lib/sharing/sharingPane.js.map +1 -0
  112. package/lib/slideshow/slideshowPane.js +84 -0
  113. package/lib/slideshow/slideshowPane.js.map +1 -0
  114. package/{dist → lib}/socialPane.js +142 -141
  115. package/lib/socialPane.js.map +1 -0
  116. package/lib/tabbed/tabbedPane.js +72 -0
  117. package/lib/tabbed/tabbedPane.js.map +1 -0
  118. package/{dist → lib}/tableViewPane.js +9 -8
  119. package/lib/tableViewPane.js.map +1 -0
  120. package/lib/test-import-export/common.js +12 -0
  121. package/lib/test-import-export/common.js.map +1 -0
  122. package/lib/test-import-export/edit-importer.js +25 -0
  123. package/lib/test-import-export/edit-importer.js.map +1 -0
  124. package/lib/test-import-export/testImportExport.js +2 -0
  125. package/lib/test-import-export/testImportExport.js.map +1 -0
  126. package/{dist → lib}/transaction/pane.js +118 -117
  127. package/lib/transaction/pane.js.map +1 -0
  128. package/{dist → lib}/transaction/period.js +83 -82
  129. package/lib/transaction/period.js.map +1 -0
  130. package/{dist → lib}/trip/tripPane.js +48 -47
  131. package/lib/trip/tripPane.js.map +1 -0
  132. package/lib/trustedApplications/trustedApplications.dom.js +177 -0
  133. package/lib/trustedApplications/trustedApplications.dom.js.map +1 -0
  134. package/lib/trustedApplications/trustedApplications.test.d.ts +2 -0
  135. package/lib/trustedApplications/trustedApplications.test.d.ts.map +1 -0
  136. package/lib/trustedApplications/trustedApplications.test.js +64 -0
  137. package/lib/trustedApplications/trustedApplications.test.js.map +1 -0
  138. package/lib/trustedApplications/trustedApplications.utils.js +34 -0
  139. package/lib/trustedApplications/trustedApplications.utils.js.map +1 -0
  140. package/lib/trustedApplications/trustedApplications.view.js +87 -0
  141. package/lib/trustedApplications/trustedApplications.view.js.map +1 -0
  142. package/lib/types.js.map +1 -0
  143. package/{dist → lib}/ui/pane.js +31 -30
  144. package/lib/ui/pane.js.map +1 -0
  145. package/lib/versionInfo.d.ts +32 -0
  146. package/lib/versionInfo.d.ts.map +1 -0
  147. package/lib/versionInfo.js +37 -0
  148. package/lib/versionInfo.js.map +1 -0
  149. package/lib/video/videoPane.js +44 -0
  150. package/lib/video/videoPane.js.map +1 -0
  151. package/package.json +14 -27
  152. package/src/RDFXMLPane.js +60 -0
  153. package/src/argument/argumentPane.js +65 -0
  154. package/src/argument/argument_icon_v04.jpg +0 -0
  155. package/src/argument/icon_argument.png +0 -0
  156. package/src/argument/transparentyingyang.png +0 -0
  157. package/src/attach/attachPane.js +508 -0
  158. package/src/attach/tbl-paperclip-128.png +0 -0
  159. package/src/attach/tbl-paperclip-22.png +0 -0
  160. package/src/attach/tbl-paperclip-22a.png +0 -0
  161. package/src/audio/audioPane.js +197 -0
  162. package/src/chatPreferencesForm.ttl +12 -0
  163. package/src/classInstancePane.js +110 -0
  164. package/src/dashboard/basicPreferences.ts +201 -0
  165. package/src/dashboard/dashboardPane.ts +83 -0
  166. package/src/dashboard/homepage.ts +72 -0
  167. package/src/dashboard/languages/codes.html +8611 -0
  168. package/src/dashboard/languages/codes.xml +3563 -0
  169. package/src/dashboard/languages/codes2.txt +170 -0
  170. package/src/dashboard/languages/foo +70 -0
  171. package/src/dashboard/languages/foo.ttl +0 -0
  172. package/src/dashboard/languages/get-language-names.sh +12 -0
  173. package/src/dashboard/ontologyData.ttl +35 -0
  174. package/src/dashboard/preferencesFormText.ttl +18 -0
  175. package/src/dataContentPane.js +290 -0
  176. package/src/defaultPane.js +102 -0
  177. package/src/dokieli/Makefile +6 -0
  178. package/src/dokieli/dokieliPane.js +190 -0
  179. package/src/dokieli/new.html +30 -0
  180. package/{dist → src}/dokieli/new.js +3 -9
  181. package/src/form/form-22.png +0 -0
  182. package/src/form/form-b-22.png +0 -0
  183. package/src/form/form.graffle +0 -0
  184. package/src/form/form.png +0 -0
  185. package/src/form/pane.js +217 -0
  186. package/src/form/psuedocode-notes.txt +57 -0
  187. package/src/global.d.ts +4 -0
  188. package/src/home/homePane.ts +72 -0
  189. package/src/humanReadablePane.js +150 -0
  190. package/src/imagePane.js +75 -0
  191. package/src/index.ts +71 -0
  192. package/src/internal/internalPane.ts +263 -0
  193. package/src/mainPage/footer.ts +19 -0
  194. package/src/mainPage/header.ts +79 -0
  195. package/src/mainPage/index.ts +20 -0
  196. package/src/meeting/Makefile +3 -0
  197. package/src/meeting/test/meeting1/Actions/actions.ttl +14 -0
  198. package/src/meeting/test/meeting1/Actions/config.ttl +16 -0
  199. package/src/meeting/test/meeting1/Actions/state.ttl +30 -0
  200. package/src/meeting/test/meeting1/Schedule/details.ttl +34 -0
  201. package/src/meeting/test/meeting1/Schedule/details.ttl.acl +20 -0
  202. package/src/meeting/test/meeting1/Schedule/forms.ttl +75 -0
  203. package/src/meeting/test/meeting1/Schedule/forms.ttl.acl +20 -0
  204. package/src/meeting/test/meeting1/Schedule/index.html +72 -0
  205. package/src/meeting/test/meeting1/Schedule/index.html.acl +20 -0
  206. package/src/meeting/test/meeting1/Schedule/results.ttl +15 -0
  207. package/src/meeting/test/meeting1/Schedule/results.ttl.acl +20 -0
  208. package/src/meeting/test/meeting1/SharedNotes/pad.ttl +23 -0
  209. package/src/meeting/test/meeting1/chat/chat.ttl +1 -0
  210. package/src/meeting/test/meeting1/details.ttl +35 -0
  211. package/src/meeting/test/meeting1/pad/pad.ttl +16 -0
  212. package/src/microblogPane/mbStyle.css +267 -0
  213. package/src/microblogPane/microblogPane.js +1412 -0
  214. package/src/n3Pane.js +56 -0
  215. package/src/outline/context.ts +21 -0
  216. package/src/outline/manager.js +2384 -0
  217. package/src/outline/manager.test.ts +189 -0
  218. package/src/outline/outlineIcons.js +160 -0
  219. package/src/outline/propertyViews.test.ts +36 -0
  220. package/src/outline/propertyViews.ts +37 -0
  221. package/src/outline/queryByExample.js +296 -0
  222. package/src/outline/userInput.js +2373 -0
  223. package/src/outline/viewAsImage.ts +12 -0
  224. package/src/outline/viewAsMbox.ts +14 -0
  225. package/src/pad/images/ColourOff.ai +873 -1
  226. package/src/pad/images/ColourOff.png +0 -0
  227. package/src/pad/images/ColourOn.ai +934 -2
  228. package/src/pad/images/ColourOn.png +0 -0
  229. package/src/pad/padPane.ts +559 -0
  230. package/src/playlist/playlistPane.js +161 -0
  231. package/src/registerPanes.js +147 -0
  232. package/src/schedule/Makefile +6 -0
  233. package/src/schedule/formsForSchedule.js +117 -0
  234. package/src/schedule/formsForSchedule.ttl +115 -0
  235. package/src/schedule/schedulePane.js +1201 -0
  236. package/src/sharing/sharingPane.ts +49 -0
  237. package/src/slideshow/slideshowPane.js +80 -0
  238. package/src/socialPane.js +523 -0
  239. package/src/style/tabbedtab.css +1347 -0
  240. package/src/tabbed/tabbedPane.ts +60 -0
  241. package/src/tableViewPane.js +51 -0
  242. package/src/test-import-export/common.js +6 -0
  243. package/src/test-import-export/edit-importer.js +20 -0
  244. package/src/test-import-export/testImportExport.js +0 -0
  245. package/src/transaction/068010-3d-transparent-glass-icon-alphanumeric-dollar-sign.png +0 -0
  246. package/src/transaction/075988-3d-transparent-glass-icon-business-currency-british-pound-sc35.png +0 -0
  247. package/src/transaction/22-pixel-068010-3d-transparent-glass-icon-alphanumeric-dollar-sign.png +0 -0
  248. package/src/transaction/pane.js +629 -0
  249. package/src/transaction/period.js +374 -0
  250. package/src/transaction/thumbs_075987-3d-transparent-glass-icon-business-creditcard2.png +0 -0
  251. package/src/transaction/thumbs_075989-3d-transparent-glass-icon-business-currency-cent-sc35.png +0 -0
  252. package/src/trip/tripPane.js +176 -0
  253. package/src/trustedApplications/__snapshots__/trustedApplications.test.ts.snap +176 -0
  254. package/src/trustedApplications/trustedApplications.dom.ts +276 -0
  255. package/src/trustedApplications/trustedApplications.test.ts +82 -0
  256. package/src/trustedApplications/trustedApplications.utils.ts +51 -0
  257. package/src/trustedApplications/trustedApplications.view.ts +80 -0
  258. package/src/types.ts +34 -0
  259. package/src/ui/22-builder.png +0 -0
  260. package/src/ui/builder.graffle +0 -0
  261. package/src/ui/builder.png +0 -0
  262. package/src/ui/builder2.png +0 -0
  263. package/src/ui/pane.js +226 -0
  264. package/src/versionInfo.ts +30 -0
  265. package/src/video/videoPane.js +44 -0
  266. package/timestamp.sh +13 -0
  267. package/travis/bumpversion.js +29 -0
  268. package/tsconfig.json +78 -0
  269. package/typings/raw-loader.d.ts +4 -0
  270. package/typings/solid-namespace/index.d.ts +9 -0
  271. package/webpack.config.js +41 -0
  272. package/dist/RDFXMLPane.js +0 -58
  273. package/dist/RDFXMLPane.js.map +0 -1
  274. package/dist/argument/argumentPane.js.map +0 -1
  275. package/dist/attach/attachPane.js.map +0 -1
  276. package/dist/audio/audioPane.js.map +0 -1
  277. package/dist/classInstancePane.js.map +0 -1
  278. package/dist/dashboard/basicPreferences.js +0 -147
  279. package/dist/dashboard/basicPreferences.js.map +0 -1
  280. package/dist/dashboard/dashboardPane.js.map +0 -1
  281. package/dist/dashboard/homepage.js +0 -54
  282. package/dist/dashboard/homepage.js.map +0 -1
  283. package/dist/dataContentPane.js.map +0 -1
  284. package/dist/defaultPane.js.map +0 -1
  285. package/dist/dokieli/dokieliPane.js.map +0 -1
  286. package/dist/dokieli/new.js.map +0 -1
  287. package/dist/form/pane.js.map +0 -1
  288. package/dist/home/homePane.js +0 -73
  289. package/dist/home/homePane.js.map +0 -1
  290. package/dist/humanReadablePane.js +0 -135
  291. package/dist/humanReadablePane.js.map +0 -1
  292. package/dist/imagePane.js +0 -70
  293. package/dist/imagePane.js.map +0 -1
  294. package/dist/index.js.map +0 -1
  295. package/dist/internal/internalPane.js.map +0 -1
  296. package/dist/mainPage/header.js +0 -85
  297. package/dist/mainPage/header.js.map +0 -1
  298. package/dist/mainPage/index.js +0 -25
  299. package/dist/mainPage/index.js.map +0 -1
  300. package/dist/microblogPane/microblogPane.js.map +0 -1
  301. package/dist/n3Pane.js +0 -56
  302. package/dist/n3Pane.js.map +0 -1
  303. package/dist/outline/manager.js +0 -1997
  304. package/dist/outline/manager.js.map +0 -1
  305. package/dist/outline/outlineIcons.js.map +0 -1
  306. package/dist/outline/propertyViews.js.map +0 -1
  307. package/dist/outline/queryByExample.js.map +0 -1
  308. package/dist/outline/userInput.js.map +0 -1
  309. package/dist/outline/viewAsImage.js +0 -15
  310. package/dist/outline/viewAsImage.js.map +0 -1
  311. package/dist/outline/viewAsMbox.js +0 -22
  312. package/dist/outline/viewAsMbox.js.map +0 -1
  313. package/dist/pad/padPane.js.map +0 -1
  314. package/dist/playlist/playlistPane.js.map +0 -1
  315. package/dist/registerPanes.js.map +0 -1
  316. package/dist/schedule/schedulePane.js.map +0 -1
  317. package/dist/sharing/sharingPane.js.map +0 -1
  318. package/dist/slideshow/slideshowPane.js +0 -80
  319. package/dist/slideshow/slideshowPane.js.map +0 -1
  320. package/dist/socialPane.js.map +0 -1
  321. package/dist/tabbed/tabbedPane.js +0 -58
  322. package/dist/tabbed/tabbedPane.js.map +0 -1
  323. package/dist/tableViewPane.js.map +0 -1
  324. package/dist/transaction/pane.js.map +0 -1
  325. package/dist/transaction/period.js.map +0 -1
  326. package/dist/trip/tripPane.js.map +0 -1
  327. package/dist/trustedApplications/trustedApplications.dom.js +0 -146
  328. package/dist/trustedApplications/trustedApplications.dom.js.map +0 -1
  329. package/dist/trustedApplications/trustedApplications.utils.js +0 -24
  330. package/dist/trustedApplications/trustedApplications.utils.js.map +0 -1
  331. package/dist/trustedApplications/trustedApplications.view.js +0 -56
  332. package/dist/trustedApplications/trustedApplications.view.js.map +0 -1
  333. package/dist/types.js.map +0 -1
  334. package/dist/ui/pane.js.map +0 -1
  335. package/dist/versionInfo.js +0 -37
  336. package/dist/versionInfo.js.map +0 -1
  337. package/dist/video/videoPane.js +0 -43
  338. package/dist/video/videoPane.js.map +0 -1
  339. /package/{dist → lib}/dashboard/basicPreferences.d.ts +0 -0
  340. /package/{dist → lib}/dashboard/basicPreferences.d.ts.map +0 -0
  341. /package/{dist → lib}/dashboard/dashboardPane.d.ts +0 -0
  342. /package/{dist → lib}/dashboard/dashboardPane.d.ts.map +0 -0
  343. /package/{dist → lib}/dashboard/homepage.d.ts +0 -0
  344. /package/{dist → lib}/dashboard/homepage.d.ts.map +0 -0
  345. /package/{dist → lib}/global.d.js +0 -0
  346. /package/{dist → lib}/global.d.js.map +0 -0
  347. /package/{dist → lib}/home/homePane.d.ts +0 -0
  348. /package/{dist → lib}/home/homePane.d.ts.map +0 -0
  349. /package/{dist → lib}/index.d.ts +0 -0
  350. /package/{dist → lib}/index.d.ts.map +0 -0
  351. /package/{dist → lib}/internal/internalPane.d.ts +0 -0
  352. /package/{dist → lib}/internal/internalPane.d.ts.map +0 -0
  353. /package/{dist → lib}/mainPage/footer.d.ts +0 -0
  354. /package/{dist → lib}/mainPage/footer.d.ts.map +0 -0
  355. /package/{dist → lib}/mainPage/header.d.ts +0 -0
  356. /package/{dist → lib}/mainPage/header.d.ts.map +0 -0
  357. /package/{dist → lib}/mainPage/index.d.ts +0 -0
  358. /package/{dist → lib}/outline/context.d.ts +0 -0
  359. /package/{dist → lib}/outline/context.d.ts.map +0 -0
  360. /package/{dist → lib}/outline/propertyViews.d.ts +0 -0
  361. /package/{dist → lib}/outline/propertyViews.d.ts.map +0 -0
  362. /package/{dist → lib}/outline/viewAsImage.d.ts +0 -0
  363. /package/{dist → lib}/outline/viewAsImage.d.ts.map +0 -0
  364. /package/{dist → lib}/outline/viewAsMbox.d.ts +0 -0
  365. /package/{dist → lib}/outline/viewAsMbox.d.ts.map +0 -0
  366. /package/{dist → lib}/pad/padPane.d.ts +0 -0
  367. /package/{dist → lib}/pad/padPane.d.ts.map +0 -0
  368. /package/{dist → lib}/sharing/sharingPane.d.ts +0 -0
  369. /package/{dist → lib}/sharing/sharingPane.d.ts.map +0 -0
  370. /package/{dist → lib}/tabbed/tabbedPane.d.ts +0 -0
  371. /package/{dist → lib}/tabbed/tabbedPane.d.ts.map +0 -0
  372. /package/{dist → lib}/trustedApplications/trustedApplications.dom.d.ts +0 -0
  373. /package/{dist → lib}/trustedApplications/trustedApplications.dom.d.ts.map +0 -0
  374. /package/{dist → lib}/trustedApplications/trustedApplications.utils.d.ts +0 -0
  375. /package/{dist → lib}/trustedApplications/trustedApplications.utils.d.ts.map +0 -0
  376. /package/{dist → lib}/trustedApplications/trustedApplications.view.d.ts +0 -0
  377. /package/{dist → lib}/trustedApplications/trustedApplications.view.d.ts.map +0 -0
  378. /package/{dist → lib}/types.d.ts +0 -0
  379. /package/{dist → lib}/types.d.ts.map +0 -0
  380. /package/{dist → lib}/types.js +0 -0
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
- exports.default = void 0;
7
+ exports["default"] = void 0;
7
8
  var UI = _interopRequireWildcard(require("solid-ui"));
8
9
  var $rdf = _interopRequireWildcard(require("rdflib"));
9
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
10
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
10
11
  /* Financial Transaction Pane
11
12
  **
12
13
  ** This outline pane allows a user to interact with a transaction
@@ -14,16 +15,16 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
14
15
  ** trips, etc
15
16
  */
16
17
 
17
- const ns = UI.ns;
18
- var _default = exports.default = {
18
+ var ns = UI.ns;
19
+ var _default = exports["default"] = {
19
20
  // icon: (module.__dirname || __dirname) + '22-pixel-068010-3d-transparent-glass-icon-alphanumeric-dollar-sign.png',
20
21
  icon: UI.icons.iconBase + 'noun_106746.svg',
21
22
  name: 'transaction',
22
23
  audience: [ns.solid('PowerUser')],
23
24
  // Does the subject deserve this pane?
24
- label: function (subject, context) {
25
- const kb = context.session.store;
26
- const t = kb.findTypeURIs(subject);
25
+ label: function label(subject, context) {
26
+ var kb = context.session.store;
27
+ var t = kb.findTypeURIs(subject);
27
28
  if (t['http://www.w3.org/2000/10/swap/pim/qif#Transaction']) return '$$';
28
29
  if (kb.any(subject, UI.ns.qu('amount'))) return '$$$'; // In case schema not picked up
29
30
 
@@ -32,22 +33,22 @@ var _default = exports.default = {
32
33
  if (t['http://www.w3.org/ns/pim/trip#Trip']) return 'Trip $';
33
34
  return null; // No under other circumstances (while testing at least!)
34
35
  },
35
- render: function (subject, context) {
36
- const dom = context.dom;
37
- const kb = context.session.store;
38
- const fetcher = kb.fetcher;
39
- const Q = $rdf.Namespace('http://www.w3.org/2000/10/swap/pim/qif#');
40
- const TRIP = $rdf.Namespace('http://www.w3.org/ns/pim/trip#');
41
- const div = dom.createElement('div');
36
+ render: function render(subject, context) {
37
+ var dom = context.dom;
38
+ var kb = context.session.store;
39
+ var fetcher = kb.fetcher;
40
+ var Q = $rdf.Namespace('http://www.w3.org/2000/10/swap/pim/qif#');
41
+ var TRIP = $rdf.Namespace('http://www.w3.org/ns/pim/trip#');
42
+ var div = dom.createElement('div');
42
43
  div.setAttribute('class', 'transactionPane');
43
- const mention = function mention(message, style) {
44
+ var mention = function mention(message, style) {
44
45
  if (style === undefined) style = 'color: grey';
45
- const pre = dom.createElement('pre');
46
+ var pre = dom.createElement('pre');
46
47
  pre.setAttribute('style', style);
47
48
  div.appendChild(pre);
48
49
  pre.appendChild(dom.createTextNode(message));
49
50
  };
50
- const complain = function complain(message) {
51
+ var complain = function complain(message) {
51
52
  return mention(message, 'color: #100; background-color: #fee');
52
53
  };
53
54
 
@@ -61,19 +62,19 @@ var _default = exports.default = {
61
62
  */
62
63
  // //////////////////////////////////////////////////////////////////////////////
63
64
 
64
- const plist = kb.statementsMatching(subject);
65
- const qlist = kb.statementsMatching(undefined, undefined, subject);
66
- const t = kb.findTypeURIs(subject);
65
+ var plist = kb.statementsMatching(subject);
66
+ var qlist = kb.statementsMatching(undefined, undefined, subject);
67
+ var t = kb.findTypeURIs(subject);
67
68
 
68
69
  // var me = authn.currentUser()
69
- const predicateURIsDone = {};
70
- const donePredicate = function (pred) {
70
+ var predicateURIsDone = {};
71
+ var donePredicate = function donePredicate(pred) {
71
72
  predicateURIsDone[pred.uri] = true;
72
73
  };
73
- const setPaneStyle = function (account) {
74
- let mystyle = 'padding: 0.5em 1.5em 1em 1.5em; ';
74
+ var setPaneStyle = function setPaneStyle(account) {
75
+ var mystyle = 'padding: 0.5em 1.5em 1em 1.5em; ';
75
76
  if (account) {
76
- const backgroundColor = kb.any(account, UI.ns.ui('backgroundColor'));
77
+ var backgroundColor = kb.any(account, UI.ns.ui('backgroundColor'));
77
78
  if (backgroundColor) {
78
79
  mystyle += 'background-color: ' + backgroundColor.value + '; ';
79
80
  }
@@ -86,31 +87,31 @@ var _default = exports.default = {
86
87
  // Click on the transaction line to expand it into a pane
87
88
  // Shift-click to expand without collapsing others
88
89
 
89
- const d2 = function (n) {
90
+ var d2 = function d2(n) {
90
91
  if (n === undefined) return '';
91
- const s = '' + n;
92
+ var s = '' + n;
92
93
  if (s.indexOf('.') >= 0) {
93
94
  return s.split('.')[0] + '.' + (s.split('.')[1] + '00').slice(0, 2);
94
95
  }
95
96
  return s + '.00';
96
97
  };
97
- const numericCell = function numericCell(amount, suppressZero) {
98
- const td = dom.createElement('td');
98
+ var numericCell = function numericCell(amount, suppressZero) {
99
+ var td = dom.createElement('td');
99
100
  if (!(0.0 + amount === 0.0 && suppressZero)) {
100
101
  td.textContent = d2(amount);
101
102
  }
102
103
  td.setAttribute('style', 'width: 6em; text-align: right; ');
103
104
  return td;
104
105
  };
105
- const headerCell = function headerCell(str) {
106
- const td = dom.createElement('th');
106
+ var headerCell = function headerCell(str) {
107
+ var td = dom.createElement('th');
107
108
  td.textContent = str;
108
109
  td.setAttribute('style', 'text-align: right; ');
109
110
  return td;
110
111
  };
111
- const oderByDate = function (x, y) {
112
- const dx = kb.any(x, ns.qu('date'));
113
- const dy = kb.any(y, ns.qu('date'));
112
+ var oderByDate = function oderByDate(x, y) {
113
+ var dx = kb.any(x, ns.qu('date'));
114
+ var dy = kb.any(y, ns.qu('date'));
114
115
  if (dx !== undefined && dy !== undefined) {
115
116
  if (dx.value < dy.value) return -1;
116
117
  if (dx.value > dy.value) return 1;
@@ -119,26 +120,26 @@ var _default = exports.default = {
119
120
  if (x.uri > y.uri) return 1;
120
121
  return 0;
121
122
  };
122
- const insertedPane = function (context, subject, paneName) {
123
- const p = context.session.paneRegistry.byName(paneName);
124
- const d = p.render(subject, context);
123
+ var insertedPane = function insertedPane(context, subject, paneName) {
124
+ var p = context.session.paneRegistry.byName(paneName);
125
+ var d = p.render(subject, context);
125
126
  d.setAttribute('style', 'border: 0.1em solid green;');
126
127
  return d;
127
128
  };
128
- const expandAfterRow = function (dom, row, subject, paneName, solo) {
129
- const siblings = row.parentNode.children;
129
+ var expandAfterRow = function expandAfterRow(dom, row, subject, paneName, solo) {
130
+ var siblings = row.parentNode.children;
130
131
  if (solo) {
131
- for (let j = siblings.length - 1; j >= 0; j--) {
132
+ for (var j = siblings.length - 1; j >= 0; j--) {
132
133
  if (siblings[j].expanded) {
133
134
  siblings[j].parentNode.removeChild(siblings[j].expanded);
134
135
  siblings[j].expanded = false;
135
136
  }
136
137
  }
137
138
  }
138
- const tr = dom.createElement('tr');
139
- const td = tr.appendChild(dom.createElement('td'));
139
+ var tr = dom.createElement('tr');
140
+ var td = tr.appendChild(dom.createElement('td'));
140
141
  td.setAttribute('style', 'width: 98%; padding: 1em; border: 0.1em solid grey;');
141
- const cols = row.children.length;
142
+ var cols = row.children.length;
142
143
  if (row.nextSibling) {
143
144
  row.parentNode.insertBefore(tr, row.nextSibling);
144
145
  } else {
@@ -148,7 +149,7 @@ var _default = exports.default = {
148
149
  td.setAttribute('colspan', '' + cols);
149
150
  td.appendChild(insertedPane(context, subject, paneName));
150
151
  };
151
- const expandAfterRowOrCollapse = function (dom, row, subject, paneName, solo) {
152
+ var expandAfterRowOrCollapse = function expandAfterRowOrCollapse(dom, row, subject, paneName, solo) {
152
153
  if (row.expanded) {
153
154
  row.parentNode.removeChild(row.expanded);
154
155
  row.expanded = false;
@@ -156,37 +157,37 @@ var _default = exports.default = {
156
157
  expandAfterRow(dom, row, subject, paneName, solo);
157
158
  }
158
159
  };
159
- const transactionTable = function (dom, list, filter) {
160
- const table = dom.createElement('table');
160
+ var transactionTable = function transactionTable(dom, list, filter) {
161
+ var table = dom.createElement('table');
161
162
  table.setAttribute('style', 'padding-left: 0.5em; padding-right: 0.5em; font-size: 9pt; width: 85%;');
162
- const transactionRow = function (dom, x) {
163
- const tr = dom.createElement('tr');
164
- const setTRStyle = function (tr, account) {
163
+ var transactionRow = function transactionRow(dom, x) {
164
+ var tr = dom.createElement('tr');
165
+ var setTRStyle = function setTRStyle(tr, account) {
165
166
  // var mystyle = "padding: 0.5em 1.5em 1em 1.5em; "
166
- let mystyle = '\'padding-left: 0.5em; padding-right: 0.5em; padding-top: 0.1em;';
167
+ var mystyle = "'padding-left: 0.5em; padding-right: 0.5em; padding-top: 0.1em;";
167
168
  if (account) {
168
- const backgroundColor = kb.any(account, UI.ns.ui('backgroundColor'));
169
+ var backgroundColor = kb.any(account, UI.ns.ui('backgroundColor'));
169
170
  if (backgroundColor) {
170
171
  mystyle += 'background-color: ' + backgroundColor.value + '; ';
171
172
  }
172
173
  }
173
174
  tr.setAttribute('style', mystyle);
174
175
  };
175
- const account = kb.any(x, ns.qu('toAccount'));
176
+ var account = kb.any(x, ns.qu('toAccount'));
176
177
  setTRStyle(tr, account);
177
- const c0 = tr.appendChild(dom.createElement('td'));
178
- const date = kb.any(x, ns.qu('date'));
178
+ var c0 = tr.appendChild(dom.createElement('td'));
179
+ var date = kb.any(x, ns.qu('date'));
179
180
  c0.textContent = date ? date.value.slice(0, 10) : '???';
180
181
  c0.setAttribute('style', 'width: 7em;');
181
- const c1 = tr.appendChild(dom.createElement('td'));
182
+ var c1 = tr.appendChild(dom.createElement('td'));
182
183
  c1.setAttribute('style', 'width: 36em;');
183
- const payee = kb.any(x, ns.qu('payee'));
184
+ var payee = kb.any(x, ns.qu('payee'));
184
185
  c1.textContent = payee ? payee.value : '???';
185
- const a1 = c1.appendChild(dom.createElement('a'));
186
+ var a1 = c1.appendChild(dom.createElement('a'));
186
187
  a1.textContent = ' ➜';
187
188
  a1.setAttribute('href', x.uri);
188
- const c3 = tr.appendChild(dom.createElement('td'));
189
- const amount = kb.any(x, ns.qu('in_USD'));
189
+ var c3 = tr.appendChild(dom.createElement('td'));
190
+ var amount = kb.any(x, ns.qu('in_USD'));
190
191
  c3.textContent = amount ? d2(amount.value) : '???';
191
192
  c3.setAttribute('style', 'width: 6em; text-align: right; '); // @@ decimal alignment?
192
193
  tr.addEventListener('click', function (e) {
@@ -195,9 +196,9 @@ var _default = exports.default = {
195
196
  }, false);
196
197
  return tr;
197
198
  };
198
- const list2 = filter ? list.filter(filter) : list.slice(); // don't sort a paramater passed in place
199
+ var list2 = filter ? list.filter(filter) : list.slice(); // don't sort a paramater passed in place
199
200
  list2.sort(oderByDate);
200
- for (let i = 0; i < list2.length; i++) {
201
+ for (var i = 0; i < list2.length; i++) {
201
202
  table.appendChild(transactionRow(dom, list2[i]));
202
203
  }
203
204
  return table;
@@ -210,29 +211,29 @@ var _default = exports.default = {
210
211
  if (t['http://www.w3.org/2000/10/swap/pim/qif#Transaction'] || kb.any(subject, ns.qu('toAccount'))) {
211
212
  // var trip = kb.any(subject, WF('trip'))
212
213
  donePredicate(ns.rdf('type'));
213
- const account = kb.any(subject, UI.ns.qu('toAccount'));
214
+ var account = kb.any(subject, UI.ns.qu('toAccount'));
214
215
  setPaneStyle(account);
215
216
  if (!account) {
216
217
  complain('(Error: There is no bank account known for this transaction <' + subject.uri + '>,\n -- every transaction needs one.)');
217
218
  }
218
- let store = null;
219
- const statement = kb.any(subject, UI.ns.qu('accordingTo'));
219
+ var store = null;
220
+ var statement = kb.any(subject, UI.ns.qu('accordingTo'));
220
221
  if (statement === undefined) {
221
- complain('(Error: There is no back link to the original data source foir this transaction <' + subject.uri + '>,\nso I can\'t tell how to annotate it.)');
222
+ complain('(Error: There is no back link to the original data source foir this transaction <' + subject.uri + ">,\nso I can't tell how to annotate it.)");
222
223
  } else {
223
224
  store = statement !== undefined ? kb.any(statement, UI.ns.qu('annotationStore')) : null;
224
225
  if (store === undefined) {
225
226
  complain('(There is no annotation document for this statement\n<' + statement.uri + '>,\nso you cannot classify this transaction.)');
226
227
  }
227
228
  }
228
- const nav = dom.createElement('div');
229
+ var nav = dom.createElement('div');
229
230
  nav.setAttribute('style', 'float:right');
230
231
  div.appendChild(nav);
231
- const navLink = function (pred, label) {
232
+ var navLink = function navLink(pred, label) {
232
233
  donePredicate(pred);
233
- const obj = kb.any(subject, pred);
234
+ var obj = kb.any(subject, pred);
234
235
  if (!obj) return;
235
- const a = dom.createElement('a');
236
+ var a = dom.createElement('a');
236
237
  a.setAttribute('href', obj.uri);
237
238
  a.setAttribute('style', 'float:right');
238
239
  nav.appendChild(a).textContent = label || UI.utils.label(obj);
@@ -243,17 +244,17 @@ var _default = exports.default = {
243
244
  navLink(TRIP('trip'));
244
245
 
245
246
  // Basic data:
246
- const table = dom.createElement('table');
247
+ var table = dom.createElement('table');
247
248
  div.appendChild(table);
248
- const preds = ['date', 'payee', 'amount', 'in_USD', 'currency'].map(Q);
249
- const inner = preds.map(function (p) {
249
+ var preds = ['date', 'payee', 'amount', 'in_USD', 'currency'].map(Q);
250
+ var inner = preds.map(function (p) {
250
251
  donePredicate(p);
251
- const value = kb.any(subject, p);
252
- const s = value ? UI.utils.labelForXML(value) : '';
252
+ var value = kb.any(subject, p);
253
+ var s = value ? UI.utils.labelForXML(value) : '';
253
254
  return '<tr><td style="text-align: right; padding-right: 0.6em">' + UI.utils.labelForXML(p) + '</td><td style="font-weight: bold;">' + s + '</td></tr>';
254
255
  }).join('\n');
255
256
  table.innerHTML = inner;
256
- const complainIfBad = function (ok, body) {
257
+ var complainIfBad = function complainIfBad(ok, body) {
257
258
  if (ok) {
258
259
  // setModifiedDate(store, kb, store)
259
260
  // rerender(div) // deletes the new trip form
@@ -266,8 +267,8 @@ var _default = exports.default = {
266
267
  if (store) {
267
268
  kb.fetcher.nowOrWhenFetched(store.uri, subject, function (ok, body) {
268
269
  if (!ok) complain('Cannot load store ' + store + ' ' + body);
269
- const calendarYear = kb.any(store, ns.qu('calendarYear'));
270
- const renderCatgorySelectors = function () {
270
+ var calendarYear = kb.any(store, ns.qu('calendarYear'));
271
+ var renderCatgorySelectors = function renderCatgorySelectors() {
271
272
  div.insertBefore(UI.widgets.makeSelectForNestedCategory(dom, kb, subject, UI.ns.qu('Classified'), store, complainIfBad), table.nextSibling);
272
273
  };
273
274
  if (kb.any(undefined, ns.rdfs('subClassOf'), ns.qu.Classified)) {
@@ -276,25 +277,25 @@ var _default = exports.default = {
276
277
  fetcher.load(calendarYear).then(function (_xhrs) {
277
278
  fetcher.load(kb.each(calendarYear, ns.rdfs('seeAlso'))).then(function () {
278
279
  renderCatgorySelectors();
279
- }).catch(function (e) {
280
+ })["catch"](function (e) {
280
281
  console.log('Error loading background data: ' + e);
281
282
  });
282
- }).catch(function (e) {
283
+ })["catch"](function (e) {
283
284
  console.log('Error loading calendarYear: ' + e);
284
285
  });
285
286
  } else {
286
- console.log('Can\'t get categories, because no calendarYear');
287
+ console.log("Can't get categories, because no calendarYear");
287
288
  }
288
289
  div.appendChild(UI.widgets.makeDescription(dom, kb, subject, UI.ns.rdfs('comment'), store, complainIfBad));
289
- let trips = kb.statementsMatching(undefined, TRIP('trip'), undefined, store).map(function (st) {
290
+ var trips = kb.statementsMatching(undefined, TRIP('trip'), undefined, store).map(function (st) {
290
291
  return st.object;
291
292
  }); // @@ Use rdfs
292
- const trips2 = kb.each(undefined, UI.ns.rdf('type'), TRIP('Trip'));
293
+ var trips2 = kb.each(undefined, UI.ns.rdf('type'), TRIP('Trip'));
293
294
  trips = trips.concat(trips2).sort(); // @@ Unique
294
295
 
295
- const sortedBy = function (kb, list, pred, reverse) {
296
- const l2 = list.map(function (x) {
297
- let key = kb.any(x, pred);
296
+ var sortedBy = function sortedBy(kb, list, pred, reverse) {
297
+ var l2 = list.map(function (x) {
298
+ var key = kb.any(x, pred);
298
299
  key = key ? key.value : '9999-12-31';
299
300
  return [key, x];
300
301
  });
@@ -312,8 +313,8 @@ var _default = exports.default = {
312
313
  nullLabel: '-- what trip? --',
313
314
  mint: 'New Trip *',
314
315
  mintClass: TRIP('Trip'),
315
- mintStatementsFun: function (trip) {
316
- const is = [];
316
+ mintStatementsFun: function mintStatementsFun(trip) {
317
+ var is = [];
317
318
  is.push($rdf.st(trip, UI.ns.rdf('type'), TRIP('Trip'), trip.doc()));
318
319
  return is;
319
320
  }
@@ -323,7 +324,7 @@ var _default = exports.default = {
323
324
 
324
325
  // Add in simple comments about the transaction
325
326
 
326
- const outliner = context.getOutliner(dom);
327
+ var outliner = context.getOutliner(dom);
327
328
  donePredicate(ns.rdfs('comment')); // Done above
328
329
 
329
330
  UI.widgets.attachmentList(dom, subject, div);
@@ -365,77 +366,77 @@ var _default = exports.default = {
365
366
  var tableDiv = UI.widgets.renderTableViewPane(dom, {'query': query, 'onDone': calculations} )
366
367
  div.appendChild(tableDiv)
367
368
  */
368
- const calculations = function () {
369
- const total = {};
370
- const yearTotal = {};
371
- const yearCategoryTotal = {};
372
- const trans = kb.each(undefined, TRIP('trip'), subject);
373
- const bankStatements = trans.map(function (t) {
369
+ var calculations = function calculations() {
370
+ var total = {};
371
+ var yearTotal = {};
372
+ var yearCategoryTotal = {};
373
+ var trans = kb.each(undefined, TRIP('trip'), subject);
374
+ var bankStatements = trans.map(function (t) {
374
375
  return t.doc();
375
376
  });
376
377
  kb.fetcher.load(bankStatements).then(function () {
377
378
  trans.forEach(function (t) {
378
- const date = kb.the(t, ns.qu('date'));
379
- const year = date ? ('' + date.value).slice(0, 4) : '????';
380
- let ty = kb.the(t, ns.rdf('type')); // @@ find most specific type
379
+ var date = kb.the(t, ns.qu('date'));
380
+ var year = date ? ('' + date.value).slice(0, 4) : '????';
381
+ var ty = kb.the(t, ns.rdf('type')); // @@ find most specific type
381
382
  // complain(" -- one trans: "+t.uri + ' -> '+kb.any(t, UI.ns.qu('in_USD')))
382
383
  if (!ty) ty = UI.ns.qu('ErrorNoType');
383
384
  if (ty && ty.uri) {
384
- const tyuri = ty.uri;
385
+ var tyuri = ty.uri;
385
386
  if (!yearTotal[year]) yearTotal[year] = 0.0;
386
387
  if (!yearCategoryTotal[year]) yearCategoryTotal[year] = {};
387
388
  if (!total[tyuri]) total[tyuri] = 0.0;
388
389
  if (!yearCategoryTotal[year][tyuri]) {
389
390
  yearCategoryTotal[year][tyuri] = 0.0;
390
391
  }
391
- const lit = kb.any(t, UI.ns.qu('in_USD'));
392
+ var lit = kb.any(t, UI.ns.qu('in_USD'));
392
393
  if (!lit) {
393
394
  complain('@@ No amount in USD: ' + lit + ' for ' + t);
394
395
  }
395
396
  if (lit) {
396
- const amount = parseFloat(lit.value);
397
+ var amount = parseFloat(lit.value);
397
398
  total[tyuri] += amount;
398
399
  yearCategoryTotal[year][tyuri] += amount;
399
400
  yearTotal[year] += amount;
400
401
  }
401
402
  }
402
403
  });
403
- const types = [];
404
- let grandTotal = 0.0;
405
- const years = [];
406
- let i;
407
- for (const y in yearCategoryTotal) {
404
+ var types = [];
405
+ var grandTotal = 0.0;
406
+ var years = [];
407
+ var i;
408
+ for (var y in yearCategoryTotal) {
408
409
  // @@ TODO: Write away the need for exception on next line
409
410
 
410
- if (Object.prototype.hasOwnProperty.call(yearCategoryTotal, y)) {
411
+ if (yearCategoryTotal.hasOwnProperty(y)) {
411
412
  years.push(y);
412
413
  }
413
414
  }
414
415
  years.sort();
415
- const ny = years.length;
416
- let cell;
417
- const table = div.appendChild(dom.createElement('table'));
416
+ var ny = years.length;
417
+ var cell;
418
+ var table = div.appendChild(dom.createElement('table'));
418
419
  table.setAttribute('style', 'font-size: 120%; margin-left:auto; margin-right:1em; margin-top: 1em; border: 0.05em solid gray; padding: 1em;');
419
420
  if (ny > 1) {
420
- const header = table.appendChild(dom.createElement('tr'));
421
+ var header = table.appendChild(dom.createElement('tr'));
421
422
  header.appendChild(headerCell(''));
422
423
  for (i = 0; i < ny; i++) {
423
424
  header.appendChild(headerCell(years[i]));
424
425
  }
425
426
  header.appendChild(headerCell('total'));
426
427
  }
427
- for (const uri in total) {
428
+ for (var uri in total) {
428
429
  // @@ TODO: Write away the need for exception on next line
429
430
 
430
- if (Object.prototype.hasOwnProperty.call(total, uri)) {
431
+ if (total.hasOwnProperty(uri)) {
431
432
  types.push(uri);
432
433
  grandTotal += total[uri];
433
434
  }
434
435
  }
435
436
  types.sort();
436
- let row, label, z;
437
- for (let j = 0; j < types.length; j++) {
438
- const cat = kb.sym(types[j]);
437
+ var row, label, z;
438
+ for (var j = 0; j < types.length; j++) {
439
+ var cat = kb.sym(types[j]);
439
440
  row = table.appendChild(dom.createElement('tr'));
440
441
  label = row.appendChild(dom.createElement('td'));
441
442
  label.textContent = UI.utils.label(cat);
@@ -461,11 +462,11 @@ var _default = exports.default = {
461
462
  cell = row.appendChild(numericCell(grandTotal));
462
463
  cell.setAttribute('style', 'font-weight: bold; text-align: right;');
463
464
  }
464
- const tab = transactionTable(dom, trans);
465
+ var tab = transactionTable(dom, trans);
465
466
  tab.setAttribute('style', 'margin-left:auto; margin-right:1em; margin-top: 1em; border: padding: 1em;');
466
467
  div.appendChild(tab);
467
468
  UI.widgets.attachmentList(dom, subject, div);
468
- }).catch(function (e) {
469
+ })["catch"](function (e) {
469
470
  complain('Error loading transactions: ' + e);
470
471
  });
471
472
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pane.js","names":["UI","_interopRequireWildcard","require","$rdf","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ns","_default","exports","icon","icons","iconBase","name","audience","solid","label","subject","context","kb","session","store","findTypeURIs","any","qu","render","dom","fetcher","Q","Namespace","TRIP","div","createElement","setAttribute","mention","message","style","undefined","pre","appendChild","createTextNode","complain","plist","statementsMatching","qlist","predicateURIsDone","donePredicate","pred","uri","setPaneStyle","account","mystyle","backgroundColor","ui","value","d2","s","indexOf","split","slice","numericCell","amount","suppressZero","td","textContent","headerCell","str","oderByDate","x","y","dx","dy","insertedPane","paneName","p","paneRegistry","byName","d","expandAfterRow","row","solo","siblings","parentNode","children","j","length","expanded","removeChild","tr","cols","nextSibling","insertBefore","expandAfterRowOrCollapse","transactionTable","list","filter","table","transactionRow","setTRStyle","c0","date","c1","payee","a1","c3","addEventListener","shiftKey","list2","sort","rdf","statement","nav","navLink","obj","a","utils","preds","map","inner","labelForXML","join","innerHTML","complainIfBad","ok","body","nowOrWhenFetched","calendarYear","renderCatgorySelectors","widgets","makeSelectForNestedCategory","rdfs","Classified","load","then","_xhrs","each","console","log","makeDescription","trips","st","object","trips2","concat","sortedBy","reverse","l2","key","pair","cal","makeSelectForOptions","multiple","nullLabel","mint","mintClass","mintStatementsFun","trip","is","push","doc","outliner","getOutliner","attachmentList","wf","appendPropertyTRs","_inverse","calculations","total","yearTotal","yearCategoryTotal","trans","bankStatements","forEach","the","year","ty","tyuri","lit","parseFloat","types","grandTotal","years","ny","cell","header","z","cat","sym","tab"],"sources":["../../src/transaction/pane.js"],"sourcesContent":["/* Financial Transaction Pane\n **\n ** This outline pane allows a user to interact with a transaction\n ** downloaded from a bank statement, annotting it with classes and comments,\n ** trips, etc\n */\n\nimport * as UI from 'solid-ui'\nimport * as $rdf from 'rdflib'\nconst ns = UI.ns\n\nexport default {\n // icon: (module.__dirname || __dirname) + '22-pixel-068010-3d-transparent-glass-icon-alphanumeric-dollar-sign.png',\n icon: UI.icons.iconBase + 'noun_106746.svg',\n\n name: 'transaction',\n\n audience: [ns.solid('PowerUser')],\n\n // Does the subject deserve this pane?\n label: function (subject, context) {\n const kb = context.session.store\n const t = kb.findTypeURIs(subject)\n if (t['http://www.w3.org/2000/10/swap/pim/qif#Transaction']) return '$$'\n if (kb.any(subject, UI.ns.qu('amount'))) return '$$$' // In case schema not picked up\n\n // if (t['http://www.w3.org/2000/10/swap/pim/qif#Period']) return \"period $\"\n\n if (t['http://www.w3.org/ns/pim/trip#Trip']) return 'Trip $'\n\n return null // No under other circumstances (while testing at least!)\n },\n\n render: function (subject, context) {\n const dom = context.dom\n const kb = context.session.store\n const fetcher = kb.fetcher\n const Q = $rdf.Namespace('http://www.w3.org/2000/10/swap/pim/qif#')\n const TRIP = $rdf.Namespace('http://www.w3.org/ns/pim/trip#')\n\n const div = dom.createElement('div')\n div.setAttribute('class', 'transactionPane')\n\n const mention = function mention (message, style) {\n if (style === undefined) style = 'color: grey'\n const pre = dom.createElement('pre')\n pre.setAttribute('style', style)\n div.appendChild(pre)\n pre.appendChild(dom.createTextNode(message))\n }\n const complain = function complain (message) {\n return mention(message, 'color: #100; background-color: #fee')\n }\n\n /*\n var thisPane = this\n var rerender = function (div) {\n var parent = div.parentNode\n var div2 = thisPane.render(subject, dom)\n parent.replaceChild(div2, div)\n }\n */\n // //////////////////////////////////////////////////////////////////////////////\n\n const plist = kb.statementsMatching(subject)\n const qlist = kb.statementsMatching(undefined, undefined, subject)\n\n const t = kb.findTypeURIs(subject)\n\n // var me = authn.currentUser()\n const predicateURIsDone = {}\n const donePredicate = function (pred) {\n predicateURIsDone[pred.uri] = true\n }\n\n const setPaneStyle = function (account) {\n let mystyle = 'padding: 0.5em 1.5em 1em 1.5em; '\n if (account) {\n const backgroundColor = kb.any(account, UI.ns.ui('backgroundColor'))\n if (backgroundColor) {\n mystyle += 'background-color: ' + backgroundColor.value + '; '\n }\n }\n div.setAttribute('style', mystyle)\n }\n // setPaneStyle()\n\n // Functions for displaying lists of transactions\n // Click on the transaction line to expand it into a pane\n // Shift-click to expand without collapsing others\n\n const d2 = function (n) {\n if (n === undefined) return ''\n const s = '' + n\n if (s.indexOf('.') >= 0) {\n return s.split('.')[0] + '.' + (s.split('.')[1] + '00').slice(0, 2)\n }\n return s + '.00'\n }\n\n const numericCell = function numericCell (amount, suppressZero) {\n const td = dom.createElement('td')\n if (!(0.0 + amount === 0.0 && suppressZero)) {\n td.textContent = d2(amount)\n }\n td.setAttribute('style', 'width: 6em; text-align: right; ')\n return td\n }\n\n const headerCell = function headerCell (str) {\n const td = dom.createElement('th')\n td.textContent = str\n td.setAttribute('style', 'text-align: right; ')\n return td\n }\n\n const oderByDate = function (x, y) {\n const dx = kb.any(x, ns.qu('date'))\n const dy = kb.any(y, ns.qu('date'))\n if (dx !== undefined && dy !== undefined) {\n if (dx.value < dy.value) return -1\n if (dx.value > dy.value) return 1\n }\n if (x.uri < y.uri) return -1 // Arbitrary but repeatable\n if (x.uri > y.uri) return 1\n return 0\n }\n\n const insertedPane = function (context, subject, paneName) {\n const p = context.session.paneRegistry.byName(paneName)\n const d = p.render(subject, context)\n d.setAttribute('style', 'border: 0.1em solid green;')\n return d\n }\n\n const expandAfterRow = function (dom, row, subject, paneName, solo) {\n const siblings = row.parentNode.children\n if (solo) {\n for (let j = siblings.length - 1; j >= 0; j--) {\n if (siblings[j].expanded) {\n siblings[j].parentNode.removeChild(siblings[j].expanded)\n siblings[j].expanded = false\n }\n }\n }\n const tr = dom.createElement('tr')\n const td = tr.appendChild(dom.createElement('td'))\n td.setAttribute(\n 'style',\n 'width: 98%; padding: 1em; border: 0.1em solid grey;'\n )\n const cols = row.children.length\n if (row.nextSibling) {\n row.parentNode.insertBefore(tr, row.nextSibling)\n } else {\n row.parentNode.appendChild(tr)\n }\n row.expanded = tr\n td.setAttribute('colspan', '' + cols)\n td.appendChild(insertedPane(context, subject, paneName))\n }\n\n const expandAfterRowOrCollapse = function (\n dom,\n row,\n subject,\n paneName,\n solo\n ) {\n if (row.expanded) {\n row.parentNode.removeChild(row.expanded)\n row.expanded = false\n } else {\n expandAfterRow(dom, row, subject, paneName, solo)\n }\n }\n\n const transactionTable = function (dom, list, filter) {\n const table = dom.createElement('table')\n table.setAttribute(\n 'style',\n 'padding-left: 0.5em; padding-right: 0.5em; font-size: 9pt; width: 85%;'\n )\n const transactionRow = function (dom, x) {\n const tr = dom.createElement('tr')\n\n const setTRStyle = function (tr, account) {\n // var mystyle = \"padding: 0.5em 1.5em 1em 1.5em; \"\n let mystyle =\n \"'padding-left: 0.5em; padding-right: 0.5em; padding-top: 0.1em;\"\n if (account) {\n const backgroundColor = kb.any(account, UI.ns.ui('backgroundColor'))\n if (backgroundColor) {\n mystyle += 'background-color: ' + backgroundColor.value + '; '\n }\n }\n tr.setAttribute('style', mystyle)\n }\n\n const account = kb.any(x, ns.qu('toAccount'))\n setTRStyle(tr, account)\n\n const c0 = tr.appendChild(dom.createElement('td'))\n const date = kb.any(x, ns.qu('date'))\n c0.textContent = date ? date.value.slice(0, 10) : '???'\n c0.setAttribute('style', 'width: 7em;')\n\n const c1 = tr.appendChild(dom.createElement('td'))\n c1.setAttribute('style', 'width: 36em;')\n const payee = kb.any(x, ns.qu('payee'))\n c1.textContent = payee ? payee.value : '???'\n const a1 = c1.appendChild(dom.createElement('a'))\n a1.textContent = ' ➜'\n a1.setAttribute('href', x.uri)\n\n const c3 = tr.appendChild(dom.createElement('td'))\n const amount = kb.any(x, ns.qu('in_USD'))\n c3.textContent = amount ? d2(amount.value) : '???'\n c3.setAttribute('style', 'width: 6em; text-align: right; ') // @@ decimal alignment?\n tr.addEventListener(\n 'click',\n function (e) {\n // solo unless shift key\n expandAfterRowOrCollapse(dom, tr, x, 'transaction', !e.shiftKey)\n },\n false\n )\n\n return tr\n }\n\n const list2 = filter ? list.filter(filter) : list.slice() // don't sort a paramater passed in place\n list2.sort(oderByDate)\n\n for (let i = 0; i < list2.length; i++) {\n table.appendChild(transactionRow(dom, list2[i]))\n }\n return table\n }\n\n // Render a single transaction\n\n // This works only if enough metadata about the properties can drive the RDFS\n // (or actual type statements whichtypically are NOT there on)\n if (\n t['http://www.w3.org/2000/10/swap/pim/qif#Transaction'] ||\n kb.any(subject, ns.qu('toAccount'))\n ) {\n // var trip = kb.any(subject, WF('trip'))\n donePredicate(ns.rdf('type'))\n\n const account = kb.any(subject, UI.ns.qu('toAccount'))\n setPaneStyle(account)\n if (!account) {\n complain(\n '(Error: There is no bank account known for this transaction <' +\n subject.uri +\n '>,\\n -- every transaction needs one.)'\n )\n }\n\n let store = null\n const statement = kb.any(subject, UI.ns.qu('accordingTo'))\n if (statement === undefined) {\n complain(\n '(Error: There is no back link to the original data source foir this transaction <' +\n subject.uri +\n \">,\\nso I can't tell how to annotate it.)\"\n )\n } else {\n store =\n statement !== undefined\n ? kb.any(statement, UI.ns.qu('annotationStore'))\n : null\n if (store === undefined) {\n complain(\n '(There is no annotation document for this statement\\n<' +\n statement.uri +\n '>,\\nso you cannot classify this transaction.)'\n )\n }\n }\n\n const nav = dom.createElement('div')\n nav.setAttribute('style', 'float:right')\n div.appendChild(nav)\n\n const navLink = function (pred, label) {\n donePredicate(pred)\n const obj = kb.any(subject, pred)\n if (!obj) return\n const a = dom.createElement('a')\n a.setAttribute('href', obj.uri)\n a.setAttribute('style', 'float:right')\n nav.appendChild(a).textContent = label || UI.utils.label(obj)\n nav.appendChild(dom.createElement('br'))\n }\n\n navLink(UI.ns.qu('toAccount'))\n navLink(UI.ns.qu('accordingTo'), 'Statement')\n navLink(TRIP('trip'))\n\n // Basic data:\n const table = dom.createElement('table')\n div.appendChild(table)\n const preds = ['date', 'payee', 'amount', 'in_USD', 'currency'].map(Q)\n const inner = preds\n .map(function (p) {\n donePredicate(p)\n const value = kb.any(subject, p)\n const s = value ? UI.utils.labelForXML(value) : ''\n return (\n '<tr><td style=\"text-align: right; padding-right: 0.6em\">' +\n UI.utils.labelForXML(p) +\n '</td><td style=\"font-weight: bold;\">' +\n s +\n '</td></tr>'\n )\n })\n .join('\\n')\n table.innerHTML = inner\n\n const complainIfBad = function (ok, body) {\n if (ok) {\n // setModifiedDate(store, kb, store)\n // rerender(div) // deletes the new trip form\n } else complain('Sorry, failed to save your change:\\n' + body)\n }\n\n // What trips do we know about?\n\n // Classify:\n if (store) {\n kb.fetcher.nowOrWhenFetched(store.uri, subject, function (ok, body) {\n if (!ok) complain('Cannot load store ' + store + ' ' + body)\n\n const calendarYear = kb.any(store, ns.qu('calendarYear'))\n\n const renderCatgorySelectors = function () {\n div.insertBefore(\n UI.widgets.makeSelectForNestedCategory(\n dom,\n kb,\n subject,\n UI.ns.qu('Classified'),\n store,\n complainIfBad\n ),\n table.nextSibling\n )\n }\n\n if (kb.any(undefined, ns.rdfs('subClassOf'), ns.qu.Classified)) {\n renderCatgorySelectors()\n } else if (calendarYear) {\n fetcher\n .load(calendarYear)\n .then(function (_xhrs) {\n fetcher\n .load(kb.each(calendarYear, ns.rdfs('seeAlso')))\n .then(function () {\n renderCatgorySelectors()\n })\n .catch(function (e) {\n console.log('Error loading background data: ' + e)\n })\n })\n .catch(function (e) {\n console.log('Error loading calendarYear: ' + e)\n })\n } else {\n console.log(\"Can't get categories, because no calendarYear\")\n }\n div.appendChild(\n UI.widgets.makeDescription(\n dom,\n kb,\n subject,\n UI.ns.rdfs('comment'),\n store,\n complainIfBad\n )\n )\n\n let trips = kb\n .statementsMatching(undefined, TRIP('trip'), undefined, store)\n .map(function (st) {\n return st.object\n }) // @@ Use rdfs\n const trips2 = kb.each(undefined, UI.ns.rdf('type'), TRIP('Trip'))\n trips = trips.concat(trips2).sort() // @@ Unique\n\n const sortedBy = function (kb, list, pred, reverse) {\n const l2 = list.map(function (x) {\n let key = kb.any(x, pred)\n key = key ? key.value : '9999-12-31'\n return [key, x]\n })\n l2.sort()\n if (reverse) l2.reverse()\n return l2.map(function (pair) {\n return pair[1]\n })\n }\n\n trips = sortedBy(kb, trips, UI.ns.cal('dtstart'), true) // Reverse chron\n\n if (trips.length > 1) {\n div.appendChild(\n UI.widgets.makeSelectForOptions(\n dom,\n kb,\n subject,\n TRIP('trip'),\n trips,\n {\n multiple: false,\n nullLabel: '-- what trip? --',\n mint: 'New Trip *',\n mintClass: TRIP('Trip'),\n mintStatementsFun: function (trip) {\n const is = []\n is.push(\n $rdf.st(trip, UI.ns.rdf('type'), TRIP('Trip'), trip.doc())\n )\n return is\n }\n },\n store,\n complainIfBad\n )\n )\n }\n\n div.appendChild(dom.createElement('br'))\n\n // Add in simple comments about the transaction\n\n const outliner = context.getOutliner(dom)\n\n donePredicate(ns.rdfs('comment')) // Done above\n\n UI.widgets.attachmentList(dom, subject, div)\n donePredicate(ns.wf('attachment'))\n\n div\n .appendChild(dom.createElement('tr'))\n .setAttribute('style', 'height: 1em') // spacer\n\n // Remaining properties\n outliner.appendPropertyTRs(div, plist, false, function (\n pred,\n _inverse\n ) {\n return !(pred.uri in predicateURIsDone)\n })\n outliner.appendPropertyTRs(div, qlist, true, function (\n pred,\n _inverse\n ) {\n return !(pred.uri in predicateURIsDone)\n })\n }) // fetch\n }\n // end of render tranasaction instance\n\n // ////////////////////////////////////////////////////////////////////\n //\n // Render the transactions in a Trip\n //\n } else if (t['http://www.w3.org/ns/pim/trip#Trip']) {\n /*\n var query = new $rdf.Query(UI.utils.label(subject))\n var vars = [ 'date', 'transaction', 'comment', 'type', 'in_USD']\n var v = {}\n vars.map(function(x){query.vars.push(v[x]=$rdf.variable(x))}) // Only used by UI\n query.pat.add(v['transaction'], TRIP('trip'), subject)\n\n var opt = kb.formula()\n opt.add(v['transaction'], ns.rdf('type'), v['type']); // Issue: this will get stored supertypes too\n query.pat.optional.push(opt)\n\n query.pat.add(v['transaction'], UI.ns.qu('date'), v['date'])\n\n var opt = kb.formula()\n opt.add(v['transaction'], ns.rdfs('comment'), v['comment'])\n query.pat.optional.push(opt)\n\n //opt = kb.formula()\n query.pat.add(v['transaction'], UI.ns.qu('in_USD'), v['in_USD'])\n\n //query.pat.optional.push(opt)\n\n var tableDiv = UI.widgets.renderTableViewPane(dom, {'query': query, 'onDone': calculations} )\n div.appendChild(tableDiv)\n\n*/\n const calculations = function () {\n const total = {}\n const yearTotal = {}\n const yearCategoryTotal = {}\n const trans = kb.each(undefined, TRIP('trip'), subject)\n const bankStatements = trans.map(function (t) {\n return t.doc()\n })\n kb.fetcher\n .load(bankStatements)\n .then(function () {\n trans.forEach(function (t) {\n const date = kb.the(t, ns.qu('date'))\n const year = date ? ('' + date.value).slice(0, 4) : '????'\n let ty = kb.the(t, ns.rdf('type')) // @@ find most specific type\n // complain(\" -- one trans: \"+t.uri + ' -> '+kb.any(t, UI.ns.qu('in_USD')))\n if (!ty) ty = UI.ns.qu('ErrorNoType')\n if (ty && ty.uri) {\n const tyuri = ty.uri\n if (!yearTotal[year]) yearTotal[year] = 0.0\n if (!yearCategoryTotal[year]) yearCategoryTotal[year] = {}\n if (!total[tyuri]) total[tyuri] = 0.0\n if (!yearCategoryTotal[year][tyuri]) {\n yearCategoryTotal[year][tyuri] = 0.0\n }\n\n const lit = kb.any(t, UI.ns.qu('in_USD'))\n if (!lit) {\n complain('@@ No amount in USD: ' + lit + ' for ' + t)\n }\n if (lit) {\n const amount = parseFloat(lit.value)\n total[tyuri] += amount\n yearCategoryTotal[year][tyuri] += amount\n yearTotal[year] += amount\n }\n }\n })\n\n const types = []\n let grandTotal = 0.0\n const years = []\n let i\n\n for (const y in yearCategoryTotal) {\n // @@ TODO: Write away the need for exception on next line\n \n if (yearCategoryTotal.hasOwnProperty(y)) {\n years.push(y)\n }\n }\n years.sort()\n const ny = years.length\n let cell\n\n const table = div.appendChild(dom.createElement('table'))\n table.setAttribute(\n 'style',\n 'font-size: 120%; margin-left:auto; margin-right:1em; margin-top: 1em; border: 0.05em solid gray; padding: 1em;'\n )\n\n if (ny > 1) {\n const header = table.appendChild(dom.createElement('tr'))\n header.appendChild(headerCell(''))\n for (i = 0; i < ny; i++) {\n header.appendChild(headerCell(years[i]))\n }\n header.appendChild(headerCell('total'))\n }\n\n for (const uri in total) {\n // @@ TODO: Write away the need for exception on next line\n \n if (total.hasOwnProperty(uri)) {\n types.push(uri)\n grandTotal += total[uri]\n }\n }\n types.sort()\n let row, label, z\n for (let j = 0; j < types.length; j++) {\n const cat = kb.sym(types[j])\n row = table.appendChild(dom.createElement('tr'))\n label = row.appendChild(dom.createElement('td'))\n label.textContent = UI.utils.label(cat)\n if (ny > 1) {\n for (i = 0; i < ny; i++) {\n z = yearCategoryTotal[years[i]][types[j]]\n cell = row.appendChild(numericCell(z, true))\n }\n }\n row.appendChild(numericCell(total[types[j]], true))\n }\n\n // Trailing totals\n if (types.length > 1) {\n row = table.appendChild(dom.createElement('tr'))\n row.appendChild(headerCell('total'))\n if (ny > 1) {\n for (i = 0; i < ny; i++) {\n z = yearTotal[years[i]]\n cell = row.appendChild(numericCell(z ? d2(z) : ''))\n }\n }\n cell = row.appendChild(numericCell(grandTotal))\n cell.setAttribute(\n 'style',\n 'font-weight: bold; text-align: right;'\n )\n }\n\n const tab = transactionTable(dom, trans)\n tab.setAttribute(\n 'style',\n 'margin-left:auto; margin-right:1em; margin-top: 1em; border: padding: 1em;'\n )\n div.appendChild(tab)\n\n UI.widgets.attachmentList(dom, subject, div)\n })\n .catch(function (e) {\n complain('Error loading transactions: ' + e)\n })\n }\n calculations()\n } // if\n\n return div\n }\n}\n\n// ends\n"],"mappings":"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","ignoreList":[]}