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
7
  exports.socialPane = void 0;
7
8
  var UI = _interopRequireWildcard(require("solid-ui"));
8
9
  var _solidLogic = require("solid-logic");
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
  /* Social Pane
11
12
  **
12
13
  ** This outline pane provides social network functions
@@ -17,24 +18,24 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
17
18
  ** -- todo: use common code to get username and load profile and set 'me'
18
19
  */
19
20
 
20
- const socialPane = exports.socialPane = {
21
+ var socialPane = exports.socialPane = {
21
22
  icon: UI.icons.originalIconBase + 'foaf/foafTiny.gif',
22
23
  name: 'social',
23
- label: function (subject, context) {
24
- const kb = context.session.store;
25
- const types = kb.findTypeURIs(subject);
24
+ label: function label(subject, context) {
25
+ var kb = context.session.store;
26
+ var types = kb.findTypeURIs(subject);
26
27
  if (types[UI.ns.foaf('Person').uri] || types[UI.ns.vcard('Individual').uri]) {
27
28
  return 'Friends';
28
29
  }
29
30
  return null;
30
31
  },
31
- render: function (s, context) {
32
- const dom = context.dom;
33
- const common = function (x, y) {
32
+ render: function render(s, context) {
33
+ var dom = context.dom;
34
+ var common = function common(x, y) {
34
35
  // Find common members of two lists
35
- const both = [];
36
- for (let i = 0; i < x.length; i++) {
37
- for (let j = 0; j < y.length; j++) {
36
+ var both = [];
37
+ for (var i = 0; i < x.length; i++) {
38
+ for (var j = 0; j < y.length; j++) {
38
39
  if (y[j].sameTerm(x[i])) {
39
40
  both.push(y[j]);
40
41
  break;
@@ -43,37 +44,37 @@ const socialPane = exports.socialPane = {
43
44
  }
44
45
  return both;
45
46
  };
46
- const people = function (n) {
47
- let res = ' ';
47
+ var people = function people(n) {
48
+ var res = ' ';
48
49
  res += n || 'no';
49
50
  if (n === 1) return res + ' person';
50
51
  return res + ' people';
51
52
  };
52
- const say = function (str) {
53
+ var say = function say(str) {
53
54
  console.log(str);
54
- const p = dom.createElement('p');
55
+ var p = dom.createElement('p');
55
56
  p.textContent = str;
56
57
  tips.appendChild(p);
57
58
  };
58
- const link = function (contents, uri) {
59
+ var link = function link(contents, uri) {
59
60
  if (!uri) return contents;
60
- const a = dom.createElement('a');
61
+ var a = dom.createElement('a');
61
62
  a.setAttribute('href', uri);
62
63
  a.appendChild(contents);
63
64
  return a;
64
65
  };
65
- const text = function (str) {
66
+ var text = function text(str) {
66
67
  return dom.createTextNode(str);
67
68
  };
68
- const buildCheckboxForm = function (lab, statement, state) {
69
- const f = dom.createElement('form');
70
- const input = dom.createElement('input');
69
+ var buildCheckboxForm = function buildCheckboxForm(lab, statement, state) {
70
+ var f = dom.createElement('form');
71
+ var input = dom.createElement('input');
71
72
  f.appendChild(input);
72
- const tx = dom.createTextNode(lab);
73
+ var tx = dom.createTextNode(lab);
73
74
  tx.className = 'question';
74
75
  f.appendChild(tx);
75
76
  input.setAttribute('type', 'checkbox');
76
- const boxHandler = function (_e) {
77
+ var boxHandler = function boxHandler(_e) {
77
78
  tx.className = 'pendingedit';
78
79
  // alert('Should be greyed out')
79
80
  if (this.checked) {
@@ -117,74 +118,74 @@ const socialPane = exports.socialPane = {
117
118
  input.addEventListener('click', boxHandler, false);
118
119
  return f;
119
120
  };
120
- const oneFriend = function (friend, _confirmed) {
121
+ var oneFriend = function oneFriend(friend, _confirmed) {
121
122
  return UI.widgets.personTR(dom, UI.ns.foaf('knows'), friend, {});
122
123
  };
123
124
 
124
125
  // ////////// Body of render():
125
126
 
126
- const outliner = context.getOutliner(dom);
127
- const kb = context.session.store;
128
- const div = dom.createElement('div');
127
+ var outliner = context.getOutliner(dom);
128
+ var kb = context.session.store;
129
+ var div = dom.createElement('div');
129
130
  div.setAttribute('class', 'socialPane');
130
- const foaf = UI.ns.foaf;
131
- const vcard = UI.ns.vcard;
131
+ var foaf = UI.ns.foaf;
132
+ var vcard = UI.ns.vcard;
132
133
 
133
134
  // extracted from tabbedtab.css 2017-03-21
134
- const navBlockStyle = 'background-color: #eee; width: 25%; border: 0; padding: 0.5em; margin: 0;';
135
- const mainBlockStyle = 'background-color: #fff; color: #000; width: 46%; margin: 0; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-bottom: 1px solid #ccc; padding: 0;';
136
- const foafPicStyle = ' width: 100% ; border: none; margin: 0; padding: 0;';
137
- const structure = div.appendChild(dom.createElement('table'));
138
- const tr = structure.appendChild(dom.createElement('tr'));
139
- const left = tr.appendChild(dom.createElement('td'));
140
- const middle = tr.appendChild(dom.createElement('td'));
141
- const right = tr.appendChild(dom.createElement('td'));
142
- const tools = left;
135
+ var navBlockStyle = 'background-color: #eee; width: 25%; border: 0; padding: 0.5em; margin: 0;';
136
+ var mainBlockStyle = 'background-color: #fff; color: #000; width: 46%; margin: 0; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-bottom: 1px solid #ccc; padding: 0;';
137
+ var foafPicStyle = ' width: 100% ; border: none; margin: 0; padding: 0;';
138
+ var structure = div.appendChild(dom.createElement('table'));
139
+ var tr = structure.appendChild(dom.createElement('tr'));
140
+ var left = tr.appendChild(dom.createElement('td'));
141
+ var middle = tr.appendChild(dom.createElement('td'));
142
+ var right = tr.appendChild(dom.createElement('td'));
143
+ var tools = left;
143
144
  tools.style.cssText = navBlockStyle;
144
- const mainTable = middle.appendChild(dom.createElement('table'));
145
+ var mainTable = middle.appendChild(dom.createElement('table'));
145
146
  mainTable.style.cssText = mainBlockStyle;
146
- const tips = right;
147
+ var tips = right;
147
148
  tips.style.cssText = navBlockStyle;
148
149
 
149
150
  // Image top left
150
- const src = kb.any(s, foaf('img')) || kb.any(s, foaf('depiction'));
151
+ var src = kb.any(s, foaf('img')) || kb.any(s, foaf('depiction'));
151
152
  if (src) {
152
- const img = dom.createElement('IMG');
153
+ var img = dom.createElement('IMG');
153
154
  img.setAttribute('src', src.uri); // w640 h480
154
155
  // img.className = 'foafPic'
155
156
  img.style.cssText = foafPicStyle;
156
157
  tools.appendChild(img);
157
158
  }
158
- const name = kb.anyValue(s, foaf('name')) || '???';
159
- let h3 = dom.createElement('H3');
159
+ var name = kb.anyValue(s, foaf('name')) || '???';
160
+ var h3 = dom.createElement('H3');
160
161
  h3.appendChild(dom.createTextNode(name));
161
- let me = _solidLogic.authn.currentUser();
162
- const meUri = me ? me.uri : null;
162
+ var me = _solidLogic.authn.currentUser();
163
+ var meUri = me ? me.uri : null;
163
164
 
164
165
  // @@ Add: event handler to redraw the stuff below when me changes.
165
- const loginOutButton = UI.login.loginStatusBox(dom, webIdUri => {
166
+ var loginOutButton = UI.login.loginStatusBox(dom, function (webIdUri) {
166
167
  me = kb.sym(webIdUri);
167
168
  // @@ To be written: redraw as a function the new me
168
169
  // @@ refresh the sidebars
169
170
  UI.widgets.refreshTree(div); // this refreshes the middle at least
170
171
  });
171
172
  tips.appendChild(loginOutButton);
172
- const thisIsYou = me && kb.sameThings(me, s);
173
- const knows = foaf('knows');
173
+ var thisIsYou = me && kb.sameThings(me, s);
174
+ var knows = foaf('knows');
174
175
  // var givenName = kb.sym('http://www.w3.org/2000/10/swap/pim/contact#givenName')
175
- const familiar = kb.anyValue(s, foaf('givenname')) || kb.anyValue(s, foaf('firstName')) || kb.anyValue(s, foaf('nick')) || kb.anyValue(s, foaf('name')) || kb.anyValue(s, vcard('fn'));
176
- const friends = kb.each(s, knows);
176
+ var familiar = kb.anyValue(s, foaf('givenname')) || kb.anyValue(s, foaf('firstName')) || kb.anyValue(s, foaf('nick')) || kb.anyValue(s, foaf('name')) || kb.anyValue(s, vcard('fn'));
177
+ var friends = kb.each(s, knows);
177
178
 
178
179
  // Do I have a public profile document?
179
- let profile = null; // This could be SPARQL { ?me foaf:primaryTopic [ a foaf:PersonalProfileDocument ] }
180
- let editable = false;
181
- let incoming;
182
- let outgoing;
180
+ var profile = null; // This could be SPARQL { ?me foaf:primaryTopic [ a foaf:PersonalProfileDocument ] }
181
+ var editable = false;
182
+ var incoming;
183
+ var outgoing;
183
184
  if (me) {
184
185
  // The definition of FAF personal profile document is ..
185
- const works = kb.each(undefined, foaf('primaryTopic'), me); // having me as primary topic
186
- let message = '';
187
- for (let i = 0; i < works.length; i++) {
186
+ var works = kb.each(undefined, foaf('primaryTopic'), me); // having me as primary topic
187
+ var message = '';
188
+ for (var i = 0; i < works.length; i++) {
188
189
  if (kb.whether(works[i], UI.ns.rdf('type'), foaf('PersonalProfileDocument'))) {
189
190
  editable = outliner.UserInput.sparqler.editable(works[i].uri, kb);
190
191
  if (!editable) {
@@ -196,7 +197,7 @@ const socialPane = exports.socialPane = {
196
197
  }
197
198
  }
198
199
  if (!profile) {
199
- say(message + '\nI couldn\'t find your editable personal profile document.');
200
+ say(message + "\nI couldn't find your editable personal profile document.");
200
201
  } else {
201
202
  say('Editing your profile ' + profile + '.');
202
203
  // Do I have an EDITABLE profile?
@@ -212,66 +213,66 @@ const socialPane = exports.socialPane = {
212
213
  h3 = dom.createElement('h3');
213
214
  h3.appendChild(dom.createTextNode('You and ' + familiar));
214
215
  tools.appendChild(h3);
215
- const cme = kb.canon(me);
216
+ var cme = kb.canon(me);
216
217
  incoming = kb.whether(s, knows, cme);
217
218
  outgoing = false;
218
- const outgoingSt = kb.statementsMatching(cme, knows, s);
219
+ var outgoingSt = kb.statementsMatching(cme, knows, s);
219
220
  if (outgoingSt.length) {
220
221
  outgoing = true;
221
222
  if (!profile) profile = outgoingSt[0].why;
222
223
  }
223
- const tr = dom.createElement('tr');
224
- tools.appendChild(tr);
225
- const youAndThem = function () {
226
- tr.appendChild(link(text('You'), meUri));
227
- tr.appendChild(text(' and '));
228
- tr.appendChild(link(text(familiar), s.uri));
224
+ var _tr = dom.createElement('tr');
225
+ tools.appendChild(_tr);
226
+ var youAndThem = function youAndThem() {
227
+ _tr.appendChild(link(text('You'), meUri));
228
+ _tr.appendChild(text(' and '));
229
+ _tr.appendChild(link(text(familiar), s.uri));
229
230
  };
230
231
  if (!incoming) {
231
232
  if (!outgoing) {
232
233
  youAndThem();
233
- tr.appendChild(text(' have not said you know each other.'));
234
+ _tr.appendChild(text(' have not said you know each other.'));
234
235
  } else {
235
- tr.appendChild(link(text('You'), meUri));
236
- tr.appendChild(text(' know '));
237
- tr.appendChild(link(text(familiar), s.uri));
238
- tr.appendChild(text(' (unconfirmed)'));
236
+ _tr.appendChild(link(text('You'), meUri));
237
+ _tr.appendChild(text(' know '));
238
+ _tr.appendChild(link(text(familiar), s.uri));
239
+ _tr.appendChild(text(' (unconfirmed)'));
239
240
  }
240
241
  } else {
241
242
  if (!outgoing) {
242
- tr.appendChild(link(text(familiar), s.uri));
243
- tr.appendChild(text(' knows '));
244
- tr.appendChild(link(text('you'), meUri));
245
- tr.appendChild(text(' (unconfirmed).')); // @@
246
- tr.appendChild(text(' confirm you know '));
247
- tr.appendChild(link(text(familiar), s.uri));
248
- tr.appendChild(text('.'));
243
+ _tr.appendChild(link(text(familiar), s.uri));
244
+ _tr.appendChild(text(' knows '));
245
+ _tr.appendChild(link(text('you'), meUri));
246
+ _tr.appendChild(text(' (unconfirmed).')); // @@
247
+ _tr.appendChild(text(' confirm you know '));
248
+ _tr.appendChild(link(text(familiar), s.uri));
249
+ _tr.appendChild(text('.'));
249
250
  } else {
250
251
  youAndThem();
251
- tr.appendChild(text(' say you know each other.'));
252
+ _tr.appendChild(text(' say you know each other.'));
252
253
  }
253
254
  }
254
255
  if (editable) {
255
- const f = buildCheckboxForm('You know ' + familiar, new UI.rdf.Statement(me, knows, s, profile), outgoing);
256
+ var f = buildCheckboxForm('You know ' + familiar, new UI.rdf.Statement(me, knows, s, profile), outgoing);
256
257
  tools.appendChild(f);
257
258
  } // editable
258
259
 
259
260
  // //////////////// Mutual friends
260
261
  if (friends) {
261
- const myFriends = kb.each(me, foaf('knows'));
262
+ var myFriends = kb.each(me, foaf('knows'));
262
263
  if (myFriends.length) {
263
- const mutualFriends = common(friends, myFriends);
264
- const tr = dom.createElement('tr');
265
- tools.appendChild(tr);
266
- tr.appendChild(dom.createTextNode('You' + (familiar ? ' and ' + familiar : '') + ' know' + people(mutualFriends.length) + ' found in common'));
264
+ var mutualFriends = common(friends, myFriends);
265
+ var _tr2 = dom.createElement('tr');
266
+ tools.appendChild(_tr2);
267
+ _tr2.appendChild(dom.createTextNode('You' + (familiar ? ' and ' + familiar : '') + ' know' + people(mutualFriends.length) + ' found in common'));
267
268
  if (mutualFriends) {
268
- for (let i = 0; i < mutualFriends.length; i++) {
269
- tr.appendChild(dom.createTextNode(', ' + UI.utils.label(mutualFriends[i])));
269
+ for (var _i = 0; _i < mutualFriends.length; _i++) {
270
+ _tr2.appendChild(dom.createTextNode(', ' + UI.utils.label(mutualFriends[_i])));
270
271
  }
271
272
  }
272
273
  }
273
- const tr = dom.createElement('tr');
274
- tools.appendChild(tr);
274
+ var _tr3 = dom.createElement('tr');
275
+ tools.appendChild(_tr3);
275
276
  } // friends
276
277
  } // About someone else
277
278
  } // me is defined
@@ -298,13 +299,13 @@ const socialPane = exports.socialPane = {
298
299
  function _triageFriends(s) {
299
300
  outgoing = kb.each(s, foaf('knows'));
300
301
  incoming = kb.each(undefined, foaf('knows'), s); // @@ have to load the friends
301
- const confirmed = [];
302
- const unconfirmed = [];
303
- const requests = [];
304
- for (let i = 0; i < outgoing.length; i++) {
305
- const friend = outgoing[i];
306
- let found = false;
307
- for (let j = 0; j < incoming.length; j++) {
302
+ var confirmed = [];
303
+ var unconfirmed = [];
304
+ var requests = [];
305
+ for (var _i2 = 0; _i2 < outgoing.length; _i2++) {
306
+ var friend = outgoing[_i2];
307
+ var found = false;
308
+ for (var j = 0; j < incoming.length; j++) {
308
309
  if (incoming[j].sameTerm(friend)) {
309
310
  found = true;
310
311
  break;
@@ -313,38 +314,38 @@ const socialPane = exports.socialPane = {
313
314
  if (found) confirmed.push(friend);else unconfirmed.push(friend);
314
315
  } // outgoing
315
316
 
316
- for (let i = 0; i < incoming.length; i++) {
317
- const friend = incoming[i];
317
+ for (var _i3 = 0; _i3 < incoming.length; _i3++) {
318
+ var _friend = incoming[_i3];
318
319
  // var lab = UI.utils.label(friend)
319
- let found = false;
320
- for (let j = 0; j < outgoing.length; j++) {
321
- if (outgoing[j].sameTerm(friend)) {
322
- found = true;
320
+ var _found = false;
321
+ for (var _j = 0; _j < outgoing.length; _j++) {
322
+ if (outgoing[_j].sameTerm(_friend)) {
323
+ _found = true;
323
324
  break;
324
325
  }
325
326
  }
326
- if (!found) requests.push(friend);
327
+ if (!_found) requests.push(_friend);
327
328
  } // incoming
328
329
 
329
- const cases = [['Acquaintances', outgoing], ['Mentioned as acquaintances by: ', requests]];
330
- for (let i = 0; i < cases.length; i++) {
331
- const thisCase = cases[i];
332
- const friends = thisCase[1];
333
- if (friends.length === 0) continue; // Skip empty sections (sure?)
330
+ var cases = [['Acquaintances', outgoing], ['Mentioned as acquaintances by: ', requests]];
331
+ for (var _i4 = 0; _i4 < cases.length; _i4++) {
332
+ var thisCase = cases[_i4];
333
+ var _friends = thisCase[1];
334
+ if (_friends.length === 0) continue; // Skip empty sections (sure?)
334
335
 
335
- const h3 = dom.createElement('h3');
336
- h3.textContent = thisCase[0];
337
- const htr = dom.createElement('tr');
338
- htr.appendChild(h3);
336
+ var _h = dom.createElement('h3');
337
+ _h.textContent = thisCase[0];
338
+ var htr = dom.createElement('tr');
339
+ htr.appendChild(_h);
339
340
  mainTable.appendChild(htr);
340
- const items = [];
341
- for (let j9 = 0; j9 < friends.length; j9++) {
342
- items.push([UI.utils.label(friends[j9]), friends[j9]]);
341
+ var items = [];
342
+ for (var j9 = 0; j9 < _friends.length; j9++) {
343
+ items.push([UI.utils.label(_friends[j9]), _friends[j9]]);
343
344
  }
344
345
  items.sort();
345
- let last = null;
346
- let fr;
347
- for (let j7 = 0; j7 < items.length; j7++) {
346
+ var last = null;
347
+ var fr = void 0;
348
+ for (var j7 = 0; j7 < items.length; j7++) {
348
349
  fr = items[j7][1];
349
350
  if (fr.sameTerm(last)) continue; // unique
350
351
  last = fr;
@@ -368,42 +369,42 @@ const socialPane = exports.socialPane = {
368
369
  // For each home page like thing make a label which will
369
370
  // make sense and add the domain (like "w3.org blog") if there are more than one of the same type
370
371
  //
371
- const preds = [UI.ns.foaf('homepage'), UI.ns.foaf('weblog'), UI.ns.foaf('workplaceHomepage'), UI.ns.foaf('schoolHomepage')];
372
- for (let i6 = 0; i6 < preds.length; i6++) {
373
- const pred = preds[i6];
374
- const sts = kb.statementsMatching(s, pred);
372
+ var preds = [UI.ns.foaf('homepage'), UI.ns.foaf('weblog'), UI.ns.foaf('workplaceHomepage'), UI.ns.foaf('schoolHomepage')];
373
+ for (var i6 = 0; i6 < preds.length; i6++) {
374
+ var pred = preds[i6];
375
+ var sts = kb.statementsMatching(s, pred);
375
376
  if (sts.length === 0) {
376
377
  // if (editable) say("No home page set. Use the blue + icon at the bottom of the main view to add information.")
377
378
  } else {
378
- const uris = [];
379
- for (let j5 = 0; j5 < sts.length; j5++) {
380
- const st = sts[j5];
379
+ var uris = [];
380
+ for (var j5 = 0; j5 < sts.length; j5++) {
381
+ var st = sts[j5];
381
382
  if (st.object.uri) uris.push(st.object.uri); // Ignore if not symbol
382
383
  }
383
384
  uris.sort();
384
- let last2 = '';
385
- let lab2;
386
- for (let k = 0; k < uris.length; k++) {
387
- const uri = uris[k];
385
+ var last2 = '';
386
+ var lab2 = void 0;
387
+ for (var k = 0; k < uris.length; k++) {
388
+ var uri = uris[k];
388
389
  if (uri === last2) continue; // uniques only
389
390
  last2 = uri;
390
- let hostlabel = '';
391
+ var hostlabel = '';
391
392
  lab2 = UI.utils.label(pred);
392
393
  if (uris.length > 1) {
393
- const l = uri.indexOf('//');
394
+ var l = uri.indexOf('//');
394
395
  if (l > 0) {
395
- let r = uri.indexOf('/', l + 2);
396
- const r2 = uri.lastIndexOf('.', r);
396
+ var r = uri.indexOf('/', l + 2);
397
+ var r2 = uri.lastIndexOf('.', r);
397
398
  if (r2 > 0) r = r2;
398
399
  hostlabel = uri.slice(l + 2, r);
399
400
  }
400
401
  }
401
402
  if (hostlabel) lab2 = hostlabel + ' ' + lab2; // disambiguate
402
- const t = dom.createTextNode(lab2);
403
- const a = dom.createElement('a');
403
+ var t = dom.createTextNode(lab2);
404
+ var a = dom.createElement('a');
404
405
  a.appendChild(t);
405
406
  a.setAttribute('href', uri);
406
- const d = dom.createElement('div');
407
+ var d = dom.createElement('div');
407
408
  // d.className = 'social_linkButton'
408
409
  d.style.cssText = 'width: 80%; background-color: #fff; border: solid 0.05em #ccc; margin-top: 0.1em; margin-bottom: 0.1em; padding: 0.1em; text-align: center;';
409
410
  d.appendChild(a);
@@ -411,10 +412,10 @@ const socialPane = exports.socialPane = {
411
412
  }
412
413
  }
413
414
  }
414
- const preds2 = [UI.ns.foaf('openid'), UI.ns.foaf('nick')];
415
- for (let i2 = 0; i2 < preds2.length; i2++) {
416
- const pred = preds2[i2];
417
- const sts2 = kb.statementsMatching(s, pred);
415
+ var preds2 = [UI.ns.foaf('openid'), UI.ns.foaf('nick')];
416
+ for (var i2 = 0; i2 < preds2.length; i2++) {
417
+ var _pred2 = preds2[i2];
418
+ var sts2 = kb.statementsMatching(s, _pred2);
418
419
  if (sts2.length === 0) {
419
420
  // if (editable) say("No home page set. Use the blue + icon at the bottom of the main view to add information.")
420
421
  } else {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socialPane.js","names":["UI","_interopRequireWildcard","require","_solidLogic","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","socialPane","exports","icon","icons","originalIconBase","name","label","subject","context","kb","session","store","types","findTypeURIs","ns","foaf","uri","vcard","render","s","dom","common","x","y","both","length","j","sameTerm","push","people","res","say","str","console","log","p","createElement","textContent","tips","appendChild","link","contents","a","setAttribute","text","createTextNode","buildCheckboxForm","lab","statement","state","input","tx","className","boxHandler","_e","checked","outliner","UserInput","sparqler","insert_statement","success","errorBody","alert","add","predicate","object","why","error","delete_statement","removeMany","addEventListener","oneFriend","friend","_confirmed","widgets","personTR","getOutliner","div","navBlockStyle","mainBlockStyle","foafPicStyle","structure","tr","left","middle","right","tools","style","cssText","mainTable","src","any","img","anyValue","h3","me","authn","currentUser","meUri","loginOutButton","login","loginStatusBox","webIdUri","sym","refreshTree","thisIsYou","sameThings","knows","familiar","friends","each","profile","editable","incoming","outgoing","works","undefined","message","whether","rdf","utils","escapeForXML","cme","canon","outgoingSt","statementsMatching","youAndThem","Statement","myFriends","mutualFriends","attachmentList","doc","modify","noun","_triageFriends","confirmed","unconfirmed","requests","found","cases","thisCase","htr","items","j9","sort","last","fr","j7","preds","i6","pred","sts","uris","j5","st","last2","lab2","k","hostlabel","l","indexOf","r2","lastIndexOf","slice","d","preds2","i2","sts2","appendPropertyTRs","_pred"],"sources":["../src/socialPane.js"],"sourcesContent":["/* Social Pane\n **\n ** This outline pane provides social network functions\n ** Using for example the FOAF ontology.\n ** Goal: A *distributed* version of facebook, advogato, etc etc\n ** - Similarly easy user interface, but data storage distributed\n ** - Read and write both user-private (address book) and public data clearly\n ** -- todo: use common code to get username and load profile and set 'me'\n */\n\nimport * as UI from 'solid-ui'\nimport { authn } from 'solid-logic'\n\nexport const socialPane = {\n icon: UI.icons.originalIconBase + 'foaf/foafTiny.gif',\n\n name: 'social',\n\n label: function (subject, context) {\n const kb = context.session.store\n const types = kb.findTypeURIs(subject)\n if (\n types[UI.ns.foaf('Person').uri] ||\n types[UI.ns.vcard('Individual').uri]\n ) {\n return 'Friends'\n }\n return null\n },\n\n render: function (s, context) {\n const dom = context.dom\n const common = function (x, y) {\n // Find common members of two lists\n const both = []\n for (let i = 0; i < x.length; i++) {\n for (let j = 0; j < y.length; j++) {\n if (y[j].sameTerm(x[i])) {\n both.push(y[j])\n break\n }\n }\n }\n return both\n }\n\n const people = function (n) {\n let res = ' '\n res += n || 'no'\n if (n === 1) return res + ' person'\n return res + ' people'\n }\n const say = function (str) {\n console.log(str)\n const p = dom.createElement('p')\n p.textContent = str\n tips.appendChild(p)\n }\n\n const link = function (contents, uri) {\n if (!uri) return contents\n const a = dom.createElement('a')\n a.setAttribute('href', uri)\n a.appendChild(contents)\n return a\n }\n\n const text = function (str) {\n return dom.createTextNode(str)\n }\n\n const buildCheckboxForm = function (lab, statement, state) {\n const f = dom.createElement('form')\n const input = dom.createElement('input')\n f.appendChild(input)\n const tx = dom.createTextNode(lab)\n tx.className = 'question'\n f.appendChild(tx)\n input.setAttribute('type', 'checkbox')\n const boxHandler = function (_e) {\n tx.className = 'pendingedit'\n // alert('Should be greyed out')\n if (this.checked) {\n // Add link\n try {\n outliner.UserInput.sparqler.insert_statement(statement, function (\n uri,\n success,\n errorBody\n ) {\n tx.className = 'question'\n if (!success) {\n UI.log.alert(\n null,\n 'Message',\n 'Error occurs while inserting ' +\n statement +\n '\\n\\n' +\n errorBody\n )\n input.checked = false // rollback UI\n return\n }\n kb.add(\n statement.subject,\n statement.predicate,\n statement.object,\n statement.why\n )\n })\n } catch (e) {\n UI.log.error('Data write fails:' + e)\n UI.log.alert('Data write fails:' + e)\n input.checked = false // rollback UI\n tx.className = 'question'\n }\n } else {\n // Remove link\n try {\n outliner.UserInput.sparqler.delete_statement(statement, function (\n uri,\n success,\n errorBody\n ) {\n tx.className = 'question'\n if (!success) {\n UI.log.alert(\n 'Error occurs while deleting ' +\n statement +\n '\\n\\n' +\n errorBody\n )\n this.checked = true // Rollback UI\n } else {\n kb.removeMany(\n statement.subject,\n statement.predicate,\n statement.object,\n statement.why\n )\n }\n })\n } catch (e) {\n UI.log.alert('Delete fails:' + e)\n this.checked = true // Rollback UI\n // return\n }\n }\n }\n input.checked = state\n input.addEventListener('click', boxHandler, false)\n return f\n }\n\n const oneFriend = function (friend, _confirmed) {\n return UI.widgets.personTR(dom, UI.ns.foaf('knows'), friend, {})\n }\n\n // ////////// Body of render():\n\n const outliner = context.getOutliner(dom)\n const kb = context.session.store\n const div = dom.createElement('div')\n div.setAttribute('class', 'socialPane')\n const foaf = UI.ns.foaf\n const vcard = UI.ns.vcard\n\n // extracted from tabbedtab.css 2017-03-21\n const navBlockStyle =\n 'background-color: #eee; width: 25%; border: 0; padding: 0.5em; margin: 0;'\n const mainBlockStyle =\n 'background-color: #fff; color: #000; width: 46%; margin: 0; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-bottom: 1px solid #ccc; padding: 0;'\n const foafPicStyle = ' width: 100% ; border: none; margin: 0; padding: 0;'\n\n const structure = div.appendChild(dom.createElement('table'))\n const tr = structure.appendChild(dom.createElement('tr'))\n const left = tr.appendChild(dom.createElement('td'))\n const middle = tr.appendChild(dom.createElement('td'))\n const right = tr.appendChild(dom.createElement('td'))\n\n const tools = left\n tools.style.cssText = navBlockStyle\n const mainTable = middle.appendChild(dom.createElement('table'))\n mainTable.style.cssText = mainBlockStyle\n const tips = right\n tips.style.cssText = navBlockStyle\n\n // Image top left\n const src = kb.any(s, foaf('img')) || kb.any(s, foaf('depiction'))\n if (src) {\n const img = dom.createElement('IMG')\n img.setAttribute('src', src.uri) // w640 h480\n // img.className = 'foafPic'\n img.style.cssText = foafPicStyle\n tools.appendChild(img)\n }\n const name = kb.anyValue(s, foaf('name')) || '???'\n let h3 = dom.createElement('H3')\n h3.appendChild(dom.createTextNode(name))\n\n let me = authn.currentUser()\n const meUri = me ? me.uri : null\n\n // @@ Add: event handler to redraw the stuff below when me changes.\n const loginOutButton = UI.login.loginStatusBox(dom, webIdUri => {\n me = kb.sym(webIdUri)\n // @@ To be written: redraw as a function the new me\n // @@ refresh the sidebars\n UI.widgets.refreshTree(div) // this refreshes the middle at least\n })\n\n tips.appendChild(loginOutButton)\n\n const thisIsYou = me && kb.sameThings(me, s)\n\n const knows = foaf('knows')\n // var givenName = kb.sym('http://www.w3.org/2000/10/swap/pim/contact#givenName')\n const familiar =\n kb.anyValue(s, foaf('givenname')) ||\n kb.anyValue(s, foaf('firstName')) ||\n kb.anyValue(s, foaf('nick')) ||\n kb.anyValue(s, foaf('name')) ||\n kb.anyValue(s, vcard('fn'))\n const friends = kb.each(s, knows)\n\n // Do I have a public profile document?\n let profile = null // This could be SPARQL { ?me foaf:primaryTopic [ a foaf:PersonalProfileDocument ] }\n let editable = false\n let incoming\n let outgoing\n if (me) {\n // The definition of FAF personal profile document is ..\n const works = kb.each(undefined, foaf('primaryTopic'), me) // having me as primary topic\n let message = ''\n for (let i = 0; i < works.length; i++) {\n if (\n kb.whether(\n works[i],\n UI.ns.rdf('type'),\n foaf('PersonalProfileDocument')\n )\n ) {\n editable = outliner.UserInput.sparqler.editable(works[i].uri, kb)\n if (!editable) {\n message +=\n 'Your profile <' +\n UI.utils.escapeForXML(works[i].uri) +\n '> is not remotely editable.'\n } else {\n profile = works[i]\n break\n }\n }\n }\n\n if (!profile) {\n say(\n message + \"\\nI couldn't find your editable personal profile document.\"\n )\n } else {\n say('Editing your profile ' + profile + '.')\n // Do I have an EDITABLE profile?\n editable = outliner.UserInput.sparqler.editable(profile.uri, kb)\n }\n\n if (thisIsYou) {\n // This is about me\n // pass... @@\n } else {\n // This is about someone else\n // My relationship with this person\n\n h3 = dom.createElement('h3')\n h3.appendChild(dom.createTextNode('You and ' + familiar))\n tools.appendChild(h3)\n\n const cme = kb.canon(me)\n incoming = kb.whether(s, knows, cme)\n outgoing = false\n const outgoingSt = kb.statementsMatching(cme, knows, s)\n if (outgoingSt.length) {\n outgoing = true\n if (!profile) profile = outgoingSt[0].why\n }\n\n const tr = dom.createElement('tr')\n tools.appendChild(tr)\n\n const youAndThem = function () {\n tr.appendChild(link(text('You'), meUri))\n tr.appendChild(text(' and '))\n tr.appendChild(link(text(familiar), s.uri))\n }\n\n if (!incoming) {\n if (!outgoing) {\n youAndThem()\n tr.appendChild(text(' have not said you know each other.'))\n } else {\n tr.appendChild(link(text('You'), meUri))\n tr.appendChild(text(' know '))\n tr.appendChild(link(text(familiar), s.uri))\n tr.appendChild(text(' (unconfirmed)'))\n }\n } else {\n if (!outgoing) {\n tr.appendChild(link(text(familiar), s.uri))\n tr.appendChild(text(' knows '))\n tr.appendChild(link(text('you'), meUri))\n tr.appendChild(text(' (unconfirmed).')) // @@\n tr.appendChild(text(' confirm you know '))\n tr.appendChild(link(text(familiar), s.uri))\n tr.appendChild(text('.'))\n } else {\n youAndThem()\n tr.appendChild(text(' say you know each other.'))\n }\n }\n\n if (editable) {\n const f = buildCheckboxForm(\n 'You know ' + familiar,\n new UI.rdf.Statement(me, knows, s, profile),\n outgoing\n )\n tools.appendChild(f)\n } // editable\n\n // //////////////// Mutual friends\n if (friends) {\n const myFriends = kb.each(me, foaf('knows'))\n if (myFriends.length) {\n const mutualFriends = common(friends, myFriends)\n const tr = dom.createElement('tr')\n tools.appendChild(tr)\n tr.appendChild(\n dom.createTextNode(\n 'You' +\n (familiar ? ' and ' + familiar : '') +\n ' know' +\n people(mutualFriends.length) +\n ' found in common'\n )\n )\n if (mutualFriends) {\n for (let i = 0; i < mutualFriends.length; i++) {\n tr.appendChild(\n dom.createTextNode(', ' + UI.utils.label(mutualFriends[i]))\n )\n }\n }\n }\n const tr = dom.createElement('tr')\n tools.appendChild(tr)\n } // friends\n } // About someone else\n } // me is defined\n // End of you and s\n\n // div.appendChild(dom.createTextNode(plural(friends.length, 'acquaintance') +'. '))\n\n // ///////////////////////////////////////////// Main block\n //\n // Should: Find the intersection and difference sets\n\n // List all x such that s knows x.\n UI.widgets.attachmentList(dom, s, mainTable, {\n doc: profile,\n modify: !!editable,\n predicate: foaf('knows'),\n noun: 'friend'\n })\n\n // Figure out which are reciprocated:\n // @@ Does not look up profiles\n // Does distinguish reciprocated from unreciprocated friendships\n //\n function _triageFriends (s) {\n outgoing = kb.each(s, foaf('knows'))\n incoming = kb.each(undefined, foaf('knows'), s) // @@ have to load the friends\n const confirmed = []\n const unconfirmed = []\n const requests = []\n\n for (let i = 0; i < outgoing.length; i++) {\n const friend = outgoing[i]\n let found = false\n for (let j = 0; j < incoming.length; j++) {\n if (incoming[j].sameTerm(friend)) {\n found = true\n break\n }\n }\n if (found) confirmed.push(friend)\n else unconfirmed.push(friend)\n } // outgoing\n\n for (let i = 0; i < incoming.length; i++) {\n const friend = incoming[i]\n // var lab = UI.utils.label(friend)\n let found = false\n for (let j = 0; j < outgoing.length; j++) {\n if (outgoing[j].sameTerm(friend)) {\n found = true\n break\n }\n }\n if (!found) requests.push(friend)\n } // incoming\n\n const cases = [\n ['Acquaintances', outgoing],\n ['Mentioned as acquaintances by: ', requests]\n ]\n for (let i = 0; i < cases.length; i++) {\n const thisCase = cases[i]\n const friends = thisCase[1]\n if (friends.length === 0) continue // Skip empty sections (sure?)\n\n const h3 = dom.createElement('h3')\n h3.textContent = thisCase[0]\n const htr = dom.createElement('tr')\n htr.appendChild(h3)\n mainTable.appendChild(htr)\n\n const items = []\n for (let j9 = 0; j9 < friends.length; j9++) {\n items.push([UI.utils.label(friends[j9]), friends[j9]])\n }\n items.sort()\n let last = null\n let fr\n for (let j7 = 0; j7 < items.length; j7++) {\n fr = items[j7][1]\n if (fr.sameTerm(last)) continue // unique\n last = fr\n if (UI.utils.label(fr) !== '...') {\n // This check is to avoid bnodes with no labels attached\n // appearing in the friends list with \"...\" - Oshani\n mainTable.appendChild(oneFriend(fr))\n }\n }\n }\n }\n /* if ($rdf.keepThisCodeForLaterButDisableFerossConstantConditionPolice) {\n triageFriends(s)\n } */\n // //////////////////////////////////// Basic info on left\n\n h3 = dom.createElement('h3')\n h3.appendChild(dom.createTextNode('Basic Information'))\n tools.appendChild(h3)\n\n // For each home page like thing make a label which will\n // make sense and add the domain (like \"w3.org blog\") if there are more than one of the same type\n //\n const preds = [\n UI.ns.foaf('homepage'),\n UI.ns.foaf('weblog'),\n UI.ns.foaf('workplaceHomepage'),\n UI.ns.foaf('schoolHomepage')\n ]\n for (let i6 = 0; i6 < preds.length; i6++) {\n const pred = preds[i6]\n const sts = kb.statementsMatching(s, pred)\n if (sts.length === 0) {\n // if (editable) say(\"No home page set. Use the blue + icon at the bottom of the main view to add information.\")\n } else {\n const uris = []\n for (let j5 = 0; j5 < sts.length; j5++) {\n const st = sts[j5]\n if (st.object.uri) uris.push(st.object.uri) // Ignore if not symbol\n }\n uris.sort()\n let last2 = ''\n let lab2\n for (let k = 0; k < uris.length; k++) {\n const uri = uris[k]\n if (uri === last2) continue // uniques only\n last2 = uri\n let hostlabel = ''\n lab2 = UI.utils.label(pred)\n if (uris.length > 1) {\n const l = uri.indexOf('//')\n if (l > 0) {\n let r = uri.indexOf('/', l + 2)\n const r2 = uri.lastIndexOf('.', r)\n if (r2 > 0) r = r2\n hostlabel = uri.slice(l + 2, r)\n }\n }\n if (hostlabel) lab2 = hostlabel + ' ' + lab2 // disambiguate\n const t = dom.createTextNode(lab2)\n const a = dom.createElement('a')\n a.appendChild(t)\n a.setAttribute('href', uri)\n const d = dom.createElement('div')\n // d.className = 'social_linkButton'\n d.style.cssText =\n 'width: 80%; background-color: #fff; border: solid 0.05em #ccc; margin-top: 0.1em; margin-bottom: 0.1em; padding: 0.1em; text-align: center;'\n d.appendChild(a)\n tools.appendChild(d)\n }\n }\n }\n\n const preds2 = [UI.ns.foaf('openid'), UI.ns.foaf('nick')]\n for (let i2 = 0; i2 < preds2.length; i2++) {\n const pred = preds2[i2]\n const sts2 = kb.statementsMatching(s, pred)\n if (sts2.length === 0) {\n // if (editable) say(\"No home page set. Use the blue + icon at the bottom of the main view to add information.\")\n } else {\n outliner.appendPropertyTRs(tools, sts2, false, function (_pred) {\n return true\n })\n }\n }\n\n return div\n } // render()\n} //\n// ends\n"],"mappings":"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","ignoreList":[]}