solid-panes 3.7.2 → 3.7.3-18da570b

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/dist/RDFXMLPane.js +58 -0
  2. package/dist/RDFXMLPane.js.map +1 -0
  3. package/{lib → dist}/argument/argumentPane.js +14 -15
  4. package/dist/argument/argumentPane.js.map +1 -0
  5. package/{lib → dist}/attach/attachPane.js +83 -93
  6. package/dist/attach/attachPane.js.map +1 -0
  7. package/{lib → dist}/audio/audioPane.js +49 -50
  8. package/dist/audio/audioPane.js.map +1 -0
  9. package/{lib → dist}/classInstancePane.js +23 -24
  10. package/dist/classInstancePane.js.map +1 -0
  11. package/dist/dashboard/basicPreferences.js +147 -0
  12. package/dist/dashboard/basicPreferences.js.map +1 -0
  13. package/{lib → dist}/dashboard/dashboardPane.js +17 -21
  14. package/dist/dashboard/dashboardPane.js.map +1 -0
  15. package/dist/dashboard/homepage.js +54 -0
  16. package/dist/dashboard/homepage.js.map +1 -0
  17. package/{lib → dist}/dataContentPane.js +63 -63
  18. package/dist/dataContentPane.js.map +1 -0
  19. package/{lib → dist}/defaultPane.js +14 -15
  20. package/dist/defaultPane.js.map +1 -0
  21. package/{lib → dist}/dokieli/dokieliPane.js +49 -53
  22. package/dist/dokieli/dokieliPane.js.map +1 -0
  23. package/{src → dist}/dokieli/new.js +9 -3
  24. package/dist/dokieli/new.js.map +1 -0
  25. package/{lib → dist}/form/pane.js +44 -45
  26. package/dist/form/pane.js.map +1 -0
  27. package/dist/home/homePane.js +73 -0
  28. package/dist/home/homePane.js.map +1 -0
  29. package/dist/humanReadablePane.js +135 -0
  30. package/dist/humanReadablePane.js.map +1 -0
  31. package/dist/imagePane.js +70 -0
  32. package/dist/imagePane.js.map +1 -0
  33. package/{lib → dist}/index.js +17 -20
  34. package/dist/index.js.map +1 -0
  35. package/{lib → dist}/internal/internalPane.js +41 -41
  36. package/dist/internal/internalPane.js.map +1 -0
  37. package/{lib → dist}/mainPage/footer.js +2 -2
  38. package/{lib → dist}/mainPage/footer.js.map +1 -1
  39. package/dist/mainPage/header.js +85 -0
  40. package/dist/mainPage/header.js.map +1 -0
  41. package/{lib → dist}/mainPage/index.d.ts.map +1 -1
  42. package/dist/mainPage/index.js +25 -0
  43. package/dist/mainPage/index.js.map +1 -0
  44. package/{lib → dist}/microblogPane/microblogPane.js +261 -262
  45. package/dist/microblogPane/microblogPane.js.map +1 -0
  46. package/dist/n3Pane.js +56 -0
  47. package/dist/n3Pane.js.map +1 -0
  48. package/{lib → dist}/outline/context.js +4 -4
  49. package/{lib → dist}/outline/context.js.map +1 -1
  50. package/dist/outline/manager.js +1997 -0
  51. package/dist/outline/manager.js.map +1 -0
  52. package/{lib → dist}/outline/outlineIcons.js +2 -3
  53. package/dist/outline/outlineIcons.js.map +1 -0
  54. package/{lib → dist}/outline/propertyViews.js +4 -4
  55. package/dist/outline/propertyViews.js.map +1 -0
  56. package/{lib → dist}/outline/queryByExample.js +30 -31
  57. package/dist/outline/queryByExample.js.map +1 -0
  58. package/{lib → dist}/outline/userInput.js +262 -260
  59. package/dist/outline/userInput.js.map +1 -0
  60. package/dist/outline/viewAsImage.js +15 -0
  61. package/dist/outline/viewAsImage.js.map +1 -0
  62. package/dist/outline/viewAsMbox.js +22 -0
  63. package/dist/outline/viewAsMbox.js.map +1 -0
  64. package/{lib → dist}/pad/padPane.js +90 -96
  65. package/dist/pad/padPane.js.map +1 -0
  66. package/{lib → dist}/playlist/playlistPane.js +36 -37
  67. package/dist/playlist/playlistPane.js.map +1 -0
  68. package/{lib → dist}/registerPanes.js +29 -29
  69. package/dist/registerPanes.js.map +1 -0
  70. package/{lib → dist}/schedule/schedulePane.js +171 -178
  71. package/dist/schedule/schedulePane.js.map +1 -0
  72. package/{lib → dist}/sharing/sharingPane.js +12 -12
  73. package/dist/sharing/sharingPane.js.map +1 -0
  74. package/dist/slideshow/slideshowPane.js +80 -0
  75. package/dist/slideshow/slideshowPane.js.map +1 -0
  76. package/{lib → dist}/socialPane.js +141 -142
  77. package/dist/socialPane.js.map +1 -0
  78. package/dist/tabbed/tabbedPane.js +58 -0
  79. package/dist/tabbed/tabbedPane.js.map +1 -0
  80. package/{lib → dist}/tableViewPane.js +8 -9
  81. package/dist/tableViewPane.js.map +1 -0
  82. package/{lib → dist}/transaction/pane.js +117 -118
  83. package/dist/transaction/pane.js.map +1 -0
  84. package/{lib → dist}/transaction/period.js +82 -83
  85. package/dist/transaction/period.js.map +1 -0
  86. package/{lib → dist}/trip/tripPane.js +47 -48
  87. package/dist/trip/tripPane.js.map +1 -0
  88. package/dist/trustedApplications/trustedApplications.dom.js +146 -0
  89. package/dist/trustedApplications/trustedApplications.dom.js.map +1 -0
  90. package/dist/trustedApplications/trustedApplications.utils.js +24 -0
  91. package/dist/trustedApplications/trustedApplications.utils.js.map +1 -0
  92. package/dist/trustedApplications/trustedApplications.view.js +56 -0
  93. package/dist/trustedApplications/trustedApplications.view.js.map +1 -0
  94. package/dist/types.js.map +1 -0
  95. package/{lib → dist}/ui/pane.js +30 -31
  96. package/dist/ui/pane.js.map +1 -0
  97. package/dist/versionInfo.js +37 -0
  98. package/dist/versionInfo.js.map +1 -0
  99. package/dist/video/videoPane.js +43 -0
  100. package/dist/video/videoPane.js.map +1 -0
  101. package/package.json +36 -23
  102. package/Documentation/VisualLanguage.html +0 -538
  103. package/Documentation/conventions.md +0 -333
  104. package/coverage/clover.xml +0 -152
  105. package/coverage/coverage-final.json +0 -6
  106. package/coverage/lcov-report/base.css +0 -224
  107. package/coverage/lcov-report/block-navigation.js +0 -87
  108. package/coverage/lcov-report/favicon.png +0 -0
  109. package/coverage/lcov-report/index.html +0 -131
  110. package/coverage/lcov-report/outline/index.html +0 -161
  111. package/coverage/lcov-report/outline/outlineIcons.js.html +0 -565
  112. package/coverage/lcov-report/outline/propertyViews.ts.html +0 -196
  113. package/coverage/lcov-report/outline/viewAsImage.ts.html +0 -121
  114. package/coverage/lcov-report/outline/viewAsMbox.ts.html +0 -127
  115. package/coverage/lcov-report/prettify.css +0 -1
  116. package/coverage/lcov-report/prettify.js +0 -2
  117. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  118. package/coverage/lcov-report/sorter.js +0 -210
  119. package/coverage/lcov-report/trustedApplications/index.html +0 -116
  120. package/coverage/lcov-report/trustedApplications/trustedApplications.utils.ts.html +0 -238
  121. package/coverage/lcov.info +0 -204
  122. package/dev/index.html +0 -28
  123. package/dev/loader.ts +0 -91
  124. package/dev/pane/index.ts +0 -10
  125. package/doc/images/panes-for-classes.epgz +0 -0
  126. package/doc/images/panes-for-classes.svg +0 -609
  127. package/eslint.config.mjs +0 -34
  128. package/jest.config.js +0 -27
  129. package/jest.setup.ts +0 -4
  130. package/lib/RDFXMLPane.js +0 -59
  131. package/lib/RDFXMLPane.js.map +0 -1
  132. package/lib/argument/argumentPane.js.map +0 -1
  133. package/lib/attach/attachPane.js.map +0 -1
  134. package/lib/audio/audioPane.js.map +0 -1
  135. package/lib/classInstancePane.js.map +0 -1
  136. package/lib/dashboard/basicPreferences.js +0 -229
  137. package/lib/dashboard/basicPreferences.js.map +0 -1
  138. package/lib/dashboard/dashboardPane.js.map +0 -1
  139. package/lib/dashboard/homepage.js +0 -86
  140. package/lib/dashboard/homepage.js.map +0 -1
  141. package/lib/dataContentPane.js.map +0 -1
  142. package/lib/defaultPane.js.map +0 -1
  143. package/lib/dokieli/dokieliPane.js.map +0 -1
  144. package/lib/dokieli/new.js +0 -9
  145. package/lib/dokieli/new.js.map +0 -1
  146. package/lib/form/pane.js.map +0 -1
  147. package/lib/home/homePane.js +0 -91
  148. package/lib/home/homePane.js.map +0 -1
  149. package/lib/humanReadablePane.js +0 -138
  150. package/lib/humanReadablePane.js.map +0 -1
  151. package/lib/imagePane.js +0 -71
  152. package/lib/imagePane.js.map +0 -1
  153. package/lib/index.js.map +0 -1
  154. package/lib/internal/internalPane.js.map +0 -1
  155. package/lib/mainPage/header.js +0 -152
  156. package/lib/mainPage/header.js.map +0 -1
  157. package/lib/mainPage/index.js +0 -42
  158. package/lib/mainPage/index.js.map +0 -1
  159. package/lib/microblogPane/microblogPane.js.map +0 -1
  160. package/lib/n3Pane.js +0 -57
  161. package/lib/n3Pane.js.map +0 -1
  162. package/lib/outline/manager.js +0 -2264
  163. package/lib/outline/manager.js.map +0 -1
  164. package/lib/outline/manager.test.d.ts +0 -2
  165. package/lib/outline/manager.test.d.ts.map +0 -1
  166. package/lib/outline/manager.test.js +0 -210
  167. package/lib/outline/manager.test.js.map +0 -1
  168. package/lib/outline/outlineIcons.js.map +0 -1
  169. package/lib/outline/propertyViews.js.map +0 -1
  170. package/lib/outline/propertyViews.test.d.ts +0 -2
  171. package/lib/outline/propertyViews.test.d.ts.map +0 -1
  172. package/lib/outline/propertyViews.test.js +0 -27
  173. package/lib/outline/propertyViews.test.js.map +0 -1
  174. package/lib/outline/queryByExample.js.map +0 -1
  175. package/lib/outline/userInput.js.map +0 -1
  176. package/lib/outline/viewAsImage.js +0 -17
  177. package/lib/outline/viewAsImage.js.map +0 -1
  178. package/lib/outline/viewAsMbox.js +0 -23
  179. package/lib/outline/viewAsMbox.js.map +0 -1
  180. package/lib/pad/padPane.js.map +0 -1
  181. package/lib/playlist/playlistPane.js.map +0 -1
  182. package/lib/registerPanes.js.map +0 -1
  183. package/lib/schedule/formsForSchedule.js +0 -8
  184. package/lib/schedule/formsForSchedule.js.map +0 -1
  185. package/lib/schedule/schedulePane.js.map +0 -1
  186. package/lib/sharing/sharingPane.js.map +0 -1
  187. package/lib/slideshow/slideshowPane.js +0 -84
  188. package/lib/slideshow/slideshowPane.js.map +0 -1
  189. package/lib/socialPane.js.map +0 -1
  190. package/lib/tabbed/tabbedPane.js +0 -72
  191. package/lib/tabbed/tabbedPane.js.map +0 -1
  192. package/lib/tableViewPane.js.map +0 -1
  193. package/lib/test-import-export/common.js +0 -12
  194. package/lib/test-import-export/common.js.map +0 -1
  195. package/lib/test-import-export/edit-importer.js +0 -25
  196. package/lib/test-import-export/edit-importer.js.map +0 -1
  197. package/lib/test-import-export/testImportExport.js +0 -2
  198. package/lib/test-import-export/testImportExport.js.map +0 -1
  199. package/lib/transaction/pane.js.map +0 -1
  200. package/lib/transaction/period.js.map +0 -1
  201. package/lib/trip/tripPane.js.map +0 -1
  202. package/lib/trustedApplications/trustedApplications.dom.js +0 -177
  203. package/lib/trustedApplications/trustedApplications.dom.js.map +0 -1
  204. package/lib/trustedApplications/trustedApplications.test.d.ts +0 -2
  205. package/lib/trustedApplications/trustedApplications.test.d.ts.map +0 -1
  206. package/lib/trustedApplications/trustedApplications.test.js +0 -64
  207. package/lib/trustedApplications/trustedApplications.test.js.map +0 -1
  208. package/lib/trustedApplications/trustedApplications.utils.js +0 -34
  209. package/lib/trustedApplications/trustedApplications.utils.js.map +0 -1
  210. package/lib/trustedApplications/trustedApplications.view.js +0 -87
  211. package/lib/trustedApplications/trustedApplications.view.js.map +0 -1
  212. package/lib/types.js.map +0 -1
  213. package/lib/ui/pane.js.map +0 -1
  214. package/lib/versionInfo.d.ts +0 -34
  215. package/lib/versionInfo.d.ts.map +0 -1
  216. package/lib/versionInfo.js +0 -39
  217. package/lib/versionInfo.js.map +0 -1
  218. package/lib/video/videoPane.js +0 -44
  219. package/lib/video/videoPane.js.map +0 -1
  220. package/src/RDFXMLPane.js +0 -60
  221. package/src/argument/argumentPane.js +0 -65
  222. package/src/argument/argument_icon_v04.jpg +0 -0
  223. package/src/argument/icon_argument.png +0 -0
  224. package/src/argument/transparentyingyang.png +0 -0
  225. package/src/attach/attachPane.js +0 -508
  226. package/src/attach/tbl-paperclip-128.png +0 -0
  227. package/src/attach/tbl-paperclip-22.png +0 -0
  228. package/src/attach/tbl-paperclip-22a.png +0 -0
  229. package/src/audio/audioPane.js +0 -197
  230. package/src/chatPreferencesForm.ttl +0 -12
  231. package/src/classInstancePane.js +0 -110
  232. package/src/dashboard/basicPreferences.ts +0 -201
  233. package/src/dashboard/dashboardPane.ts +0 -83
  234. package/src/dashboard/homepage.ts +0 -72
  235. package/src/dashboard/languages/codes.html +0 -8611
  236. package/src/dashboard/languages/codes.xml +0 -3563
  237. package/src/dashboard/languages/codes2.txt +0 -170
  238. package/src/dashboard/languages/foo +0 -70
  239. package/src/dashboard/languages/foo.ttl +0 -0
  240. package/src/dashboard/languages/get-language-names.sh +0 -12
  241. package/src/dashboard/ontologyData.ttl +0 -35
  242. package/src/dashboard/preferencesFormText.ttl +0 -18
  243. package/src/dataContentPane.js +0 -290
  244. package/src/defaultPane.js +0 -102
  245. package/src/dokieli/Makefile +0 -6
  246. package/src/dokieli/dokieliPane.js +0 -190
  247. package/src/dokieli/new.html +0 -30
  248. package/src/form/form-22.png +0 -0
  249. package/src/form/form-b-22.png +0 -0
  250. package/src/form/form.graffle +0 -0
  251. package/src/form/form.png +0 -0
  252. package/src/form/pane.js +0 -217
  253. package/src/form/psuedocode-notes.txt +0 -57
  254. package/src/global.d.ts +0 -4
  255. package/src/home/homePane.ts +0 -72
  256. package/src/humanReadablePane.js +0 -150
  257. package/src/imagePane.js +0 -75
  258. package/src/index.ts +0 -71
  259. package/src/internal/internalPane.ts +0 -263
  260. package/src/mainPage/footer.ts +0 -19
  261. package/src/mainPage/header.ts +0 -79
  262. package/src/mainPage/index.ts +0 -20
  263. package/src/meeting/Makefile +0 -3
  264. package/src/meeting/test/meeting1/Actions/actions.ttl +0 -14
  265. package/src/meeting/test/meeting1/Actions/config.ttl +0 -16
  266. package/src/meeting/test/meeting1/Actions/state.ttl +0 -30
  267. package/src/meeting/test/meeting1/Schedule/details.ttl +0 -34
  268. package/src/meeting/test/meeting1/Schedule/details.ttl.acl +0 -20
  269. package/src/meeting/test/meeting1/Schedule/forms.ttl +0 -75
  270. package/src/meeting/test/meeting1/Schedule/forms.ttl.acl +0 -20
  271. package/src/meeting/test/meeting1/Schedule/index.html +0 -72
  272. package/src/meeting/test/meeting1/Schedule/index.html.acl +0 -20
  273. package/src/meeting/test/meeting1/Schedule/results.ttl +0 -15
  274. package/src/meeting/test/meeting1/Schedule/results.ttl.acl +0 -20
  275. package/src/meeting/test/meeting1/SharedNotes/pad.ttl +0 -23
  276. package/src/meeting/test/meeting1/chat/chat.ttl +0 -1
  277. package/src/meeting/test/meeting1/details.ttl +0 -35
  278. package/src/meeting/test/meeting1/pad/pad.ttl +0 -16
  279. package/src/microblogPane/mbStyle.css +0 -267
  280. package/src/microblogPane/microblogPane.js +0 -1412
  281. package/src/n3Pane.js +0 -56
  282. package/src/outline/context.ts +0 -21
  283. package/src/outline/manager.js +0 -2384
  284. package/src/outline/manager.test.ts +0 -189
  285. package/src/outline/outlineIcons.js +0 -160
  286. package/src/outline/propertyViews.test.ts +0 -36
  287. package/src/outline/propertyViews.ts +0 -37
  288. package/src/outline/queryByExample.js +0 -296
  289. package/src/outline/userInput.js +0 -2373
  290. package/src/outline/viewAsImage.ts +0 -12
  291. package/src/outline/viewAsMbox.ts +0 -14
  292. package/src/pad/images/ColourOff.ai +2 -872
  293. package/src/pad/images/ColourOff.png +0 -0
  294. package/src/pad/images/ColourOn.ai +1 -935
  295. package/src/pad/images/ColourOn.png +0 -0
  296. package/src/pad/padPane.ts +0 -559
  297. package/src/playlist/playlistPane.js +0 -161
  298. package/src/registerPanes.js +0 -147
  299. package/src/schedule/Makefile +0 -6
  300. package/src/schedule/formsForSchedule.js +0 -117
  301. package/src/schedule/formsForSchedule.ttl +0 -115
  302. package/src/schedule/schedulePane.js +0 -1201
  303. package/src/sharing/sharingPane.ts +0 -49
  304. package/src/slideshow/slideshowPane.js +0 -80
  305. package/src/socialPane.js +0 -523
  306. package/src/style/tabbedtab.css +0 -1347
  307. package/src/tabbed/tabbedPane.ts +0 -60
  308. package/src/tableViewPane.js +0 -51
  309. package/src/test-import-export/common.js +0 -6
  310. package/src/test-import-export/edit-importer.js +0 -20
  311. package/src/test-import-export/testImportExport.js +0 -0
  312. package/src/transaction/068010-3d-transparent-glass-icon-alphanumeric-dollar-sign.png +0 -0
  313. package/src/transaction/075988-3d-transparent-glass-icon-business-currency-british-pound-sc35.png +0 -0
  314. package/src/transaction/22-pixel-068010-3d-transparent-glass-icon-alphanumeric-dollar-sign.png +0 -0
  315. package/src/transaction/pane.js +0 -629
  316. package/src/transaction/period.js +0 -374
  317. package/src/transaction/thumbs_075987-3d-transparent-glass-icon-business-creditcard2.png +0 -0
  318. package/src/transaction/thumbs_075989-3d-transparent-glass-icon-business-currency-cent-sc35.png +0 -0
  319. package/src/trip/tripPane.js +0 -176
  320. package/src/trustedApplications/__snapshots__/trustedApplications.test.ts.snap +0 -176
  321. package/src/trustedApplications/trustedApplications.dom.ts +0 -276
  322. package/src/trustedApplications/trustedApplications.test.ts +0 -82
  323. package/src/trustedApplications/trustedApplications.utils.ts +0 -51
  324. package/src/trustedApplications/trustedApplications.view.ts +0 -80
  325. package/src/types.ts +0 -34
  326. package/src/ui/22-builder.png +0 -0
  327. package/src/ui/builder.graffle +0 -0
  328. package/src/ui/builder.png +0 -0
  329. package/src/ui/builder2.png +0 -0
  330. package/src/ui/pane.js +0 -226
  331. package/src/versionInfo.ts +0 -32
  332. package/src/video/videoPane.js +0 -44
  333. package/timestamp.sh +0 -13
  334. package/travis/bumpversion.js +0 -29
  335. package/tsconfig.json +0 -78
  336. package/typings/raw-loader.d.ts +0 -4
  337. package/typings/solid-namespace/index.d.ts +0 -9
  338. package/webpack.config.js +0 -41
  339. /package/{lib → dist}/dashboard/basicPreferences.d.ts +0 -0
  340. /package/{lib → dist}/dashboard/basicPreferences.d.ts.map +0 -0
  341. /package/{lib → dist}/dashboard/dashboardPane.d.ts +0 -0
  342. /package/{lib → dist}/dashboard/dashboardPane.d.ts.map +0 -0
  343. /package/{lib → dist}/dashboard/homepage.d.ts +0 -0
  344. /package/{lib → dist}/dashboard/homepage.d.ts.map +0 -0
  345. /package/{lib → dist}/global.d.js +0 -0
  346. /package/{lib → dist}/global.d.js.map +0 -0
  347. /package/{lib → dist}/home/homePane.d.ts +0 -0
  348. /package/{lib → dist}/home/homePane.d.ts.map +0 -0
  349. /package/{lib → dist}/index.d.ts +0 -0
  350. /package/{lib → dist}/index.d.ts.map +0 -0
  351. /package/{lib → dist}/internal/internalPane.d.ts +0 -0
  352. /package/{lib → dist}/internal/internalPane.d.ts.map +0 -0
  353. /package/{lib → dist}/mainPage/footer.d.ts +0 -0
  354. /package/{lib → dist}/mainPage/footer.d.ts.map +0 -0
  355. /package/{lib → dist}/mainPage/header.d.ts +0 -0
  356. /package/{lib → dist}/mainPage/header.d.ts.map +0 -0
  357. /package/{lib → dist}/mainPage/index.d.ts +0 -0
  358. /package/{lib → dist}/outline/context.d.ts +0 -0
  359. /package/{lib → dist}/outline/context.d.ts.map +0 -0
  360. /package/{lib → dist}/outline/propertyViews.d.ts +0 -0
  361. /package/{lib → dist}/outline/propertyViews.d.ts.map +0 -0
  362. /package/{lib → dist}/outline/viewAsImage.d.ts +0 -0
  363. /package/{lib → dist}/outline/viewAsImage.d.ts.map +0 -0
  364. /package/{lib → dist}/outline/viewAsMbox.d.ts +0 -0
  365. /package/{lib → dist}/outline/viewAsMbox.d.ts.map +0 -0
  366. /package/{lib → dist}/pad/padPane.d.ts +0 -0
  367. /package/{lib → dist}/pad/padPane.d.ts.map +0 -0
  368. /package/{lib → dist}/sharing/sharingPane.d.ts +0 -0
  369. /package/{lib → dist}/sharing/sharingPane.d.ts.map +0 -0
  370. /package/{lib → dist}/tabbed/tabbedPane.d.ts +0 -0
  371. /package/{lib → dist}/tabbed/tabbedPane.d.ts.map +0 -0
  372. /package/{lib → dist}/trustedApplications/trustedApplications.dom.d.ts +0 -0
  373. /package/{lib → dist}/trustedApplications/trustedApplications.dom.d.ts.map +0 -0
  374. /package/{lib → dist}/trustedApplications/trustedApplications.utils.d.ts +0 -0
  375. /package/{lib → dist}/trustedApplications/trustedApplications.utils.d.ts.map +0 -0
  376. /package/{lib → dist}/trustedApplications/trustedApplications.view.d.ts +0 -0
  377. /package/{lib → dist}/trustedApplications/trustedApplications.view.d.ts.map +0 -0
  378. /package/{lib → dist}/types.d.ts +0 -0
  379. /package/{lib → dist}/types.d.ts.map +0 -0
  380. /package/{lib → dist}/types.js +0 -0
Binary file
@@ -1,559 +0,0 @@
1
- import { icons, ns, pad, widgets, login } from 'solid-ui'
2
- import { authn, AppDetails } from 'solid-logic'
3
- import { graph, log, NamedNode, Namespace, sym, serialize, Store } from 'rdflib'
4
- import { PaneDefinition } from 'pane-registry'
5
- /* pad Pane
6
- **
7
- */
8
-
9
- const paneDef: PaneDefinition = {
10
- // icon: (module.__dirname || __dirname) + 'images/ColourOn.png',
11
- icon: icons.iconBase + 'noun_79217.svg',
12
-
13
- name: 'pad',
14
-
15
- audience: [ns.solid('PowerUser')],
16
-
17
- // Does the subject deserve an pad pane?
18
- label: function (subject, context) {
19
- const t = (context.session.store as Store).findTypeURIs(subject)
20
- if (t['http://www.w3.org/ns/pim/pad#Notepad']) {
21
- return 'pad'
22
- }
23
- return null // No under other circumstances
24
- },
25
-
26
- mintClass: ns.pad('Notepad'),
27
-
28
- mintNew: function (context, newPaneOptions: any) {
29
- const store = context.session.store as Store
30
- const updater = store.updater
31
- if (newPaneOptions.me && !newPaneOptions.me.uri) {
32
- throw new Error('notepad mintNew: Invalid userid')
33
- }
34
-
35
- const newInstance = (newPaneOptions.newInstance =
36
- newPaneOptions.newInstance ||
37
- store.sym(newPaneOptions.newBase + 'index.ttl#this'))
38
- // const newInstance = kb.sym(newBase + 'pad.ttl#thisPad');
39
- const newPadDoc = newInstance.doc()
40
-
41
- store.add(newInstance, ns.rdf('type'), ns.pad('Notepad'), newPadDoc)
42
- store.add(newInstance, ns.dc('title'), 'Shared Notes', newPadDoc)
43
- store.add(newInstance, ns.dc('created'), new Date() as any, newPadDoc) // @@ TODO Remove casting
44
- if (newPaneOptions.me) {
45
- store.add(newInstance, ns.dc('author'), newPaneOptions.me, newPadDoc)
46
- }
47
- // kb.add(newInstance, ns.pad('next'), newInstance, newPadDoc);
48
- // linked list empty @@
49
- const chunk = store.sym(newInstance.uri + '_line0')
50
- store.add(newInstance, ns.pad('next'), chunk, newPadDoc) // Linked list has one entry
51
- store.add(chunk, ns.pad('next'), newInstance, newPadDoc)
52
- store.add(chunk, ns.dc('author'), newPaneOptions.me, newPadDoc)
53
- store.add(chunk, ns.sioc('content'), '', newPadDoc)
54
-
55
- return new Promise(function (resolve, reject) {
56
- if (!updater) {
57
- reject(new Error('Have no updater'))
58
- return
59
- }
60
- updater.put(
61
- newPadDoc,
62
- store.statementsMatching(undefined, undefined, undefined, newPadDoc),
63
- 'text/turtle',
64
- function (uri2, ok, message) {
65
- if (ok) {
66
- resolve(newPaneOptions)
67
- } else {
68
- reject(
69
- new Error('FAILED to save new tool at: ' + uri2 + ' : ' + message)
70
- )
71
- }
72
- }
73
- )
74
- })
75
- },
76
- // and follow instructions there
77
- // @@ TODO Set better type for paneOptions
78
- render: function (subject, context, paneOptions: any) {
79
- const dom = context.dom
80
- const store = context.session.store as Store
81
- // Utility functions
82
- const complainIfBad = function (ok: boolean, message: string) {
83
- if (!ok) {
84
- div.appendChild(widgets.errorMessageBlock(dom, message, 'pink'))
85
- }
86
- }
87
-
88
- const clearElement = function (ele: HTMLElement) {
89
- while (ele.firstChild) {
90
- ele.removeChild(ele.firstChild)
91
- }
92
- return ele
93
- }
94
-
95
- // Access control
96
-
97
- // Two constiations of ACL for this app, public read and public read/write
98
- // In all cases owner has read write control
99
- const genACLtext = function (
100
- docURI: string,
101
- aclURI: string,
102
- allWrite: boolean
103
- ) {
104
- const g = graph()
105
- const auth = Namespace('http://www.w3.org/ns/auth/acl#')
106
- let a = g.sym(aclURI + '#a1')
107
- const acl = g.sym(aclURI)
108
- const doc = g.sym(docURI)
109
- g.add(a, ns.rdf('type'), auth('Authorization'), acl)
110
- g.add(a, auth('accessTo'), doc, acl)
111
- g.add(a, auth('agent'), me, acl)
112
- g.add(a, auth('mode'), auth('Read'), acl)
113
- g.add(a, auth('mode'), auth('Write'), acl)
114
- g.add(a, auth('mode'), auth('Control'), acl)
115
-
116
- a = g.sym(aclURI + '#a2')
117
- g.add(a, ns.rdf('type'), auth('Authorization'), acl)
118
- g.add(a, auth('accessTo'), doc, acl)
119
- g.add(a, auth('agentClass'), ns.foaf('Agent'), acl)
120
- g.add(a, auth('mode'), auth('Read'), acl)
121
- if (allWrite) {
122
- g.add(a, auth('mode'), auth('Write'), acl)
123
- }
124
- // TODO: Figure out why `serialize` isn't on the type definition according to TypeScript:
125
- return serialize(acl, g, aclURI, 'text/turtle')
126
- }
127
-
128
- /**
129
- * @param docURI
130
- * @param allWrite
131
- * @param callbackFunction
132
- *
133
- * @returns {Promise<Response>}
134
- */
135
- const setACL = function setACL (
136
- docURI: string,
137
- allWrite: boolean,
138
- callbackFunction: Function
139
- ) {
140
- const aclDoc = store.any(
141
- sym(docURI),
142
- sym('http://www.iana.org/assignments/link-relations/acl')
143
- ) as NamedNode // @@ check that this get set by web.js
144
- if (!fetcher) {
145
- throw new Error('Have no fetcher')
146
- }
147
- if (aclDoc) {
148
- // Great we already know where it is
149
- const aclText = genACLtext(docURI, aclDoc.uri, allWrite)
150
- return fetcher
151
- .webOperation('PUT', aclDoc.uri, {
152
- data: aclText,
153
- contentType: 'text/turtle'
154
- })
155
- .then(() => callbackFunction(true))
156
- .catch(err => {
157
- callbackFunction(false, err.message)
158
- })
159
- } else {
160
- return fetcher
161
- .load(docURI)
162
- .catch((err: Error) => {
163
- callbackFunction(false, 'Getting headers for ACL: ' + err)
164
- })
165
- .then(() => {
166
- const aclDoc = store.any(
167
- sym(docURI),
168
- sym('http://www.iana.org/assignments/link-relations/acl')
169
- ) as NamedNode
170
-
171
- if (!aclDoc) {
172
- // complainIfBad(false, "No Link rel=ACL header for " + docURI);
173
- throw new Error('No Link rel=ACL header for ' + docURI)
174
- }
175
-
176
- const aclText = genACLtext(docURI, aclDoc.uri, allWrite)
177
-
178
- return fetcher.webOperation('PUT', aclDoc.uri, {
179
- data: aclText,
180
- contentType: 'text/turtle'
181
- })
182
- })
183
- .then(() => callbackFunction(true))
184
- .catch(err => {
185
- callbackFunction(false, err.message)
186
- })
187
- }
188
- }
189
-
190
- // Reproduction: spawn a new instance
191
- //
192
- // Viral growth path: user of app decides to make another instance
193
- const newInstanceButton = function () {
194
- const button = div.appendChild(dom.createElement('button'))
195
- button.textContent = 'Start another pad'
196
- button.addEventListener('click', function () {
197
- return showBootstrap(subject, spawnArea, 'pad')
198
- })
199
- return button
200
- }
201
-
202
- // Option of either using the workspace system or just typing in a URI
203
- const showBootstrap = function showBootstrap (
204
- thisInstance: any,
205
- container: HTMLElement,
206
- noun: string
207
- ) {
208
- const div = clearElement(container)
209
- const appDetails = { noun: 'notepad' } as AppDetails
210
- div.appendChild(
211
- login.newAppInstance(dom, appDetails, (workspace: string | null, newBase) => {
212
- // FIXME: not sure if this will work at all, just
213
- // trying to get the types to match - Michiel.
214
- return initializeNewInstanceInWorkspace(new NamedNode(workspace || newBase))
215
- })
216
- )
217
-
218
- div.appendChild(dom.createElement('hr')) // @@
219
-
220
- const p = div.appendChild(dom.createElement('p'))
221
- p.textContent =
222
- 'Where would you like to store the data for the ' +
223
- noun +
224
- '? ' +
225
- 'Give the URL of the directory where you would like the data stored.'
226
- const baseField = div.appendChild(dom.createElement('input'))
227
- baseField.setAttribute('type', 'text')
228
- baseField.size = 80 // really a string
229
- ;(baseField as any).label = 'base URL'
230
- baseField.autocomplete = 'on'
231
-
232
- div.appendChild(dom.createElement('br')) // @@
233
-
234
- const button = div.appendChild(dom.createElement('button'))
235
- button.textContent = 'Start new ' + noun + ' at this URI'
236
- button.addEventListener('click', function (_e) {
237
- let newBase = baseField.value
238
- if (newBase.slice(-1) !== '/') {
239
- newBase += '/'
240
- }
241
- initializeNewInstanceAtBase(thisInstance, newBase)
242
- })
243
- }
244
-
245
- // Create new document files for new instance of app
246
- const initializeNewInstanceInWorkspace = function (ws: NamedNode) {
247
- // @@ TODO Clean up type for newBase
248
- let newBase: any = store.any(ws, ns.space('uriPrefix'))
249
- if (!newBase) {
250
- newBase = ws.uri.split('#')[0]
251
- } else {
252
- newBase = newBase.value
253
- }
254
- if (newBase.slice(-1) !== '/') {
255
- log.error(appPathSegment + ': No / at end of uriPrefix ' + newBase) // @@ paramater?
256
- newBase = newBase + '/'
257
- }
258
- const now = new Date()
259
- newBase += appPathSegment + '/id' + now.getTime() + '/' // unique id
260
-
261
- initializeNewInstanceAtBase(thisInstance, newBase)
262
- }
263
-
264
- const initializeNewInstanceAtBase = function (
265
- thisInstance: any,
266
- newBase: string
267
- ) {
268
- const here = sym(thisInstance.uri.split('#')[0])
269
- const base = here // @@ ???
270
-
271
- const newPadDoc = store.sym(newBase + 'pad.ttl')
272
- const newIndexDoc = store.sym(newBase + 'index.html')
273
-
274
- const toBeCopied = [{ local: 'index.html', contentType: 'text/html' }]
275
-
276
- const newInstance = store.sym(newPadDoc.uri + '#thisPad')
277
-
278
- // log.debug("\n Ready to put " + kb.statementsMatching(undefined, undefined, undefined, there)); //@@
279
-
280
- const agenda: Function[] = []
281
-
282
- let f // @@ This needs some form of visible progress bar
283
- for (f = 0; f < toBeCopied.length; f++) {
284
- const item = toBeCopied[f]
285
- const fun = function copyItem (item: any) {
286
- agenda.push(function () {
287
- const newURI = newBase + item.local
288
- console.log('Copying ' + base + item.local + ' to ' + newURI)
289
-
290
- const setThatACL = function () {
291
- setACL(newURI, false, function (ok: boolean, message: string) {
292
- if (!ok) {
293
- complainIfBad(
294
- ok,
295
- 'FAILED to set ACL ' + newURI + ' : ' + message
296
- )
297
- console.log('FAILED to set ACL ' + newURI + ' : ' + message)
298
- } else {
299
- agenda.shift()!() // beware too much nesting
300
- }
301
- })
302
- }
303
- if (!store.fetcher) {
304
- throw new Error('Store has no fetcher')
305
- }
306
- store.fetcher
307
- .webCopy(
308
- base + item.local,
309
- newBase + item.local,
310
- item.contentType
311
- )
312
- .then(() => authn.checkUser())
313
- .then(webId => {
314
- me = webId
315
-
316
- setThatACL()
317
- })
318
- .catch(err => {
319
- console.log(
320
- 'FAILED to copy ' + base + item.local + ' : ' + err.message
321
- )
322
- complainIfBad(
323
- false,
324
- 'FAILED to copy ' + base + item.local + ' : ' + err.message
325
- )
326
- })
327
- })
328
- }
329
- fun(item)
330
- }
331
-
332
- agenda.push(function createNewPadDataFile () {
333
- store.add(newInstance, ns.rdf('type'), PAD('Notepad'), newPadDoc)
334
-
335
- // TODO @@ Remove casting of add
336
- store.add(
337
- newInstance,
338
- ns.dc('created'),
339
- new Date() as any, // @@ TODO Remove casting
340
- newPadDoc
341
- )
342
- if (me) {
343
- store.add(newInstance, ns.dc('author'), me, newPadDoc)
344
- }
345
- store.add(newInstance, PAD('next'), newInstance, newPadDoc) // linked list empty
346
-
347
- // Keep a paper trail @@ Revisit when we have non-public ones @@ Privacy
348
- store.add(newInstance, ns.space('inspiration'), thisInstance, padDoc)
349
- store.add(newInstance, ns.space('inspiration'), thisInstance, newPadDoc)
350
- if (!updater) {
351
- throw new Error('Have no updater')
352
- }
353
- updater.put(
354
- newPadDoc,
355
- store.statementsMatching(undefined, undefined, undefined, newPadDoc),
356
- 'text/turtle',
357
- function (_uri2, ok, message) {
358
- if (ok) {
359
- agenda.shift()!()
360
- } else {
361
- complainIfBad(
362
- ok,
363
- 'FAILED to save new notepad at: ' +
364
- newPadDoc.uri +
365
- ' : ' +
366
- message
367
- )
368
- console.log(
369
- 'FAILED to save new notepad at: ' +
370
- newPadDoc.uri +
371
- ' : ' +
372
- message
373
- )
374
- }
375
- }
376
- )
377
- })
378
-
379
- agenda.push(function () {
380
- setACL(newPadDoc.uri, true, function (ok: boolean, body: string) {
381
- complainIfBad(
382
- ok,
383
- 'Failed to set Read-Write ACL on pad data file: ' + body
384
- )
385
- if (ok) agenda.shift()!()
386
- })
387
- })
388
-
389
- agenda.push(function () {
390
- // give the user links to the new app
391
-
392
- const p = div.appendChild(dom.createElement('p'))
393
- p.setAttribute('style', 'font-size: 140%;')
394
- p.innerHTML =
395
- "Your <a href='" +
396
- newIndexDoc.uri +
397
- "'><b>new notepad</b></a> is ready. " +
398
- "<br/><br/><a href='" +
399
- newIndexDoc.uri +
400
- "'>Go to new pad</a>"
401
- })
402
-
403
- agenda.shift()!()
404
- // Created new data files.
405
- }
406
-
407
- // Update on incoming changes
408
- const showResults = function (exists: boolean) {
409
- console.log('showResults()')
410
-
411
- me = authn.currentUser()
412
-
413
- authn.checkUser().then((webId: unknown) => {
414
- me = webId as string
415
- })
416
-
417
- const title =
418
- store.any(subject, ns.dc('title')) || store.any(subject, ns.vcard('fn'))
419
- if (paneOptions.solo && typeof window !== 'undefined' && title) {
420
- window.document.title = title.value
421
- }
422
- options.exists = exists
423
- padEle = pad.notepad(dom, padDoc, subject, me, options)
424
- naviMain.appendChild(padEle)
425
-
426
- const partipationTarget =
427
- store.any(subject, ns.meeting('parentMeeting')) || subject
428
- pad.manageParticipation(
429
- dom,
430
- naviMiddle2,
431
- padDoc,
432
- partipationTarget as any,
433
- me,
434
- options
435
- )
436
- if (!store.updater) {
437
- throw new Error('Store has no updater')
438
- }
439
-
440
- store.updater.setRefreshHandler(padDoc, padEle.reloadAndSync) // initiated =
441
- }
442
-
443
- // Read or create empty data file
444
- const loadPadData = function () {
445
- if (!fetcher) {
446
- throw new Error('Have no fetcher')
447
- }
448
- fetcher.nowOrWhenFetched(padDoc.uri, undefined, function (
449
- ok: boolean,
450
- body: string,
451
- response: any
452
- ) {
453
- if (!ok) {
454
- if (response.status === 404) {
455
- // / Check explicitly for 404 error
456
- console.log('Initializing results file ' + padDoc)
457
- if (!updater) {
458
- throw new Error('Have no updater')
459
- }
460
- updater.put(padDoc, [], 'text/turtle', function (
461
- _uri2,
462
- ok,
463
- message
464
- ) {
465
- if (ok) {
466
- clearElement(naviMain)
467
- showResults(false)
468
- } else {
469
- complainIfBad(
470
- ok,
471
- 'FAILED to create results file at: ' +
472
- padDoc.uri +
473
- ' : ' +
474
- message
475
- )
476
- console.log(
477
- 'FAILED to craete results file at: ' +
478
- padDoc.uri +
479
- ' : ' +
480
- message
481
- )
482
- }
483
- })
484
- } else {
485
- // Other error, not 404 -- do not try to overwite the file
486
- complainIfBad(ok, 'FAILED to read results file: ' + body)
487
- }
488
- } else {
489
- // Happy read
490
- clearElement(naviMain)
491
- if (store.holds(subject, ns.rdf('type'), ns.wf('TemplateInstance'))) {
492
- showBootstrap(subject, naviMain, 'pad')
493
- }
494
- showResults(true)
495
- naviMiddle3.appendChild(newInstanceButton())
496
- }
497
- })
498
- }
499
-
500
- // Body of Pane
501
- const appPathSegment = 'app-pad.timbl.com' // how to allocate this string and connect to
502
-
503
- const fetcher = store.fetcher
504
- const updater = store.updater
505
- let me: any
506
-
507
- const PAD = Namespace('http://www.w3.org/ns/pim/pad#')
508
-
509
- const thisInstance = subject
510
- const padDoc = subject.doc()
511
-
512
- let padEle
513
-
514
- const div = dom.createElement('div')
515
-
516
- // Build the DOM
517
- const structure = div.appendChild(dom.createElement('table')) // @@ make responsive style
518
- structure.setAttribute(
519
- 'style',
520
- 'background-color: white; min-width: 94%; margin-right:3% margin-left: 3%; min-height: 13em;'
521
- )
522
-
523
- const naviLoginoutTR = structure.appendChild(dom.createElement('tr'))
524
- naviLoginoutTR.appendChild(dom.createElement('td')) // naviLoginout1
525
- naviLoginoutTR.appendChild(dom.createElement('td'))
526
- naviLoginoutTR.appendChild(dom.createElement('td'))
527
-
528
- const naviTop = structure.appendChild(dom.createElement('tr')) // stuff
529
- const naviMain = naviTop.appendChild(dom.createElement('td'))
530
- naviMain.setAttribute('colspan', '3')
531
-
532
- const naviMiddle = structure.appendChild(dom.createElement('tr')) // controls
533
- const naviMiddle1 = naviMiddle.appendChild(dom.createElement('td'))
534
- const naviMiddle2 = naviMiddle.appendChild(dom.createElement('td'))
535
- const naviMiddle3 = naviMiddle.appendChild(dom.createElement('td'))
536
-
537
- const naviStatus = structure.appendChild(dom.createElement('tr')) // status etc
538
- const statusArea = naviStatus.appendChild(dom.createElement('div'))
539
-
540
- const naviSpawn = structure.appendChild(dom.createElement('tr')) // create new
541
- const spawnArea = naviSpawn.appendChild(dom.createElement('div'))
542
-
543
- const naviMenu = structure.appendChild(dom.createElement('tr'))
544
- naviMenu.setAttribute('class', 'naviMenu')
545
- // naviMenu.setAttribute('style', 'margin-top: 3em;');
546
- naviMenu.appendChild(dom.createElement('td')) // naviLeft
547
- naviMenu.appendChild(dom.createElement('td'))
548
- naviMenu.appendChild(dom.createElement('td'))
549
-
550
- const options: any = { statusArea: statusArea, timingArea: naviMiddle1 }
551
-
552
- loadPadData()
553
-
554
- return div
555
- }
556
- }
557
- // ends
558
-
559
- export default paneDef