solid-panes 3.7.3 → 4.0.0-2fdba5cd

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