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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dokieliPane.js","names":["UI","_interopRequireWildcard","require","$rdf","mime","_new","_interopRequireDefault","e","__esModule","t","WeakMap","r","n","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_default","exports","icon","icons","iconBase","name","mintClass","ns","solid","label","subject","context","kb","session","store","allowed","hasContentTypeIn","x","displayables","cts","fetcher","getHeader","j","length","k","indexOf","hasContentTypeIn2","findTypeURIs","Util","mediaTypeClass","uri","link","mintNew","newPaneOptions","newInstance","newBase","endsWith","slice","sym","contentType","lookup","includes","htmlContents","DOKIELI_TEMPLATE","filename","split","decodeURIComponent","encodedTitle","replace","Promise","resolve","webOperation","data","then","console","log","err","render","myDocument","dom","div","createElement","setAttribute","iframe","setIframeAttributes","blob","lines","objectURL","URL","createObjectURL","type","concat","_fetch","response","blobTextPromise","startsWith","text","blobText","_ref","newLines","Math","min","doc","ct","trim","tr","appendChild"],"sources":["../../src/dokieli/dokieliPane.js"],"sourcesContent":["/* Human-readable editable \"Dokieli\" Pane\n **\n ** This outline pane contains the document contents for a Dokieli document\n ** The dokeili system allows the user to edit a document including anotations\n ** review. It does not use turtle, but RDF/a\n */\n\nimport * as UI from 'solid-ui'\nimport * as $rdf from 'rdflib'\nimport * as mime from 'mime-types'\n\n// const DOKIELI_TEMPLATE_URI = 'https://dokie.li/new' // Copy to make new dok\n\nimport DOKIELI_TEMPLATE from './new.js' // Distributed with this library\n\nexport default {\n icon: UI.icons.iconBase + 'dokieli-logo.png', // @@ improve? more like doccument?\n\n name: 'Dokieli',\n\n mintClass: UI.ns.solid('DokieliDocument'), // @@ A better class?\n\n label: function (subject, context) {\n const kb = context.session.store\n const ns = UI.ns\n const allowed = [\n // 'text/plain',\n 'text/html',\n 'application/xhtml+xml'\n // 'image/png', 'image/jpeg', 'application/pdf',\n // 'video/mp4'\n ]\n\n const hasContentTypeIn = function (kb, x, displayables) {\n const cts = kb.fetcher.getHeader(x, 'content-type')\n if (cts) {\n for (let j = 0; j < cts.length; j++) {\n for (let k = 0; k < displayables.length; k++) {\n if (cts[j].indexOf(displayables[k]) >= 0) {\n return true\n }\n }\n }\n }\n return false\n }\n\n // This data coul d come from a fetch OR from ldp comtaimner\n const hasContentTypeIn2 = function (kb, x, displayables) {\n const t = kb.findTypeURIs(x)\n for (let k = 0; k < displayables.length; k++) {\n if ($rdf.Util.mediaTypeClass(displayables[k]).uri in t) {\n return true\n }\n }\n return false\n }\n\n if (!subject.uri) return null // no bnodes\n\n const t = kb.findTypeURIs(subject)\n if (t[ns.link('WebPage').uri]) return 'view'\n\n if (\n hasContentTypeIn(kb, subject, allowed) ||\n hasContentTypeIn2(kb, subject, allowed)\n ) {\n return 'Dok'\n }\n\n return null\n },\n\n // Create a new folder in a Solid system, with a dokieli editable document in it\n mintNew: function (context, newPaneOptions) {\n const kb = context.session.store\n let newInstance = newPaneOptions.newInstance\n if (!newInstance) {\n let uri = newPaneOptions.newBase\n if (uri.endsWith('/')) {\n uri = uri.slice(0, -1)\n newPaneOptions.newBase = uri\n }\n newInstance = kb.sym(uri)\n }\n\n const contentType = mime.lookup(newInstance.uri)\n if (!contentType || !contentType.includes('html')) {\n newInstance = $rdf.sym(newInstance.uri + '.html')\n }\n newPaneOptions.newInstance = newInstance // Save for creation system\n\n // console.log('New dokieli will make: ' + newInstance)\n\n let htmlContents = DOKIELI_TEMPLATE\n let filename = newInstance.uri.split('/').slice(-1)[0]\n filename = decodeURIComponent(filename.split('.')[0])\n const encodedTitle = filename\n .replace(/&/g, '&amp;')\n .replace(/</g, '&lt;')\n .replace(/>/g, '&gt;')\n htmlContents = htmlContents.replace('<title>', '<title>' + encodedTitle)\n htmlContents = htmlContents.replace(\n '</article>',\n '<h1>' + encodedTitle + '</h1></article>'\n )\n // console.log('@@ New HTML for Dok:' + htmlContents)\n return new Promise(function (resolve) {\n kb.fetcher\n .webOperation('PUT', newInstance.uri, {\n data: htmlContents,\n contentType: 'text/html'\n })\n .then(function () {\n console.log(\n 'new Dokieli document created at ' + newPaneOptions.newInstance\n )\n resolve(newPaneOptions)\n })\n .catch(function (err) {\n console.log(\n 'Error creating dokieli doc at ' +\n newPaneOptions.newInstance +\n ': ' +\n err\n )\n })\n })\n },\n\n // Derived from: humanReadablePane .. share code?\n render: function (subject, context) {\n const myDocument = context.dom\n const div = myDocument.createElement('div')\n const kb = context.session.store\n\n // @@ When we can, use CSP to turn off scripts within the iframe\n div.setAttribute('class', 'docView')\n const iframe = myDocument.createElement('IFRAME')\n\n // Function to set iframe attributes\n const setIframeAttributes = (iframe, blob, lines) => {\n const objectURL = URL.createObjectURL(blob)\n iframe.setAttribute('src', objectURL)\n iframe.setAttribute('type', blob.type)\n iframe.setAttribute('class', 'doc')\n iframe.setAttribute('style', `border: 1px solid; padding: 1em; height:${lines}em; width:800px; resize: both; overflow: auto;`)\n\n // Apply sandbox attribute only for HTML files\n // @@ NOte beflow - if we set ANY sandbox, then Chrome and Safari won't display it if it is PDF.\n // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe\n // You can;'t have any sandbox and allow plugins.\n // We could sandbox only HTML files I suppose.\n // HTML5 bug: https://lists.w3.org/Archives/Public/public-html/2011Jun/0330.html\n if (blob.type === 'text/html' || blob.type === 'application/xhtml+xml') {\n iframe.setAttribute('sandbox', 'allow-scripts allow-same-origin')\n }\n }\n\n // Fetch and process the blob\n kb.fetcher._fetch(subject.uri)\n .then(response => response.blob())\n .then(blob => {\n const blobTextPromise = blob.type.startsWith('text') ? blob.text() : Promise.resolve('')\n return blobTextPromise.then(blobText => ({ blob, blobText }))\n })\n .then(({ blob, blobText }) => {\n const newLines = blobText.includes('<script src=\"https://dokie.li/scripts/dokieli.js\">') ? -10 : 5\n const lines = Math.min(30, blobText.split(/\\n/).length + newLines)\n setIframeAttributes(iframe, blob, lines)\n })\n .catch(err => {\n console.log('Error fetching or processing blob:', err)\n })\n\n const cts = kb.fetcher.getHeader(subject.doc(), 'content-type')\n const ct = cts ? cts[0].split(';', 1)[0].trim() : null\n if (ct) {\n console.log('dokieliPane: c-t:' + ct)\n } else {\n console.log('dokieliPane: unknown content-type?')\n }\n\n const tr = myDocument.createElement('tr')\n tr.appendChild(iframe)\n div.appendChild(tr)\n return div\n }\n}\n// ends\n"],"mappings":";;;;;;;AAOA,IAAAA,EAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAF,uBAAA,CAAAC,OAAA;AACA,IAAAE,IAAA,GAAAH,uBAAA,CAAAC,OAAA;AAIA,IAAAG,IAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAAuC,SAAAI,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,gBAAAA,CAAA;AAAA,SAAAN,wBAAAM,CAAA,EAAAE,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAT,uBAAA,YAAAA,wBAAAM,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,mBAAAT,CAAA,iBAAAA,CAAA,gBAAAU,OAAA,CAAAV,CAAA,0BAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,cAAAM,EAAA,IAAAd,CAAA,gBAAAc,EAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,EAAA,OAAAP,CAAA,IAAAD,CAAA,GAAAW,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAnB,CAAA,EAAAc,EAAA,OAAAP,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAM,EAAA,EAAAP,CAAA,IAAAC,CAAA,CAAAM,EAAA,IAAAd,CAAA,CAAAc,EAAA,WAAAN,CAAA,KAAAR,CAAA,EAAAE,CAAA;AAbvC;AACA;AACA;AACA;AACA;AACA;AAMA;AAEwC;AAAA,IAAAkB,QAAA,GAAAC,OAAA,cAEzB;EACbC,IAAI,EAAE7B,EAAE,CAAC8B,KAAK,CAACC,QAAQ,GAAG,kBAAkB;EAAE;;EAE9CC,IAAI,EAAE,SAAS;EAEfC,SAAS,EAAEjC,EAAE,CAACkC,EAAE,CAACC,KAAK,CAAC,iBAAiB,CAAC;EAAE;;EAE3CC,KAAK,EAAE,SAAPA,KAAKA,CAAYC,OAAO,EAAEC,OAAO,EAAE;IACjC,IAAMC,EAAE,GAAGD,OAAO,CAACE,OAAO,CAACC,KAAK;IAChC,IAAMP,EAAE,GAAGlC,EAAE,CAACkC,EAAE;IAChB,IAAMQ,OAAO,GAAG;IACd;IACA,WAAW,EACX;IACA;IACA;IAAA,CACD;IAED,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAaJ,EAAE,EAAEK,CAAC,EAAEC,YAAY,EAAE;MACtD,IAAMC,GAAG,GAAGP,EAAE,CAACQ,OAAO,CAACC,SAAS,CAACJ,CAAC,EAAE,cAAc,CAAC;MACnD,IAAIE,GAAG,EAAE;QACP,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,GAAG,CAACI,MAAM,EAAED,CAAC,EAAE,EAAE;UACnC,KAAK,IAAIE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGN,YAAY,CAACK,MAAM,EAAEC,CAAC,EAAE,EAAE;YAC5C,IAAIL,GAAG,CAACG,CAAC,CAAC,CAACG,OAAO,CAACP,YAAY,CAACM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;cACxC,OAAO,IAAI;YACb;UACF;QACF;MACF;MACA,OAAO,KAAK;IACd,CAAC;;IAED;IACA,IAAME,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAad,EAAE,EAAEK,CAAC,EAAEC,YAAY,EAAE;MACvD,IAAMpC,CAAC,GAAG8B,EAAE,CAACe,YAAY,CAACV,CAAC,CAAC;MAC5B,KAAK,IAAIO,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGN,YAAY,CAACK,MAAM,EAAEC,CAAC,EAAE,EAAE;QAC5C,IAAIhD,IAAI,CAACoD,IAAI,CAACC,cAAc,CAACX,YAAY,CAACM,CAAC,CAAC,CAAC,CAACM,GAAG,IAAIhD,CAAC,EAAE;UACtD,OAAO,IAAI;QACb;MACF;MACA,OAAO,KAAK;IACd,CAAC;IAED,IAAI,CAAC4B,OAAO,CAACoB,GAAG,EAAE,OAAO,IAAI,EAAC;;IAE9B,IAAMhD,CAAC,GAAG8B,EAAE,CAACe,YAAY,CAACjB,OAAO,CAAC;IAClC,IAAI5B,CAAC,CAACyB,EAAE,CAACwB,IAAI,CAAC,SAAS,CAAC,CAACD,GAAG,CAAC,EAAE,OAAO,MAAM;IAE5C,IACEd,gBAAgB,CAACJ,EAAE,EAAEF,OAAO,EAAEK,OAAO,CAAC,IACtCW,iBAAiB,CAACd,EAAE,EAAEF,OAAO,EAAEK,OAAO,CAAC,EACvC;MACA,OAAO,KAAK;IACd;IAEA,OAAO,IAAI;EACb,CAAC;EAED;EACAiB,OAAO,EAAE,SAATA,OAAOA,CAAYrB,OAAO,EAAEsB,cAAc,EAAE;IAC1C,IAAMrB,EAAE,GAAGD,OAAO,CAACE,OAAO,CAACC,KAAK;IAChC,IAAIoB,WAAW,GAAGD,cAAc,CAACC,WAAW;IAC5C,IAAI,CAACA,WAAW,EAAE;MAChB,IAAIJ,GAAG,GAAGG,cAAc,CAACE,OAAO;MAChC,IAAIL,GAAG,CAACM,QAAQ,CAAC,GAAG,CAAC,EAAE;QACrBN,GAAG,GAAGA,GAAG,CAACO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtBJ,cAAc,CAACE,OAAO,GAAGL,GAAG;MAC9B;MACAI,WAAW,GAAGtB,EAAE,CAAC0B,GAAG,CAACR,GAAG,CAAC;IAC3B;IAEA,IAAMS,WAAW,GAAG9D,IAAI,CAAC+D,MAAM,CAACN,WAAW,CAACJ,GAAG,CAAC;IAChD,IAAI,CAACS,WAAW,IAAI,CAACA,WAAW,CAACE,QAAQ,CAAC,MAAM,CAAC,EAAE;MACjDP,WAAW,GAAG1D,IAAI,CAAC8D,GAAG,CAACJ,WAAW,CAACJ,GAAG,GAAG,OAAO,CAAC;IACnD;IACAG,cAAc,CAACC,WAAW,GAAGA,WAAW,EAAC;;IAEzC;;IAEA,IAAIQ,YAAY,GAAGC,eAAgB;IACnC,IAAIC,QAAQ,GAAGV,WAAW,CAACJ,GAAG,CAACe,KAAK,CAAC,GAAG,CAAC,CAACR,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtDO,QAAQ,GAAGE,kBAAkB,CAACF,QAAQ,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,IAAME,YAAY,GAAGH,QAAQ,CAC1BI,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CACtBA,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CACrBA,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;IACxBN,YAAY,GAAGA,YAAY,CAACM,OAAO,CAAC,SAAS,EAAE,SAAS,GAAGD,YAAY,CAAC;IACxEL,YAAY,GAAGA,YAAY,CAACM,OAAO,CACjC,YAAY,EACZ,MAAM,GAAGD,YAAY,GAAG,iBAC1B,CAAC;IACD;IACA,OAAO,IAAIE,OAAO,CAAC,UAAUC,OAAO,EAAE;MACpCtC,EAAE,CAACQ,OAAO,CACP+B,YAAY,CAAC,KAAK,EAAEjB,WAAW,CAACJ,GAAG,EAAE;QACpCsB,IAAI,EAAEV,YAAY;QAClBH,WAAW,EAAE;MACf,CAAC,CAAC,CACDc,IAAI,CAAC,YAAY;QAChBC,OAAO,CAACC,GAAG,CACT,kCAAkC,GAAGtB,cAAc,CAACC,WACtD,CAAC;QACDgB,OAAO,CAACjB,cAAc,CAAC;MACzB,CAAC,CAAC,SACI,CAAC,UAAUuB,GAAG,EAAE;QACpBF,OAAO,CAACC,GAAG,CACT,gCAAgC,GAC9BtB,cAAc,CAACC,WAAW,GAC1B,IAAI,GACJsB,GACJ,CAAC;MACH,CAAC,CAAC;IACN,CAAC,CAAC;EACJ,CAAC;EAED;EACAC,MAAM,EAAE,SAARA,MAAMA,CAAY/C,OAAO,EAAEC,OAAO,EAAE;IAClC,IAAM+C,UAAU,GAAG/C,OAAO,CAACgD,GAAG;IAC9B,IAAMC,GAAG,GAAGF,UAAU,CAACG,aAAa,CAAC,KAAK,CAAC;IAC3C,IAAMjD,EAAE,GAAGD,OAAO,CAACE,OAAO,CAACC,KAAK;;IAEhC;IACA8C,GAAG,CAACE,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC;IACpC,IAAMC,MAAM,GAAGL,UAAU,CAACG,aAAa,CAAC,QAAQ,CAAC;;IAEjD;IACA,IAAMG,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAID,MAAM,EAAEE,IAAI,EAAEC,KAAK,EAAK;MACnD,IAAMC,SAAS,GAAGC,GAAG,CAACC,eAAe,CAACJ,IAAI,CAAC;MAC3CF,MAAM,CAACD,YAAY,CAAC,KAAK,EAAEK,SAAS,CAAC;MACrCJ,MAAM,CAACD,YAAY,CAAC,MAAM,EAAEG,IAAI,CAACK,IAAI,CAAC;MACtCP,MAAM,CAACD,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC;MACnCC,MAAM,CAACD,YAAY,CAAC,OAAO,6CAAAS,MAAA,CAA6CL,KAAK,mDAAgD,CAAC;;MAE9H;MACA;MACA;MACA;MACA;MACA;MACA,IAAID,IAAI,CAACK,IAAI,KAAK,WAAW,IAAIL,IAAI,CAACK,IAAI,KAAK,uBAAuB,EAAE;QACtEP,MAAM,CAACD,YAAY,CAAC,SAAS,EAAE,iCAAiC,CAAC;MACnE;IACF,CAAC;;IAED;IACAlD,EAAE,CAACQ,OAAO,CAACoD,MAAM,CAAC9D,OAAO,CAACoB,GAAG,CAAC,CAC3BuB,IAAI,CAAC,UAAAoB,QAAQ;MAAA,OAAIA,QAAQ,CAACR,IAAI,CAAC,CAAC;IAAA,EAAC,CACjCZ,IAAI,CAAC,UAAAY,IAAI,EAAI;MACZ,IAAMS,eAAe,GAAGT,IAAI,CAACK,IAAI,CAACK,UAAU,CAAC,MAAM,CAAC,GAAGV,IAAI,CAACW,IAAI,CAAC,CAAC,GAAG3B,OAAO,CAACC,OAAO,CAAC,EAAE,CAAC;MACxF,OAAOwB,eAAe,CAACrB,IAAI,CAAC,UAAAwB,QAAQ;QAAA,OAAK;UAAEZ,IAAI,EAAJA,IAAI;UAAEY,QAAQ,EAARA;QAAS,CAAC;MAAA,CAAC,CAAC;IAC/D,CAAC,CAAC,CACDxB,IAAI,CAAC,UAAAyB,IAAA,EAAwB;MAAA,IAArBb,IAAI,GAAAa,IAAA,CAAJb,IAAI;QAAEY,QAAQ,GAAAC,IAAA,CAARD,QAAQ;MACrB,IAAME,QAAQ,GAAGF,QAAQ,CAACpC,QAAQ,CAAC,oDAAoD,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC;MAClG,IAAMyB,KAAK,GAAGc,IAAI,CAACC,GAAG,CAAC,EAAE,EAAEJ,QAAQ,CAAChC,KAAK,CAAC,IAAI,CAAC,CAACtB,MAAM,GAAGwD,QAAQ,CAAC;MAClEf,mBAAmB,CAACD,MAAM,EAAEE,IAAI,EAAEC,KAAK,CAAC;IAC1C,CAAC,CAAC,SACI,CAAC,UAAAV,GAAG,EAAI;MACZF,OAAO,CAACC,GAAG,CAAC,oCAAoC,EAAEC,GAAG,CAAC;IACxD,CAAC,CAAC;IAEJ,IAAMrC,GAAG,GAAGP,EAAE,CAACQ,OAAO,CAACC,SAAS,CAACX,OAAO,CAACwE,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC;IAC/D,IAAMC,EAAE,GAAGhE,GAAG,GAAGA,GAAG,CAAC,CAAC,CAAC,CAAC0B,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAACuC,IAAI,CAAC,CAAC,GAAG,IAAI;IACtD,IAAID,EAAE,EAAE;MACN7B,OAAO,CAACC,GAAG,CAAC,mBAAmB,GAAG4B,EAAE,CAAC;IACvC,CAAC,MAAM;MACL7B,OAAO,CAACC,GAAG,CAAC,oCAAoC,CAAC;IACnD;IAED,IAAM8B,EAAE,GAAG3B,UAAU,CAACG,aAAa,CAAC,IAAI,CAAC;IACxCwB,EAAE,CAACC,WAAW,CAACvB,MAAM,CAAC;IACtBH,GAAG,CAAC0B,WAAW,CAACD,EAAE,CAAC;IACnB,OAAOzB,GAAG;EACZ;AACF,CAAC,EACD","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var DOKIELI_TEMPLATE = "\n<!DOCTYPE html>\n<html lang=\"en\" xml:lang=\"en\" xmlns=\"http://www.w3.org/1999/xhtml\">\n <head>\n <meta charset=\"utf-8\" />\n <title></title>\n <meta content=\"width=device-width, initial-scale=1\" name=\"viewport\" />\n <link href=\"https://dokie.li/media/css/basic.css\" media=\"all\" rel=\"stylesheet\" title=\"Basic\" />\n <link href=\"https://dokie.li/media/css/dokieli.css\" media=\"all\" rel=\"stylesheet\" />\n <script src=\"https://dokie.li/scripts/dokieli.js\"></script>\n </head>\n\n <body about=\"\" prefix=\"rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# rdfs: http://www.w3.org/2000/01/rdf-schema# owl: http://www.w3.org/2002/07/owl# xsd: http://www.w3.org/2001/XMLSchema# rdfa: http://www.w3.org/ns/rdfa# dcterms: http://purl.org/dc/terms/ dctypes: http://purl.org/dc/dcmitype/ foaf: http://xmlns.com/foaf/0.1/ pimspace: http://www.w3.org/ns/pim/space# skos: http://www.w3.org/2004/02/skos/core# prov: http://www.w3.org/ns/prov# mem: http://mementoweb.org/ns# qb: http://purl.org/linked-data/cube# schema: http://schema.org/ void: http://rdfs.org/ns/void# rsa: http://www.w3.org/ns/auth/rsa# cert: http://www.w3.org/ns/auth/cert# wgs: http://www.w3.org/2003/01/geo/wgs84_pos# bibo: http://purl.org/ontology/bibo/ sioc: http://rdfs.org/sioc/ns# doap: http://usefulinc.com/ns/doap# dbr: http://dbpedia.org/resource/ dbp: http://dbpedia.org/property/ sio: http://semanticscience.org/resource/ opmw: http://www.opmw.org/ontology/ deo: http://purl.org/spar/deo/ doco: http://purl.org/spar/doco/ cito: http://purl.org/spar/cito/ fabio: http://purl.org/spar/fabio/ oa: http://www.w3.org/ns/oa# as: https://www.w3.org/ns/activitystreams# ldp: http://www.w3.org/ns/ldp# solid: http://www.w3.org/ns/solid/terms# acl: http://www.w3.org/ns/auth/acl# earl: http://www.w3.org/ns/earl# spec: http://www.w3.org/ns/spec# odrl: http://www.w3.org/ns/odrl/2/ dio: https://w3id.org/dio# rel: https://www.w3.org/ns/iana/link-relations/relation#\" typeof=\"schema:CreativeWork prov:Entity\">\n <main>\n <article about=\"\" typeof=\"schema:Article\">\n\n </article>\n </main>\n </body>\n</html>";
8
+ var _default = exports["default"] = DOKIELI_TEMPLATE;
9
+ //# sourceMappingURL=new.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new.js","names":["DOKIELI_TEMPLATE","_default","exports"],"sources":["../../src/dokieli/new.js"],"sourcesContent":["const DOKIELI_TEMPLATE = `\n<!DOCTYPE html>\n<html lang=\"en\" xml:lang=\"en\" xmlns=\"http://www.w3.org/1999/xhtml\">\n <head>\n <meta charset=\"utf-8\" />\n <title></title>\n <meta content=\"width=device-width, initial-scale=1\" name=\"viewport\" />\n <link href=\"https://dokie.li/media/css/basic.css\" media=\"all\" rel=\"stylesheet\" title=\"Basic\" />\n <link href=\"https://dokie.li/media/css/dokieli.css\" media=\"all\" rel=\"stylesheet\" />\n <script src=\"https://dokie.li/scripts/dokieli.js\"></script>\n </head>\n\n <body about=\"\" prefix=\"rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# rdfs: http://www.w3.org/2000/01/rdf-schema# owl: http://www.w3.org/2002/07/owl# xsd: http://www.w3.org/2001/XMLSchema# rdfa: http://www.w3.org/ns/rdfa# dcterms: http://purl.org/dc/terms/ dctypes: http://purl.org/dc/dcmitype/ foaf: http://xmlns.com/foaf/0.1/ pimspace: http://www.w3.org/ns/pim/space# skos: http://www.w3.org/2004/02/skos/core# prov: http://www.w3.org/ns/prov# mem: http://mementoweb.org/ns# qb: http://purl.org/linked-data/cube# schema: http://schema.org/ void: http://rdfs.org/ns/void# rsa: http://www.w3.org/ns/auth/rsa# cert: http://www.w3.org/ns/auth/cert# wgs: http://www.w3.org/2003/01/geo/wgs84_pos# bibo: http://purl.org/ontology/bibo/ sioc: http://rdfs.org/sioc/ns# doap: http://usefulinc.com/ns/doap# dbr: http://dbpedia.org/resource/ dbp: http://dbpedia.org/property/ sio: http://semanticscience.org/resource/ opmw: http://www.opmw.org/ontology/ deo: http://purl.org/spar/deo/ doco: http://purl.org/spar/doco/ cito: http://purl.org/spar/cito/ fabio: http://purl.org/spar/fabio/ oa: http://www.w3.org/ns/oa# as: https://www.w3.org/ns/activitystreams# ldp: http://www.w3.org/ns/ldp# solid: http://www.w3.org/ns/solid/terms# acl: http://www.w3.org/ns/auth/acl# earl: http://www.w3.org/ns/earl# spec: http://www.w3.org/ns/spec# odrl: http://www.w3.org/ns/odrl/2/ dio: https://w3id.org/dio# rel: https://www.w3.org/ns/iana/link-relations/relation#\" typeof=\"schema:CreativeWork prov:Entity\">\n <main>\n <article about=\"\" typeof=\"schema:Article\">\n\n </article>\n </main>\n </body>\n</html>`\n\nexport default DOKIELI_TEMPLATE\n"],"mappings":";;;;;;AAAA,IAAMA,gBAAgB,ylEAmBd;AAAA,IAAAC,QAAA,GAAAC,OAAA,cAEOF,gBAAgB","ignoreList":[]}
@@ -1,5 +1,6 @@
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
  });
@@ -7,37 +8,37 @@ exports.formPane = void 0;
7
8
  var UI = _interopRequireWildcard(require("solid-ui"));
8
9
  var _solidLogic = require("solid-logic");
9
10
  var $rdf = _interopRequireWildcard(require("rdflib"));
10
- 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); }
11
+ 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); }
11
12
  /*
12
13
  ** Pane for running existing forms for any object
13
14
  **
14
15
  */
15
16
 
16
- const ns = UI.ns;
17
- const formPane = exports.formPane = {
17
+ var ns = UI.ns;
18
+ var formPane = exports.formPane = {
18
19
  icon: UI.icons.iconBase + 'noun_122196.svg',
19
20
  name: 'form',
20
21
  audience: [ns.solid('PowerUser')],
21
22
  // Does the subject deserve this pane?
22
- label: function (subject) {
23
- const n = UI.widgets.formsFor(subject).length;
23
+ label: function label(subject) {
24
+ var n = UI.widgets.formsFor(subject).length;
24
25
  UI.log.debug('Form pane: forms for ' + subject + ': ' + n);
25
26
  if (!n) return null;
26
27
  return '' + n + ' forms';
27
28
  },
28
- render: function (subject, context) {
29
- const kb = context.session.store;
30
- const dom = context.dom;
31
- const mention = function complain(message, style) {
32
- const pre = dom.createElement('p');
29
+ render: function render(subject, context) {
30
+ var kb = context.session.store;
31
+ var dom = context.dom;
32
+ var mention = function complain(message, style) {
33
+ var pre = dom.createElement('p');
33
34
  pre.setAttribute('style', style || 'color: grey; background-color: white');
34
35
  box.appendChild(pre).textContent = message;
35
36
  return pre;
36
37
  };
37
- const complain = function complain(message, style) {
38
+ var complain = function complain(message, style) {
38
39
  mention(message, 'style', style || 'color: grey; background-color: #fdd;');
39
40
  };
40
- const complainIfBad = function (ok, body) {
41
+ var complainIfBad = function complainIfBad(ok, body) {
41
42
  if (ok) {
42
43
  // setModifiedDate(store, kb, store);
43
44
  // rerender(box); // Deleted forms at the moment
@@ -50,15 +51,15 @@ const formPane = exports.formPane = {
50
51
 
51
52
  // const t = kb.findTypeURIs(subject)
52
53
 
53
- const me = _solidLogic.authn.currentUser();
54
- const box = dom.createElement('div');
54
+ var me = _solidLogic.authn.currentUser();
55
+ var box = dom.createElement('div');
55
56
  box.setAttribute('class', 'formPane');
56
57
  if (!me) {
57
58
  mention('You are not logged in. If you log in and have ' + 'workspaces then you would be able to select workspace in which ' + 'to put this new information');
58
59
  } else {
59
- const ws = kb.each(me, ns.ui('workspace'));
60
+ var ws = kb.each(me, ns.ui('workspace'));
60
61
  if (ws.length === 0) {
61
- mention('You don\'t seem to have any workspaces defined. ' + 'A workspace is a place on the web (http://..) or in ' + 'the file system (file:///) to store application data.\n');
62
+ mention("You don't seem to have any workspaces defined. " + 'A workspace is a place on the web (http://..) or in ' + 'the file system (file:///) to store application data.\n');
62
63
  } else {
63
64
  // @@
64
65
  }
@@ -66,28 +67,28 @@ const formPane = exports.formPane = {
66
67
 
67
68
  // Render forms using a given store
68
69
 
69
- const renderFormsFor = function (store, subject) {
70
+ var renderFormsFor = function renderFormsFor(store, subject) {
70
71
  kb.fetcher.nowOrWhenFetched(store.uri, subject, function (ok, body) {
71
72
  if (!ok) return complain('Cannot load store ' + store.uri + ': ' + body);
72
73
 
73
74
  // Render the forms
74
75
 
75
- const forms = UI.widgets.formsFor(subject);
76
+ var forms = UI.widgets.formsFor(subject);
76
77
 
77
78
  // complain('Form for editing this form:');
78
- for (let i = 0; i < forms.length; i++) {
79
- const form = forms[i];
80
- const heading = dom.createElement('h4');
79
+ for (var i = 0; i < forms.length; i++) {
80
+ var form = forms[i];
81
+ var heading = dom.createElement('h4');
81
82
  box.appendChild(heading);
82
83
  if (form.uri) {
83
- const formStore = $rdf.Util.uri.document(form.uri);
84
+ var formStore = $rdf.Util.uri.document(form.uri);
84
85
  if (formStore.uri !== form.uri) {
85
86
  // The form is a hash-type URI
86
- const e = box.appendChild(UI.widgets.editFormButton(dom, box, form, formStore, complainIfBad));
87
+ var e = box.appendChild(UI.widgets.editFormButton(dom, box, form, formStore, complainIfBad));
87
88
  e.setAttribute('style', 'float: right;');
88
89
  }
89
90
  }
90
- const anchor = dom.createElement('a');
91
+ var anchor = dom.createElement('a');
91
92
  anchor.setAttribute('href', form.uri);
92
93
  heading.appendChild(anchor);
93
94
  anchor.textContent = UI.utils.label(form, true);
@@ -112,10 +113,10 @@ const formPane = exports.formPane = {
112
113
 
113
114
  // Which places are editable and have stuff about the subject?
114
115
 
115
- let store = null;
116
+ var store = null;
116
117
 
117
118
  // 1. The document URI of the subject itself
118
- const docuri = $rdf.Util.uri.docpart(subject.uri);
119
+ var docuri = $rdf.Util.uri.docpart(subject.uri);
119
120
  if (subject.uri !== docuri && kb.updater.editable(docuri, kb)) {
120
121
  store = subject.doc();
121
122
  } // an editable data file with hash
@@ -124,18 +125,18 @@ const formPane = exports.formPane = {
124
125
 
125
126
  // 2. where stuff is already stored
126
127
  if (!store) {
127
- const docs = {};
128
- const docList = [];
128
+ var docs = {};
129
+ var docList = [];
129
130
  store.statementsMatching(subject).forEach(function (st) {
130
131
  docs[st.why.uri] = 1;
131
132
  });
132
133
  store.statementsMatching(undefined, undefined, subject).forEach(function (st) {
133
134
  docs[st.why.uri] = 2;
134
135
  });
135
- for (const d in docs) docList.push(docs[d], d);
136
+ for (var d in docs) docList.push(docs[d], d);
136
137
  docList.sort();
137
- for (let i = 0; i < docList.length; i++) {
138
- const uri = docList[i][1];
138
+ for (var i = 0; i < docList.length; i++) {
139
+ var uri = docList[i][1];
139
140
  if (uri && store.updater.editable(uri)) {
140
141
  store = store.sym(uri);
141
142
  break;
@@ -145,30 +146,30 @@ const formPane = exports.formPane = {
145
146
 
146
147
  // 3. In a workspace store
147
148
  // @@ TODO: Can probably remove _followeach (not done this time because the commit is a very safe refactor)
148
- const _followeach = function (kb, subject, path) {
149
+ var _followeach2 = function _followeach(kb, subject, path) {
149
150
  if (path.length === 0) return [subject];
150
- const oo = kb.each(subject, path[0]);
151
- let res = [];
152
- for (let i = 0; i < oo.length; i++) {
153
- res = res.concat(_followeach(kb, oo[i], path.slice(1)));
151
+ var oo = kb.each(subject, path[0]);
152
+ var res = [];
153
+ for (var _i = 0; _i < oo.length; _i++) {
154
+ res = res.concat(_followeach2(kb, oo[_i], path.slice(1)));
154
155
  }
155
156
  return res;
156
157
  };
157
- const date = '2014'; // @@@@@@@@@@@@ pass as parameter
158
+ var date = '2014'; // @@@@@@@@@@@@ pass as parameter
158
159
 
159
160
  if (store) {
160
161
  // mention("@@ Ok, we have a store <" + store.uri + ">.");
161
162
  renderFormsFor(store, subject);
162
163
  } else {
163
164
  complain('No suitable store is known, to edit <' + subject.uri + '>.');
164
- const foobarbaz = UI.login.selectWorkspace(dom, function (ws) {
165
+ var foobarbaz = UI.login.selectWorkspace(dom, function (ws) {
165
166
  mention('Workspace selected OK: ' + ws);
166
- const activities = store.each(undefined, ns.space('workspace'), ws);
167
- for (let j = 0; j < activities.length; j++) {
168
- const act = activities[j];
169
- const subjectDoc2 = store.any(ws, ns.space('store'));
170
- const start = store.any(ws, ns.cal('dtstart')).value();
171
- const end = store.any(ws, ns.cal('dtend')).value();
167
+ var activities = store.each(undefined, ns.space('workspace'), ws);
168
+ for (var j = 0; j < activities.length; j++) {
169
+ var act = activities[j];
170
+ var subjectDoc2 = store.any(ws, ns.space('store'));
171
+ var start = store.any(ws, ns.cal('dtstart')).value();
172
+ var end = store.any(ws, ns.cal('dtend')).value();
172
173
  if (subjectDoc2 && start && end && start <= date && end > date) {
173
174
  renderFormsFor(subjectDoc2, subject);
174
175
  break;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pane.js","names":["UI","_interopRequireWildcard","require","_solidLogic","$rdf","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ns","formPane","exports","icon","icons","iconBase","name","audience","solid","label","subject","widgets","formsFor","length","log","debug","render","context","kb","session","store","dom","mention","complain","message","style","pre","createElement","setAttribute","box","appendChild","textContent","complainIfBad","ok","body","me","authn","currentUser","ws","each","ui","renderFormsFor","fetcher","nowOrWhenFetched","uri","forms","form","heading","formStore","Util","document","editFormButton","anchor","utils","appendForm","docuri","docpart","updater","editable","doc","any","sym","link","docs","docList","statementsMatching","forEach","st","why","undefined","d","push","sort","_followeach","path","oo","res","concat","slice","date","foobarbaz","login","selectWorkspace","activities","space","j","act","subjectDoc2","start","cal","value","end"],"sources":["../../src/form/pane.js"],"sourcesContent":["/*\n ** Pane for running existing forms for any object\n **\n */\n\nimport * as UI from 'solid-ui'\nimport { authn } from 'solid-logic'\nimport * as $rdf from 'rdflib'\nconst ns = UI.ns\n\nexport const formPane = {\n icon: UI.icons.iconBase + 'noun_122196.svg',\n\n name: 'form',\n\n audience: [ns.solid('PowerUser')],\n\n // Does the subject deserve this pane?\n label: function (subject) {\n const n = UI.widgets.formsFor(subject).length\n UI.log.debug('Form pane: forms for ' + subject + ': ' + n)\n if (!n) return null\n return '' + n + ' forms'\n },\n\n render: function (subject, context) {\n const kb = context.session.store\n const dom = context.dom\n\n const mention = function complain (message, style) {\n const pre = dom.createElement('p')\n pre.setAttribute('style', style || 'color: grey; background-color: white')\n box.appendChild(pre).textContent = message\n return pre\n }\n\n const complain = function complain (message, style) {\n mention(message, 'style', style || 'color: grey; background-color: #fdd;')\n }\n\n const complainIfBad = function (ok, body) {\n if (ok) {\n // setModifiedDate(store, kb, store);\n // rerender(box); // Deleted forms at the moment\n } else complain('Sorry, failed to save your change:\\n' + body)\n }\n\n // The question of where to store this data about subject\n // This in general needs a whole lot more thought\n // and it connects to the discoverbility through links\n\n // const t = kb.findTypeURIs(subject)\n\n const me = authn.currentUser()\n\n const box = dom.createElement('div')\n box.setAttribute('class', 'formPane')\n\n if (!me) {\n mention(\n 'You are not logged in. If you log in and have ' +\n 'workspaces then you would be able to select workspace in which ' +\n 'to put this new information'\n )\n } else {\n const ws = kb.each(me, ns.ui('workspace'))\n if (ws.length === 0) {\n mention(\n \"You don't seem to have any workspaces defined. \" +\n 'A workspace is a place on the web (http://..) or in ' +\n 'the file system (file:///) to store application data.\\n'\n )\n } else {\n // @@\n }\n }\n\n // Render forms using a given store\n\n const renderFormsFor = function (store, subject) {\n kb.fetcher.nowOrWhenFetched(store.uri, subject, function (ok, body) {\n if (!ok) return complain('Cannot load store ' + store.uri + ': ' + body)\n\n // Render the forms\n\n const forms = UI.widgets.formsFor(subject)\n\n // complain('Form for editing this form:');\n for (let i = 0; i < forms.length; i++) {\n const form = forms[i]\n const heading = dom.createElement('h4')\n box.appendChild(heading)\n if (form.uri) {\n const formStore = $rdf.Util.uri.document(form.uri)\n if (formStore.uri !== form.uri) {\n // The form is a hash-type URI\n const e = box.appendChild(\n UI.widgets.editFormButton(\n dom,\n box,\n form,\n formStore,\n complainIfBad\n )\n )\n e.setAttribute('style', 'float: right;')\n }\n }\n const anchor = dom.createElement('a')\n anchor.setAttribute('href', form.uri)\n heading.appendChild(anchor)\n anchor.textContent = UI.utils.label(form, true)\n\n /* Keep tis as a reminder to let a New one have its URI given by user\n mention(\"Where will this information be stored?\")\n const ele = dom.createElement('input');\n box.appendChild(ele);\n ele.setAttribute('type', 'text');\n ele.setAttribute('size', '72');\n ele.setAttribute('maxlength', '1024');\n ele.setAttribute('style', 'font-size: 80%; color:#222;');\n ele.value = store.uri\n */\n\n UI.widgets.appendForm(\n dom,\n box,\n {},\n subject,\n form,\n store,\n complainIfBad\n )\n }\n }) // end: when store loded\n } // renderFormsFor\n\n // Figure out what store\n\n // Which places are editable and have stuff about the subject?\n\n let store = null\n\n // 1. The document URI of the subject itself\n const docuri = $rdf.Util.uri.docpart(subject.uri)\n if (subject.uri !== docuri && kb.updater.editable(docuri, kb)) {\n store = subject.doc()\n } // an editable data file with hash\n\n store = store || kb.any(kb.sym(docuri), ns.link('annotationStore'))\n\n // 2. where stuff is already stored\n if (!store) {\n const docs = {}\n const docList = []\n store.statementsMatching(subject).forEach(function (st) {\n docs[st.why.uri] = 1\n })\n store\n .statementsMatching(undefined, undefined, subject)\n .forEach(function (st) {\n docs[st.why.uri] = 2\n })\n for (const d in docs) docList.push(docs[d], d)\n docList.sort()\n for (let i = 0; i < docList.length; i++) {\n const uri = docList[i][1]\n if (uri && store.updater.editable(uri)) {\n store = store.sym(uri)\n break\n }\n }\n }\n\n // 3. In a workspace store\n // @@ TODO: Can probably remove _followeach (not done this time because the commit is a very safe refactor)\n const _followeach = function (kb, subject, path) {\n if (path.length === 0) return [subject]\n const oo = kb.each(subject, path[0])\n let res = []\n for (let i = 0; i < oo.length; i++) {\n res = res.concat(_followeach(kb, oo[i], path.slice(1)))\n }\n return res\n }\n\n const date = '2014' // @@@@@@@@@@@@ pass as parameter\n\n if (store) {\n // mention(\"@@ Ok, we have a store <\" + store.uri + \">.\");\n renderFormsFor(store, subject)\n } else {\n complain('No suitable store is known, to edit <' + subject.uri + '>.')\n const foobarbaz = UI.login.selectWorkspace(dom, function (ws) {\n mention('Workspace selected OK: ' + ws)\n\n const activities = store.each(undefined, ns.space('workspace'), ws)\n for (let j = 0; j < activities.length; j++) {\n const act = activities[j]\n\n const subjectDoc2 = store.any(ws, ns.space('store'))\n const start = store.any(ws, ns.cal('dtstart')).value()\n const end = store.any(ws, ns.cal('dtend')).value()\n if (subjectDoc2 && start && end && start <= date && end > date) {\n renderFormsFor(subjectDoc2, subject)\n break\n } else {\n complain('Note no suitable annotation store in activity: ' + act)\n }\n }\n })\n box.appendChild(foobarbaz)\n }\n\n return box\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _solidLogic = require("solid-logic");
8
+ var _solidUi = require("solid-ui");
9
+ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
10
+ function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
11
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
12
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } /* Home Pane
13
+ **
14
+ ** The home pane is avaiable everywhere and allows a user
15
+ ** to
16
+ ** - keep track of their stuff
17
+ ** - make new things, and possibly
18
+ ** - keep track of accounts and workspaces etc
19
+ **
20
+ */
21
+ var HomePaneSource = {
22
+ icon: _solidUi.icons.iconBase + 'noun_547570.svg',
23
+ // noun_25830
24
+
25
+ global: true,
26
+ name: 'home',
27
+ // Does the subject deserve an home pane?
28
+ //
29
+ // yes, always!
30
+ //
31
+ label: function label() {
32
+ return 'home';
33
+ },
34
+ render: function render(subject, context) {
35
+ var dom = context.dom;
36
+ var showContent = /*#__PURE__*/function () {
37
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
38
+ var homePaneContext, creationDiv, creationContext, relevantPanes;
39
+ return _regenerator().w(function (_context) {
40
+ while (1) switch (_context.n) {
41
+ case 0:
42
+ homePaneContext = {
43
+ div: div,
44
+ dom: dom,
45
+ statusArea: div,
46
+ me: me
47
+ };
48
+ /*
49
+ div.appendChild(dom.createElement('h4')).textContent = 'Login status'
50
+ var loginStatusDiv = div.appendChild(context.dom.createElement('div'))
51
+ // TODO: Find out what the actual type is:
52
+ type UriType = unknown;
53
+ loginStatusDiv.appendChild(UI.login.loginStatusBox(context.dom, () => {
54
+ // Here we know new log in status
55
+ }))
56
+ */
57
+ div.appendChild(dom.createElement('h4')).textContent = 'Create new thing somewhere';
58
+ creationDiv = div.appendChild(dom.createElement('div'));
59
+ creationContext = {
60
+ div: creationDiv,
61
+ dom: dom,
62
+ statusArea: div,
63
+ me: me
64
+ };
65
+ _context.n = 1;
66
+ return _solidUi.login.filterAvailablePanes(context.session.paneRegistry.list);
67
+ case 1:
68
+ relevantPanes = _context.v;
69
+ _solidUi.create.newThingUI(creationContext, context, relevantPanes); // newUI Have to pass panes down
70
+
71
+ _solidUi.login.registrationList(homePaneContext, {}).then(function () {});
72
+ case 2:
73
+ return _context.a(2);
74
+ }
75
+ }, _callee);
76
+ }));
77
+ return function showContent() {
78
+ return _ref.apply(this, arguments);
79
+ };
80
+ }();
81
+ var div = dom.createElement('div');
82
+ var me = _solidLogic.authn.currentUser(); // this will be incorrect if not logged in
83
+
84
+ showContent();
85
+ return div;
86
+ }
87
+ }; // pane object
88
+
89
+ // ends
90
+ var _default = exports["default"] = HomePaneSource;
91
+ //# sourceMappingURL=homePane.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"homePane.js","names":["_solidLogic","require","_solidUi","_regenerator","e","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","arguments","apply","_next","_throw","HomePaneSource","icon","icons","iconBase","global","name","label","render","subject","context","dom","showContent","_ref","_callee","homePaneContext","creationDiv","creationContext","relevantPanes","_context","div","statusArea","me","appendChild","createElement","textContent","login","filterAvailablePanes","session","paneRegistry","list","newThingUI","registrationList","authn","currentUser","_default","exports"],"sources":["../../src/home/homePane.ts"],"sourcesContent":["/* Home Pane\n **\n ** The home pane is avaiable everywhere and allows a user\n ** to\n ** - keep track of their stuff\n ** - make new things, and possibly\n ** - keep track of accounts and workspaces etc\n **\n */\n\nimport { PaneDefinition } from 'pane-registry'\nimport { NamedNode } from 'rdflib'\nimport { authn } from 'solid-logic'\nimport { create, icons, login } from 'solid-ui'\nimport { CreateContext } from 'solid-ui/lib/create/types'\n\nconst HomePaneSource: PaneDefinition = {\n icon: icons.iconBase + 'noun_547570.svg', // noun_25830\n\n global: true,\n\n name: 'home',\n\n // Does the subject deserve an home pane?\n //\n // yes, always!\n //\n label: function () {\n return 'home'\n },\n\n render: function (subject, context) {\n const dom = context.dom\n const showContent = async function () {\n const homePaneContext = { div: div, dom: dom, statusArea: div, me: me }\n /*\n div.appendChild(dom.createElement('h4')).textContent = 'Login status'\n var loginStatusDiv = div.appendChild(context.dom.createElement('div'))\n // TODO: Find out what the actual type is:\n type UriType = unknown;\n loginStatusDiv.appendChild(UI.login.loginStatusBox(context.dom, () => {\n // Here we know new log in status\n }))\n */\n div.appendChild(dom.createElement('h4')).textContent =\n 'Create new thing somewhere'\n const creationDiv = div.appendChild(dom.createElement('div'))\n const creationContext: CreateContext = {\n div: creationDiv,\n dom: dom,\n statusArea: div,\n me: me\n }\n const relevantPanes = await login.filterAvailablePanes(\n context.session.paneRegistry.list\n )\n create.newThingUI(creationContext, context, relevantPanes) // newUI Have to pass panes down\n\n login.registrationList(homePaneContext, {}).then(function () {})\n }\n\n const div = dom.createElement('div')\n const me: NamedNode = authn.currentUser() as NamedNode // this will be incorrect if not logged in\n\n showContent()\n\n return div\n }\n} // pane object\n\n// ends\nexport default HomePaneSource\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _solidUi = require("solid-ui");
8
+ var _rdflib = require("rdflib");
9
+ var _marked = require("marked");
10
+ var _dompurify = _interopRequireDefault(require("dompurify"));
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
12
+ /* Human-readable Pane
13
+ **
14
+ ** This outline pane contains the document contents for an HTML document
15
+ ** This is for peeking at a page, because the user might not want to leave the data browser.
16
+ */
17
+
18
+ var humanReadablePane = {
19
+ icon: _solidUi.icons.originalIconBase + 'tango/22-text-x-generic.png',
20
+ name: 'humanReadable',
21
+ label: function label(subject, context) {
22
+ var kb = context.session.store;
23
+
24
+ // See also the source pane, which has lower precedence.
25
+
26
+ var allowed = ['text/plain', 'text/html', 'text/markdown', 'application/xhtml+xml', 'image/png', 'image/jpeg', 'application/pdf', 'video/mp4'];
27
+ var hasContentTypeIn = function hasContentTypeIn(kb, x, displayables) {
28
+ var cts = kb.fetcher.getHeader(x, 'content-type');
29
+ if (cts) {
30
+ for (var j = 0; j < cts.length; j++) {
31
+ for (var k = 0; k < displayables.length; k++) {
32
+ if (cts[j].indexOf(displayables[k]) >= 0) {
33
+ return true;
34
+ }
35
+ }
36
+ }
37
+ }
38
+ return false;
39
+ };
40
+
41
+ // This data could come from a fetch OR from ldp container
42
+ var hasContentTypeIn2 = function hasContentTypeIn2(kb, x, displayables) {
43
+ var t = kb.findTypeURIs(x);
44
+ for (var k = 0; k < displayables.length; k++) {
45
+ if (_rdflib.Util.mediaTypeClass(displayables[k]).uri in t) {
46
+ return true;
47
+ }
48
+ }
49
+ return false;
50
+ };
51
+ if (!subject.uri) return null; // no bnodes
52
+
53
+ var t = kb.findTypeURIs(subject);
54
+ if (t[_solidUi.ns.link('WebPage').uri]) return 'view';
55
+ if (hasContentTypeIn(kb, subject, allowed) || hasContentTypeIn2(kb, subject, allowed)) {
56
+ return 'View';
57
+ }
58
+ return null;
59
+ },
60
+ render: function render(subject, context) {
61
+ var myDocument = context.dom;
62
+ var div = myDocument.createElement('div');
63
+ var kb = context.session.store;
64
+ var cts = kb.fetcher.getHeader(subject.doc(), 'content-type');
65
+ var ct = cts ? cts[0].split(';', 1)[0].trim() : null; // remove content-type parameters
66
+ if (ct) {
67
+ // console.log('humanReadablePane: c-t:' + ct)
68
+ } else {
69
+ console.log('humanReadablePane: unknown content-type?');
70
+ }
71
+
72
+ // @@ When we can, use CSP to turn off scripts within the iframe
73
+ div.setAttribute('class', 'docView');
74
+ var element = ct === 'text/markdown' ? 'DIV' : 'IFRAME';
75
+ var frame = myDocument.createElement(element);
76
+ var setIframeAttributes = function setIframeAttributes(frame, blob, lines) {
77
+ frame.setAttribute('src', URL.createObjectURL(blob));
78
+ frame.setAttribute('type', blob.type);
79
+ frame.setAttribute('class', 'doc');
80
+ frame.setAttribute('style', "border: 1px solid; padding: 1em; height: ".concat(lines, "em; width: 800px; resize: both; overflow: auto;"));
81
+
82
+ // Apply sandbox attribute only for HTML files
83
+ // @@ Note below - if we set ANY sandbox, then Chrome and Safari won't display it if it is PDF.
84
+ // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe
85
+ // You can't have any sandbox and allow plugins.
86
+ // We could sandbox only HTML files I suppose.
87
+ if (blob.type === 'text/html' || blob.type === 'application/xhtml+xml') {
88
+ frame.setAttribute('sandbox', 'allow-scripts allow-same-origin');
89
+ }
90
+ };
91
+
92
+ // render markdown to html
93
+ var markdownHtml = function markdownHtml() {
94
+ kb.fetcher.webOperation('GET', subject.uri).then(function (response) {
95
+ var markdownText = response.responseText;
96
+ var lines = Math.min(30, markdownText.split(/\n/).length + 5);
97
+ var res = _marked.marked.parse(markdownText);
98
+ var clean = _dompurify["default"].sanitize(res);
99
+ frame.innerHTML = clean;
100
+ frame.setAttribute('class', 'doc');
101
+ frame.setAttribute('style', "border: 1px solid; padding: 1em; height: ".concat(lines, "em; width: 800px; resize: both; overflow: auto;"));
102
+ })["catch"](function (error) {
103
+ console.error('Error fetching markdown content:', error);
104
+ frame.innerHTML = '<p>Error loading content</p>';
105
+ });
106
+ };
107
+ if (ct === 'text/markdown') {
108
+ markdownHtml();
109
+ } else {
110
+ // Fetch and process the blob
111
+ kb.fetcher._fetch(subject.uri).then(function (response) {
112
+ return response.blob();
113
+ }).then(function (blob) {
114
+ var blobTextPromise = blob.type.startsWith('text') ? blob.text() : Promise.resolve('');
115
+ return blobTextPromise.then(function (blobText) {
116
+ return {
117
+ blob: blob,
118
+ blobText: blobText
119
+ };
120
+ });
121
+ }).then(function (_ref) {
122
+ var blob = _ref.blob,
123
+ blobText = _ref.blobText;
124
+ var newLines = blobText.includes('<script src="https://dokie.li/scripts/dokieli.js">') ? -10 : 5;
125
+ var lines = Math.min(30, blobText.split(/\n/).length + newLines);
126
+ setIframeAttributes(frame, blob, lines);
127
+ })["catch"](function (err) {
128
+ console.log('Error fetching or processing blob:', err);
129
+ });
130
+ }
131
+ var tr = myDocument.createElement('TR');
132
+ tr.appendChild(frame);
133
+ div.appendChild(tr);
134
+ return div;
135
+ }
136
+ };
137
+ var _default = exports["default"] = humanReadablePane; // ends
138
+ //# sourceMappingURL=humanReadablePane.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"humanReadablePane.js","names":["_solidUi","require","_rdflib","_marked","_dompurify","_interopRequireDefault","e","__esModule","humanReadablePane","icon","icons","originalIconBase","name","label","subject","context","kb","session","store","allowed","hasContentTypeIn","x","displayables","cts","fetcher","getHeader","j","length","k","indexOf","hasContentTypeIn2","t","findTypeURIs","Util","mediaTypeClass","uri","ns","link","render","myDocument","dom","div","createElement","doc","ct","split","trim","console","log","setAttribute","element","frame","setIframeAttributes","blob","lines","URL","createObjectURL","type","concat","markdownHtml","webOperation","then","response","markdownText","responseText","Math","min","res","marked","parse","clean","DOMPurify","sanitize","innerHTML","error","_fetch","blobTextPromise","startsWith","text","Promise","resolve","blobText","_ref","newLines","includes","err","tr","appendChild","_default","exports"],"sources":["../src/humanReadablePane.js"],"sourcesContent":["/* Human-readable Pane\n **\n ** This outline pane contains the document contents for an HTML document\n ** This is for peeking at a page, because the user might not want to leave the data browser.\n */\nimport { icons, ns } from 'solid-ui'\nimport { Util } from 'rdflib'\nimport { marked } from 'marked'\nimport DOMPurify from 'dompurify';\n\nconst humanReadablePane = {\n icon: icons.originalIconBase + 'tango/22-text-x-generic.png',\n\n name: 'humanReadable',\n\n label: function (subject, context) {\n const kb = context.session.store\n\n // See also the source pane, which has lower precedence.\n\n const allowed = [\n 'text/plain',\n 'text/html',\n 'text/markdown',\n 'application/xhtml+xml',\n 'image/png',\n 'image/jpeg',\n 'application/pdf',\n 'video/mp4'\n ]\n\n const hasContentTypeIn = function (kb, x, displayables) {\n const cts = kb.fetcher.getHeader(x, 'content-type')\n if (cts) {\n for (let j = 0; j < cts.length; j++) {\n for (let k = 0; k < displayables.length; k++) {\n if (cts[j].indexOf(displayables[k]) >= 0) {\n return true\n }\n }\n }\n }\n return false\n }\n\n // This data could come from a fetch OR from ldp container\n const hasContentTypeIn2 = function (kb, x, displayables) {\n const t = kb.findTypeURIs(x)\n for (let k = 0; k < displayables.length; k++) {\n if (Util.mediaTypeClass(displayables[k]).uri in t) {\n return true\n }\n }\n return false\n }\n\n if (!subject.uri) return null // no bnodes\n\n const t = kb.findTypeURIs(subject)\n if (t[ns.link('WebPage').uri]) return 'view'\n\n if (\n hasContentTypeIn(kb, subject, allowed) ||\n hasContentTypeIn2(kb, subject, allowed)\n ) {\n return 'View'\n }\n\n return null\n },\n\n render: function (subject, context) {\n const myDocument = context.dom\n const div = myDocument.createElement('div')\n const kb = context.session.store\n\n const cts = kb.fetcher.getHeader(subject.doc(), 'content-type')\n const ct = cts ? cts[0].split(';', 1)[0].trim() : null // remove content-type parameters\n if (ct) {\n // console.log('humanReadablePane: c-t:' + ct)\n } else {\n console.log('humanReadablePane: unknown content-type?')\n }\n\n // @@ When we can, use CSP to turn off scripts within the iframe\n div.setAttribute('class', 'docView')\n const element = ct === 'text/markdown' ? 'DIV' : 'IFRAME'\n const frame = myDocument.createElement(element)\n\n const setIframeAttributes = (frame, blob, lines) => {\n frame.setAttribute('src', URL.createObjectURL(blob));\n frame.setAttribute('type', blob.type);\n frame.setAttribute('class', 'doc');\n frame.setAttribute('style', `border: 1px solid; padding: 1em; height: ${lines}em; width: 800px; resize: both; overflow: auto;`);\n\n // Apply sandbox attribute only for HTML files\n // @@ Note below - if we set ANY sandbox, then Chrome and Safari won't display it if it is PDF.\n // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe\n // You can't have any sandbox and allow plugins.\n // We could sandbox only HTML files I suppose.\n if (blob.type === 'text/html' || blob.type === 'application/xhtml+xml') {\n frame.setAttribute('sandbox', 'allow-scripts allow-same-origin');\n }\n };\n\n // render markdown to html\n const markdownHtml = function () {\n kb.fetcher.webOperation('GET', subject.uri).then(response => {\n const markdownText = response.responseText\n const lines = Math.min(30, markdownText.split(/\\n/).length + 5)\n const res = marked.parse(markdownText)\n const clean = DOMPurify.sanitize(res)\n frame.innerHTML = clean\n frame.setAttribute('class', 'doc')\n frame.setAttribute('style', `border: 1px solid; padding: 1em; height: ${lines}em; width: 800px; resize: both; overflow: auto;`)\n }).catch(error => {\n console.error('Error fetching markdown content:', error)\n frame.innerHTML = '<p>Error loading content</p>'\n })\n }\n\n if (ct === 'text/markdown') {\n markdownHtml()\n } else {\n // Fetch and process the blob\n kb.fetcher._fetch(subject.uri)\n .then(response => response.blob())\n .then(blob => {\n const blobTextPromise = blob.type.startsWith('text') ? blob.text() : Promise.resolve('')\n return blobTextPromise.then(blobText => ({ blob, blobText }))\n })\n .then(({ blob, blobText }) => {\n const newLines = blobText.includes('<script src=\"https://dokie.li/scripts/dokieli.js\">') ? -10 : 5\n const lines = Math.min(30, blobText.split(/\\n/).length + newLines)\n setIframeAttributes(frame, blob, lines)\n })\n .catch(err => {\n console.log('Error fetching or processing blob:', err)\n })\n }\n\n const tr = myDocument.createElement('TR')\n tr.appendChild(frame)\n div.appendChild(tr)\n return div\n }\n}\n\nexport default humanReadablePane\n// ends\n"],"mappings":"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","ignoreList":[]}