solid-panes 3.7.2-f743b265 → 3.7.3-125af630

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 (354) hide show
  1. package/dist/dashboard/basicPreferences.js +155 -0
  2. package/dist/dashboard/basicPreferences.js.map +1 -0
  3. package/dist/dashboard/dashboardPane.js +63 -0
  4. package/dist/dashboard/dashboardPane.js.map +1 -0
  5. package/dist/dashboard/homepage.js +63 -0
  6. package/dist/dashboard/homepage.js.map +1 -0
  7. package/dist/home/homePane.js +68 -0
  8. package/dist/home/homePane.js.map +1 -0
  9. package/dist/index.js +48 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/internal/internalPane.js +195 -0
  12. package/dist/internal/internalPane.js.map +1 -0
  13. package/dist/mainPage/footer.js +16 -0
  14. package/dist/mainPage/footer.js.map +1 -0
  15. package/dist/mainPage/header.js +84 -0
  16. package/dist/mainPage/header.js.map +1 -0
  17. package/{lib → dist}/mainPage/index.d.ts.map +1 -1
  18. package/dist/mainPage/index.js +30 -0
  19. package/dist/mainPage/index.js.map +1 -0
  20. package/dist/outline/context.js +13 -0
  21. package/dist/outline/context.js.map +1 -0
  22. package/dist/outline/propertyViews.js +33 -0
  23. package/dist/outline/propertyViews.js.map +1 -0
  24. package/dist/outline/viewAsImage.js +7 -0
  25. package/dist/outline/viewAsImage.js.map +1 -0
  26. package/{lib → dist}/outline/viewAsMbox.js +4 -14
  27. package/dist/outline/viewAsMbox.js.map +1 -0
  28. package/dist/pad/padPane.js +420 -0
  29. package/dist/pad/padPane.js.map +1 -0
  30. package/dist/sharing/sharingPane.js +45 -0
  31. package/dist/sharing/sharingPane.js.map +1 -0
  32. package/dist/tabbed/tabbedPane.js +55 -0
  33. package/dist/tabbed/tabbedPane.js.map +1 -0
  34. package/dist/trustedApplications/trustedApplications.dom.js +158 -0
  35. package/dist/trustedApplications/trustedApplications.dom.js.map +1 -0
  36. package/dist/trustedApplications/trustedApplications.utils.js +24 -0
  37. package/dist/trustedApplications/trustedApplications.utils.js.map +1 -0
  38. package/dist/trustedApplications/trustedApplications.view.js +62 -0
  39. package/dist/trustedApplications/trustedApplications.view.js.map +1 -0
  40. package/dist/types.js +2 -0
  41. package/dist/types.js.map +1 -0
  42. package/dist/versionInfo.js +31 -0
  43. package/dist/versionInfo.js.map +1 -0
  44. package/package.json +34 -22
  45. package/Documentation/VisualLanguage.html +0 -538
  46. package/Documentation/conventions.md +0 -333
  47. package/coverage/clover.xml +0 -152
  48. package/coverage/coverage-final.json +0 -6
  49. package/coverage/lcov-report/base.css +0 -224
  50. package/coverage/lcov-report/block-navigation.js +0 -87
  51. package/coverage/lcov-report/favicon.png +0 -0
  52. package/coverage/lcov-report/index.html +0 -131
  53. package/coverage/lcov-report/outline/index.html +0 -161
  54. package/coverage/lcov-report/outline/outlineIcons.js.html +0 -565
  55. package/coverage/lcov-report/outline/propertyViews.ts.html +0 -196
  56. package/coverage/lcov-report/outline/viewAsImage.ts.html +0 -121
  57. package/coverage/lcov-report/outline/viewAsMbox.ts.html +0 -127
  58. package/coverage/lcov-report/prettify.css +0 -1
  59. package/coverage/lcov-report/prettify.js +0 -2
  60. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  61. package/coverage/lcov-report/sorter.js +0 -210
  62. package/coverage/lcov-report/trustedApplications/index.html +0 -116
  63. package/coverage/lcov-report/trustedApplications/trustedApplications.utils.ts.html +0 -238
  64. package/coverage/lcov.info +0 -204
  65. package/dev/index.html +0 -28
  66. package/dev/loader.ts +0 -91
  67. package/dev/pane/index.ts +0 -10
  68. package/doc/images/panes-for-classes.epgz +0 -0
  69. package/doc/images/panes-for-classes.svg +0 -609
  70. package/eslint.config.mjs +0 -34
  71. package/jest.config.js +0 -27
  72. package/jest.setup.ts +0 -4
  73. package/lib/RDFXMLPane.js +0 -59
  74. package/lib/RDFXMLPane.js.map +0 -1
  75. package/lib/argument/argumentPane.js +0 -62
  76. package/lib/argument/argumentPane.js.map +0 -1
  77. package/lib/attach/attachPane.js +0 -404
  78. package/lib/attach/attachPane.js.map +0 -1
  79. package/lib/audio/audioPane.js +0 -183
  80. package/lib/audio/audioPane.js.map +0 -1
  81. package/lib/classInstancePane.js +0 -93
  82. package/lib/classInstancePane.js.map +0 -1
  83. package/lib/dashboard/basicPreferences.js +0 -229
  84. package/lib/dashboard/basicPreferences.js.map +0 -1
  85. package/lib/dashboard/dashboardPane.js +0 -73
  86. package/lib/dashboard/dashboardPane.js.map +0 -1
  87. package/lib/dashboard/homepage.js +0 -86
  88. package/lib/dashboard/homepage.js.map +0 -1
  89. package/lib/dataContentPane.js +0 -259
  90. package/lib/dataContentPane.js.map +0 -1
  91. package/lib/defaultPane.js +0 -76
  92. package/lib/defaultPane.js.map +0 -1
  93. package/lib/dokieli/dokieliPane.js +0 -173
  94. package/lib/dokieli/dokieliPane.js.map +0 -1
  95. package/lib/dokieli/new.js +0 -9
  96. package/lib/dokieli/new.js.map +0 -1
  97. package/lib/form/pane.js +0 -186
  98. package/lib/form/pane.js.map +0 -1
  99. package/lib/global.d.js +0 -2
  100. package/lib/global.d.js.map +0 -1
  101. package/lib/home/homePane.js +0 -91
  102. package/lib/home/homePane.js.map +0 -1
  103. package/lib/humanReadablePane.js +0 -138
  104. package/lib/humanReadablePane.js.map +0 -1
  105. package/lib/imagePane.js +0 -71
  106. package/lib/imagePane.js.map +0 -1
  107. package/lib/index.js +0 -112
  108. package/lib/index.js.map +0 -1
  109. package/lib/internal/internalPane.js +0 -184
  110. package/lib/internal/internalPane.js.map +0 -1
  111. package/lib/mainPage/footer.js +0 -22
  112. package/lib/mainPage/footer.js.map +0 -1
  113. package/lib/mainPage/header.js +0 -152
  114. package/lib/mainPage/header.js.map +0 -1
  115. package/lib/mainPage/index.js +0 -42
  116. package/lib/mainPage/index.js.map +0 -1
  117. package/lib/microblogPane/microblogPane.js +0 -1032
  118. package/lib/microblogPane/microblogPane.js.map +0 -1
  119. package/lib/n3Pane.js +0 -57
  120. package/lib/n3Pane.js.map +0 -1
  121. package/lib/outline/context.js +0 -19
  122. package/lib/outline/context.js.map +0 -1
  123. package/lib/outline/manager.js +0 -2264
  124. package/lib/outline/manager.js.map +0 -1
  125. package/lib/outline/manager.test.d.ts +0 -2
  126. package/lib/outline/manager.test.d.ts.map +0 -1
  127. package/lib/outline/manager.test.js +0 -210
  128. package/lib/outline/manager.test.js.map +0 -1
  129. package/lib/outline/outlineIcons.js +0 -128
  130. package/lib/outline/outlineIcons.js.map +0 -1
  131. package/lib/outline/propertyViews.js +0 -44
  132. package/lib/outline/propertyViews.js.map +0 -1
  133. package/lib/outline/propertyViews.test.d.ts +0 -2
  134. package/lib/outline/propertyViews.test.d.ts.map +0 -1
  135. package/lib/outline/propertyViews.test.js +0 -27
  136. package/lib/outline/propertyViews.test.js.map +0 -1
  137. package/lib/outline/queryByExample.js +0 -286
  138. package/lib/outline/queryByExample.js.map +0 -1
  139. package/lib/outline/userInput.js +0 -1817
  140. package/lib/outline/userInput.js.map +0 -1
  141. package/lib/outline/viewAsImage.js +0 -17
  142. package/lib/outline/viewAsImage.js.map +0 -1
  143. package/lib/outline/viewAsMbox.js.map +0 -1
  144. package/lib/pad/padPane.js +0 -417
  145. package/lib/pad/padPane.js.map +0 -1
  146. package/lib/playlist/playlistPane.js +0 -125
  147. package/lib/playlist/playlistPane.js.map +0 -1
  148. package/lib/registerPanes.js +0 -146
  149. package/lib/registerPanes.js.map +0 -1
  150. package/lib/schedule/formsForSchedule.js +0 -8
  151. package/lib/schedule/formsForSchedule.js.map +0 -1
  152. package/lib/schedule/schedulePane.js +0 -895
  153. package/lib/schedule/schedulePane.js.map +0 -1
  154. package/lib/sharing/sharingPane.js +0 -49
  155. package/lib/sharing/sharingPane.js.map +0 -1
  156. package/lib/slideshow/slideshowPane.js +0 -84
  157. package/lib/slideshow/slideshowPane.js.map +0 -1
  158. package/lib/socialPane.js +0 -431
  159. package/lib/socialPane.js.map +0 -1
  160. package/lib/tabbed/tabbedPane.js +0 -72
  161. package/lib/tabbed/tabbedPane.js.map +0 -1
  162. package/lib/tableViewPane.js +0 -58
  163. package/lib/tableViewPane.js.map +0 -1
  164. package/lib/test-import-export/common.js +0 -12
  165. package/lib/test-import-export/common.js.map +0 -1
  166. package/lib/test-import-export/edit-importer.js +0 -25
  167. package/lib/test-import-export/edit-importer.js.map +0 -1
  168. package/lib/test-import-export/testImportExport.js +0 -2
  169. package/lib/test-import-export/testImportExport.js.map +0 -1
  170. package/lib/transaction/pane.js +0 -479
  171. package/lib/transaction/pane.js.map +0 -1
  172. package/lib/transaction/period.js +0 -325
  173. package/lib/transaction/period.js.map +0 -1
  174. package/lib/trip/tripPane.js +0 -176
  175. package/lib/trip/tripPane.js.map +0 -1
  176. package/lib/trustedApplications/trustedApplications.dom.js +0 -177
  177. package/lib/trustedApplications/trustedApplications.dom.js.map +0 -1
  178. package/lib/trustedApplications/trustedApplications.test.d.ts +0 -2
  179. package/lib/trustedApplications/trustedApplications.test.d.ts.map +0 -1
  180. package/lib/trustedApplications/trustedApplications.test.js +0 -64
  181. package/lib/trustedApplications/trustedApplications.test.js.map +0 -1
  182. package/lib/trustedApplications/trustedApplications.utils.js +0 -34
  183. package/lib/trustedApplications/trustedApplications.utils.js.map +0 -1
  184. package/lib/trustedApplications/trustedApplications.view.js +0 -87
  185. package/lib/trustedApplications/trustedApplications.view.js.map +0 -1
  186. package/lib/types.js +0 -6
  187. package/lib/types.js.map +0 -1
  188. package/lib/ui/pane.js +0 -148
  189. package/lib/ui/pane.js.map +0 -1
  190. package/lib/versionInfo.d.ts +0 -34
  191. package/lib/versionInfo.d.ts.map +0 -1
  192. package/lib/versionInfo.js +0 -39
  193. package/lib/versionInfo.js.map +0 -1
  194. package/lib/video/videoPane.js +0 -44
  195. package/lib/video/videoPane.js.map +0 -1
  196. package/src/RDFXMLPane.js +0 -60
  197. package/src/argument/argumentPane.js +0 -65
  198. package/src/argument/argument_icon_v04.jpg +0 -0
  199. package/src/argument/icon_argument.png +0 -0
  200. package/src/argument/transparentyingyang.png +0 -0
  201. package/src/attach/attachPane.js +0 -508
  202. package/src/attach/tbl-paperclip-128.png +0 -0
  203. package/src/attach/tbl-paperclip-22.png +0 -0
  204. package/src/attach/tbl-paperclip-22a.png +0 -0
  205. package/src/audio/audioPane.js +0 -197
  206. package/src/chatPreferencesForm.ttl +0 -12
  207. package/src/classInstancePane.js +0 -110
  208. package/src/dashboard/basicPreferences.ts +0 -201
  209. package/src/dashboard/dashboardPane.ts +0 -83
  210. package/src/dashboard/homepage.ts +0 -72
  211. package/src/dashboard/languages/codes.html +0 -8611
  212. package/src/dashboard/languages/codes.xml +0 -3563
  213. package/src/dashboard/languages/codes2.txt +0 -170
  214. package/src/dashboard/languages/foo +0 -70
  215. package/src/dashboard/languages/foo.ttl +0 -0
  216. package/src/dashboard/languages/get-language-names.sh +0 -12
  217. package/src/dashboard/ontologyData.ttl +0 -35
  218. package/src/dashboard/preferencesFormText.ttl +0 -18
  219. package/src/dataContentPane.js +0 -290
  220. package/src/defaultPane.js +0 -102
  221. package/src/dokieli/Makefile +0 -6
  222. package/src/dokieli/dokieliPane.js +0 -190
  223. package/src/dokieli/new.html +0 -30
  224. package/src/dokieli/new.js +0 -22
  225. package/src/form/form-22.png +0 -0
  226. package/src/form/form-b-22.png +0 -0
  227. package/src/form/form.graffle +0 -0
  228. package/src/form/form.png +0 -0
  229. package/src/form/pane.js +0 -217
  230. package/src/form/psuedocode-notes.txt +0 -57
  231. package/src/global.d.ts +0 -4
  232. package/src/home/homePane.ts +0 -72
  233. package/src/humanReadablePane.js +0 -150
  234. package/src/imagePane.js +0 -75
  235. package/src/index.ts +0 -71
  236. package/src/internal/internalPane.ts +0 -263
  237. package/src/mainPage/footer.ts +0 -19
  238. package/src/mainPage/header.ts +0 -79
  239. package/src/mainPage/index.ts +0 -20
  240. package/src/meeting/Makefile +0 -3
  241. package/src/meeting/test/meeting1/Actions/actions.ttl +0 -14
  242. package/src/meeting/test/meeting1/Actions/config.ttl +0 -16
  243. package/src/meeting/test/meeting1/Actions/state.ttl +0 -30
  244. package/src/meeting/test/meeting1/Schedule/details.ttl +0 -34
  245. package/src/meeting/test/meeting1/Schedule/details.ttl.acl +0 -20
  246. package/src/meeting/test/meeting1/Schedule/forms.ttl +0 -75
  247. package/src/meeting/test/meeting1/Schedule/forms.ttl.acl +0 -20
  248. package/src/meeting/test/meeting1/Schedule/index.html +0 -72
  249. package/src/meeting/test/meeting1/Schedule/index.html.acl +0 -20
  250. package/src/meeting/test/meeting1/Schedule/results.ttl +0 -15
  251. package/src/meeting/test/meeting1/Schedule/results.ttl.acl +0 -20
  252. package/src/meeting/test/meeting1/SharedNotes/pad.ttl +0 -23
  253. package/src/meeting/test/meeting1/chat/chat.ttl +0 -1
  254. package/src/meeting/test/meeting1/details.ttl +0 -35
  255. package/src/meeting/test/meeting1/pad/pad.ttl +0 -16
  256. package/src/microblogPane/mbStyle.css +0 -267
  257. package/src/microblogPane/microblogPane.js +0 -1412
  258. package/src/n3Pane.js +0 -56
  259. package/src/outline/context.ts +0 -21
  260. package/src/outline/manager.js +0 -2384
  261. package/src/outline/manager.test.ts +0 -189
  262. package/src/outline/outlineIcons.js +0 -160
  263. package/src/outline/propertyViews.test.ts +0 -36
  264. package/src/outline/propertyViews.ts +0 -37
  265. package/src/outline/queryByExample.js +0 -296
  266. package/src/outline/userInput.js +0 -2373
  267. package/src/outline/viewAsImage.ts +0 -12
  268. package/src/outline/viewAsMbox.ts +0 -14
  269. package/src/pad/images/ColourOff.ai +2 -872
  270. package/src/pad/images/ColourOff.png +0 -0
  271. package/src/pad/images/ColourOn.ai +1 -935
  272. package/src/pad/images/ColourOn.png +0 -0
  273. package/src/pad/padPane.ts +0 -559
  274. package/src/playlist/playlistPane.js +0 -161
  275. package/src/registerPanes.js +0 -147
  276. package/src/schedule/Makefile +0 -6
  277. package/src/schedule/formsForSchedule.js +0 -117
  278. package/src/schedule/formsForSchedule.ttl +0 -115
  279. package/src/schedule/schedulePane.js +0 -1201
  280. package/src/sharing/sharingPane.ts +0 -49
  281. package/src/slideshow/slideshowPane.js +0 -80
  282. package/src/socialPane.js +0 -523
  283. package/src/style/tabbedtab.css +0 -1347
  284. package/src/tabbed/tabbedPane.ts +0 -60
  285. package/src/tableViewPane.js +0 -51
  286. package/src/test-import-export/common.js +0 -6
  287. package/src/test-import-export/edit-importer.js +0 -20
  288. package/src/test-import-export/testImportExport.js +0 -0
  289. package/src/transaction/068010-3d-transparent-glass-icon-alphanumeric-dollar-sign.png +0 -0
  290. package/src/transaction/075988-3d-transparent-glass-icon-business-currency-british-pound-sc35.png +0 -0
  291. package/src/transaction/22-pixel-068010-3d-transparent-glass-icon-alphanumeric-dollar-sign.png +0 -0
  292. package/src/transaction/pane.js +0 -629
  293. package/src/transaction/period.js +0 -374
  294. package/src/transaction/thumbs_075987-3d-transparent-glass-icon-business-creditcard2.png +0 -0
  295. package/src/transaction/thumbs_075989-3d-transparent-glass-icon-business-currency-cent-sc35.png +0 -0
  296. package/src/trip/tripPane.js +0 -176
  297. package/src/trustedApplications/__snapshots__/trustedApplications.test.ts.snap +0 -176
  298. package/src/trustedApplications/trustedApplications.dom.ts +0 -276
  299. package/src/trustedApplications/trustedApplications.test.ts +0 -82
  300. package/src/trustedApplications/trustedApplications.utils.ts +0 -51
  301. package/src/trustedApplications/trustedApplications.view.ts +0 -80
  302. package/src/types.ts +0 -34
  303. package/src/ui/22-builder.png +0 -0
  304. package/src/ui/builder.graffle +0 -0
  305. package/src/ui/builder.png +0 -0
  306. package/src/ui/builder2.png +0 -0
  307. package/src/ui/pane.js +0 -226
  308. package/src/versionInfo.ts +0 -32
  309. package/src/video/videoPane.js +0 -44
  310. package/timestamp.sh +0 -13
  311. package/travis/bumpversion.js +0 -29
  312. package/tsconfig.json +0 -78
  313. package/typings/raw-loader.d.ts +0 -4
  314. package/typings/solid-namespace/index.d.ts +0 -9
  315. package/webpack.config.js +0 -41
  316. /package/{lib → dist}/dashboard/basicPreferences.d.ts +0 -0
  317. /package/{lib → dist}/dashboard/basicPreferences.d.ts.map +0 -0
  318. /package/{lib → dist}/dashboard/dashboardPane.d.ts +0 -0
  319. /package/{lib → dist}/dashboard/dashboardPane.d.ts.map +0 -0
  320. /package/{lib → dist}/dashboard/homepage.d.ts +0 -0
  321. /package/{lib → dist}/dashboard/homepage.d.ts.map +0 -0
  322. /package/{lib → dist}/home/homePane.d.ts +0 -0
  323. /package/{lib → dist}/home/homePane.d.ts.map +0 -0
  324. /package/{lib → dist}/index.d.ts +0 -0
  325. /package/{lib → dist}/index.d.ts.map +0 -0
  326. /package/{lib → dist}/internal/internalPane.d.ts +0 -0
  327. /package/{lib → dist}/internal/internalPane.d.ts.map +0 -0
  328. /package/{lib → dist}/mainPage/footer.d.ts +0 -0
  329. /package/{lib → dist}/mainPage/footer.d.ts.map +0 -0
  330. /package/{lib → dist}/mainPage/header.d.ts +0 -0
  331. /package/{lib → dist}/mainPage/header.d.ts.map +0 -0
  332. /package/{lib → dist}/mainPage/index.d.ts +0 -0
  333. /package/{lib → dist}/outline/context.d.ts +0 -0
  334. /package/{lib → dist}/outline/context.d.ts.map +0 -0
  335. /package/{lib → dist}/outline/propertyViews.d.ts +0 -0
  336. /package/{lib → dist}/outline/propertyViews.d.ts.map +0 -0
  337. /package/{lib → dist}/outline/viewAsImage.d.ts +0 -0
  338. /package/{lib → dist}/outline/viewAsImage.d.ts.map +0 -0
  339. /package/{lib → dist}/outline/viewAsMbox.d.ts +0 -0
  340. /package/{lib → dist}/outline/viewAsMbox.d.ts.map +0 -0
  341. /package/{lib → dist}/pad/padPane.d.ts +0 -0
  342. /package/{lib → dist}/pad/padPane.d.ts.map +0 -0
  343. /package/{lib → dist}/sharing/sharingPane.d.ts +0 -0
  344. /package/{lib → dist}/sharing/sharingPane.d.ts.map +0 -0
  345. /package/{lib → dist}/tabbed/tabbedPane.d.ts +0 -0
  346. /package/{lib → dist}/tabbed/tabbedPane.d.ts.map +0 -0
  347. /package/{lib → dist}/trustedApplications/trustedApplications.dom.d.ts +0 -0
  348. /package/{lib → dist}/trustedApplications/trustedApplications.dom.d.ts.map +0 -0
  349. /package/{lib → dist}/trustedApplications/trustedApplications.utils.d.ts +0 -0
  350. /package/{lib → dist}/trustedApplications/trustedApplications.utils.d.ts.map +0 -0
  351. /package/{lib → dist}/trustedApplications/trustedApplications.view.d.ts +0 -0
  352. /package/{lib → dist}/trustedApplications/trustedApplications.view.d.ts.map +0 -0
  353. /package/{lib → dist}/types.d.ts +0 -0
  354. /package/{lib → dist}/types.d.ts.map +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"attachPane.js","names":["UI","_interopRequireWildcard","require","$rdf","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_default","exports","icon","icons","iconBase","name","label","subject","context","kb","session","store","findTypeURIs","QU","Namespace","WF","uri","findSuperClassesNT","holds","render","dom","complain","message","pre","createElement","setAttribute","div","appendChild","createTextNode","findStore","updater","editable","doc","any","esc","utils","escapeForXML","innerHTML","predicate","range","subjects","multi","options","currentMode","currentSubject","currentObject","objectType","getSortKeySimple","_c","uriMap","sym","ns","ui","getSortKey","c","k","sup","cl","fromNT","undefined","getMembersAndSort","sortBy","u","x","key","uriHash","findMemberURIs","pairs","value","push","sort","reverse","length","objects","deselectObject","preview","showFiltered","mode","filtered","getFiltered","widgets","selectorPanelRefresh","objectList","showObject","linkClicked","filter","y","each","setAttachment","refresh","verb","linkDone3","ok","body","sts","st","update","event","inverse","s","showSubject","selected","subjectList","selectorPanel","fetcher","load","then","outliner","getOutliner","display","propertyTable","err","textContent","headerButtons","labels","intial","callback","head","current","tr","style0","style1","setStyles","buttons","b","listen","addEventListener","_e","setMode","wrapper","stores","_loop","storeURI","mintBox","storeLab","_event","thisForm","promptForNew","_body","insertBefore","nextSibling"],"sources":["../../src/attach/attachPane.js"],"sourcesContent":["/* Attachment Pane\n **\n ** - Attach a document to a thing\n ** - View attachments\n ** - Look at all unattached Supporting Documents.\n ** - Drag a document onto the pane to attach it @@\n **\n **\n */\n\n import * as UI from 'solid-ui'\n import * as $rdf from 'rdflib'\n\nexport default {\n icon: UI.icons.iconBase + 'noun_25830.svg', // noun_25830\n\n name: 'attachments',\n\n // Does the subject deserve an attachments pane?\n //\n // In this case we will render any thing which is in any subclass of\n // certain classes, or also the certain classes themselves, as a\n // triage tool for correlating many attachees with attachments.\n // We also offer the pane for anything of any class which just has an attachment already.\n //\n label: function (subject, context) {\n const kb = context.session.store\n const t = kb.findTypeURIs(subject)\n const QU = $rdf.Namespace('http://www.w3.org/2000/10/swap/pim/qif#')\n const WF = $rdf.Namespace('http://www.w3.org/2005/01/wf/flow#')\n if (\n t['http://www.w3.org/ns/pim/trip#Trip'] || // If in any subclass\n subject.uri === 'http://www.w3.org/ns/pim/trip#Trip' ||\n t['http://www.w3.org/2005/01/wf/flow#Task'] ||\n t['http://www.w3.org/2000/10/swap/pim/qif#Transaction'] ||\n // subject.uri == 'http://www.w3.org/2000/10/swap/pim/qif#Transaction' ||\n QU('Transaction') in kb.findSuperClassesNT(subject) ||\n kb.holds(subject, WF('attachment'))\n ) {\n return 'attachments'\n }\n return null\n },\n\n render: function (subject, context) {\n const dom = context.dom\n const kb = context.session.store\n const WF = $rdf.Namespace('http://www.w3.org/2005/01/wf/flow#')\n const QU = $rdf.Namespace('http://www.w3.org/2000/10/swap/pim/qif#')\n\n // ////////////////////////////////////////////////////////////////////////////\n\n const complain = function complain (message) {\n const pre = dom.createElement('pre')\n pre.setAttribute('style', 'background-color: pink')\n div.appendChild(pre)\n pre.appendChild(dom.createTextNode(message))\n }\n\n // Where can we write about this thing?\n //\n // Returns term for document or null\n const findStore = function (kb, subject) {\n if (kb.updater.editable(subject.doc(), kb)) return subject.doc()\n const store = kb.any(subject.doc(), QU('annotationStore'))\n return store\n }\n\n const div = dom.createElement('div')\n const esc = UI.utils.escapeForXML\n div.setAttribute('class', 'attachPane')\n div.innerHTML =\n '<h1>' + esc(UI.utils.label(subject, true)) + ' attachments</h1>' //\n\n const predicate = WF('attachment')\n const range = QU('SupportingDocument')\n\n let subjects, multi\n const options = {}\n let currentMode = 0 // 0 -> Show all; 1 -> Attached; 2 -> unattached\n let currentSubject = null\n let currentObject = null\n const objectType = QU('SupportingDocument')\n\n // Find all members of the class which we know about\n // and sort them by an appropriate property. @@ Move to library\n //\n\n const getSortKeySimple = function (_c) {\n const uriMap = {\n 'http://www.w3.org/2005/01/wf/flow#Task': 'http://purl.org/dc/elements/1.1/created',\n 'http://www.w3.org/ns/pim/trip#Trip': 'http://www.w3.org/2002/12/cal/ical#dtstart',\n 'http://www.w3.org/2000/10/swap/pim/qif#Transaction': 'http://www.w3.org/2000/10/swap/pim/qif#date',\n 'http://www.w3.org/2000/10/swap/pim/qif#SupportingDocument': 'http://purl.org/dc/elements/1.1/date'\n }\n const uri = uriMap[subject.uri]\n return uri ? kb.sym(uri) : kb.any(subject, UI.ns.ui('sortBy'))\n }\n\n const getSortKey = function (c) {\n let k = getSortKeySimple(c.uri)\n if (k) return k\n const sup = kb.findSuperClassesNT(c)\n for (const cl in sup) {\n // note unordered -- could be closest first\n k = getSortKeySimple(kb.fromNT(cl).uri)\n if (k) return k\n }\n return undefined // failure\n }\n\n const getMembersAndSort = function (subject) {\n const sortBy = getSortKey(subject)\n let u, x, key\n const uriHash = kb.findMemberURIs(subject)\n const pairs = []\n const subjects = []\n for (u in uriHash) {\n // @@ TODO: Write away the need for exception on next line\n \n if (uriHash.hasOwnProperty(u)) {\n x = kb.sym(u)\n if (sortBy) {\n key = kb.any(x, sortBy)\n if (!key) {\n // complain(\"No key \"+key+\" sortby \"+sortBy+\" for \"+x)\n key = '8888-12-31'\n } else {\n key = key.value\n }\n } else {\n complain('No sortby ' + sortBy + ' for ' + x)\n key = '9999-12-31'\n }\n // key = (sortBy && kb.any(x, sortBy)) || kb.literal(\"9999-12-31\") // Undated appear future\n // if (!key) complain(\"Sort: '\"+key+\"' No \"+sortBy+\" for \"+x) // Assume just not in this year\n pairs.push([key, x])\n }\n }\n pairs.sort()\n pairs.reverse() // @@ Descending order .. made a toggle?\n for (let i = 0; i < pairs.length; i++) {\n subjects.push(pairs[i][1])\n }\n return subjects\n }\n\n // Set up a triage of many class members against documents or just one\n if (\n subject.uri === 'http://www.w3.org/ns/pim/trip#Trip' ||\n QU('Transaction') in kb.findSuperClassesNT(subject)\n // subject.uri == 'http://www.w3.org/2000/10/swap/pim/qif#Transaction'\n ) {\n multi = true\n subjects = getMembersAndSort(subject)\n } else {\n currentSubject = subject\n currentMode = 1 // Show attached only.\n subjects = [subject]\n multi = false\n }\n\n // var store = findStore(kb, subject)\n // if (!store) complain(\"There is no annotation store for: \"+subject.uri)\n\n // var objects = kb.each(undefined, ns.rdf('type'), range)\n const objects = getMembersAndSort(range)\n if (!objects) complain('objects:' + objects.length)\n\n const deselectObject = function () {\n currentObject = null\n preview.innerHTML = ''\n }\n\n const showFiltered = function (mode) {\n const filtered = mode === 0 ? objects : getFiltered()\n // eslint-enable\n UI.widgets.selectorPanelRefresh(\n objectList,\n dom,\n kb,\n objectType,\n predicate,\n true,\n filtered,\n options,\n showObject,\n linkClicked\n )\n if (filtered.length === 1) {\n currentObject = filtered[0]\n showObject(currentObject, null, true) // @@ (Sure?) if only one select it.\n } else {\n deselectObject()\n }\n\n function getFiltered () {\n return mode === 1\n ? currentSubject === null\n ? objects.filter(y => !!kb.holds(undefined, predicate, y))\n : objects.filter(y => !!kb.holds(currentSubject, predicate, y))\n : objects.filter(y => kb.each(undefined, predicate, y).length === 0)\n }\n }\n\n const setAttachment = function (x, y, value, refresh) {\n if (kb.holds(x, predicate, y) === value) return\n const verb = value ? 'attach' : 'detach'\n // complain(\"Info: starting to \"+verb+\" \" + y.uri + \" to \"+x.uri+ \":\\n\")\n const linkDone3 = function (uri, ok, body) {\n if (ok) {\n // complain(\"Success \"+verb+\" \"+y.uri+\" to \"+x.uri+ \":\\n\"+ body)\n refresh()\n } else {\n complain(\n 'Error: Unable to ' +\n verb +\n ' ' +\n y.uri +\n ' to ' +\n x.uri +\n ':\\n' +\n body\n )\n }\n }\n\n const store = findStore(kb, x)\n if (!store) {\n complain('There is no annotation store for: ' + x.uri)\n } else {\n const sts = [$rdf.st(x, predicate, y, store)]\n if (value) {\n kb.updater.update([], sts, linkDone3)\n } else {\n kb.updater.update(sts, [], linkDone3)\n }\n }\n }\n\n const linkClicked = function (x, event, inverse, refresh) {\n let s, o\n if (inverse) {\n // Objectlist\n if (!currentSubject) {\n complain('No subject for the link has been selected')\n return\n } else {\n s = currentSubject\n o = x\n }\n } else {\n // Subjectlist\n if (!currentObject) {\n complain('No object for the link has been selected')\n return\n } else {\n s = x\n o = currentObject\n }\n }\n setAttachment(s, o, !kb.holds(s, predicate, o), refresh) // @@ toggle\n }\n\n // When you click on a subject, filter the objects connected to the subject in Mode 1\n const showSubject = function (x, event, selected) {\n if (selected) {\n currentSubject = x\n } else {\n currentSubject = null\n if (currentMode === 1) deselectObject()\n } // If all are displayed, refresh would just annoy:\n if (currentMode !== 0) showFiltered(currentMode) // Refresh the objects\n }\n\n if (multi) {\n const subjectList = UI.widgets.selectorPanel(\n dom,\n kb,\n subject,\n predicate,\n false,\n subjects,\n options,\n showSubject,\n linkClicked\n )\n subjectList.setAttribute(\n 'style',\n 'background-color: white; width: 25em; height: 100%; padding: 0 em; overflow:scroll; float:left'\n )\n div.appendChild(subjectList)\n }\n\n const showObject = function (x, event, selected) {\n if (!selected) {\n deselectObject()\n preview.innerHTML = '' // Clean out what is there\n // complain(\"Show object \"+x.uri)\n return\n }\n currentObject = x\n try {\n /*\n var dispalyable = function (kb, x) {\n var cts = kb.fetcher.getHeader(x, 'content-type')\n if (cts) {\n var displayables = ['text/html', 'image/png', 'application/pdf']\n for (var j = 0; j < cts.length; j++) {\n for (var 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 preview.innerHTML = 'Loading ....'\n if (x.uri) {\n kb.fetcher\n .load(x.uri)\n .then(() => {\n const outliner = context.getOutliner(dom)\n const display = outliner.propertyTable(x) // ,table, pane\n preview.innerHTML = ''\n preview.appendChild(display)\n })\n .catch(err => {\n preview.textContent = 'Error loading ' + x.uri + ': ' + err\n })\n }\n /*\n if (dispalyable(kb, x) || x.uri.slice(-4) == \".pdf\" || x.uri.slice(-4) == \".png\" || x.uri.slice(-5) == \".html\" ||\n x.uri.slice(-5) == \".jpeg\") { // @@@@@@ MAJOR KLUDGE! use metadata after HEAD\n preview.innerHTML = '<iframe height=\"100%\" width=\"100%\"src=\"'\n + x.uri + '\">' + x.uri + '</iframe>'\n } else {\n }\n */\n } catch (e) {\n preview.innerHTML =\n '<span style=\"background-color: pink;\">' + 'Error:' + e + '</span>' // @@ enc\n }\n }\n\n div.setAttribute(\n 'style',\n 'background-color: white; width:40cm; height:20cm;'\n )\n\n const headerButtons = function (dom, labels, intial, callback) {\n const head = dom.createElement('table')\n let current = intial\n head.setAttribute(\n 'style',\n 'float: left; width: 30em; padding: 0.5em; height: 1.5em; background-color: #ddd; color: #444; font-weight: bold'\n )\n const tr = dom.createElement('tr')\n const style0 = 'border-radius: 0.6em; text-align: center;'\n const style1 = style0 + 'background-color: #ccc; color: black;'\n head.appendChild(tr)\n const setStyles = function () {\n for (i = 0; i < labels.length; i++) {\n buttons[i].setAttribute('style', i === current ? style1 : style0)\n }\n }\n let i, b\n const buttons = []\n for (i = 0; i < labels.length; i++) {\n b = buttons[i] = dom.createElement('td')\n b.textContent = labels[i]\n tr.appendChild(buttons[i])\n const listen = function (b, i) {\n b.addEventListener('click', function (_e) {\n current = i\n setStyles()\n callback(i)\n })\n }\n listen(b, i)\n }\n setStyles()\n return head\n }\n\n const setMode = function (mode) {\n if (mode !== currentMode) {\n currentMode = mode\n deselectObject()\n showFiltered(mode)\n }\n }\n\n const wrapper = dom.createElement('div')\n wrapper.setAttribute(\n 'style',\n ' width: 30em; height: 100%; padding: 0em; float:left;'\n )\n // wrapper.appendChild(head)\n div.appendChild(wrapper)\n wrapper.appendChild(\n headerButtons(\n dom,\n ['all', 'attached', 'not attached'],\n currentMode,\n setMode\n )\n )\n\n const objectList = UI.widgets.selectorPanel(\n dom,\n kb,\n objectType,\n predicate,\n true,\n objects,\n options,\n showObject,\n linkClicked\n )\n objectList.setAttribute(\n 'style',\n 'background-color: #ffe; width: 30em; height: 100%; padding: 0em; overflow:scroll;'\n ) // float:left\n wrapper.appendChild(objectList)\n\n // objectList.insertBefore(head, objectList.firstChild)\n\n const preview = dom.createElement('div')\n preview.setAttribute(\n 'style',\n /* background-color: black; */ 'padding: 0em; margin: 0; height: 100%; overflow:scroll;'\n )\n div.appendChild(preview)\n showFiltered(currentMode)\n\n if (subjects.length > 0 && multi) {\n const stores = {}\n for (let k = 0; k < subjects.length; k++) {\n const store = findStore(kb, subjects[k])\n if (store) stores[store.uri] = subjects[k]\n // if (!store) complain(\"No store for \"+subjects[k].uri)\n }\n for (const storeURI in stores) {\n // var store = findStore(kb,subjects[subjectList.length-1])\n const store = kb.sym(storeURI)\n const mintBox = dom.createElement('div')\n mintBox.setAttribute(\n 'style',\n 'clear: left; width: 20em; margin-top:2em; background-color:#ccc; border-radius: 1em; padding: 1em; font-weight: bold;'\n )\n mintBox.textContent = '+ New ' + UI.utils.label(subject)\n\n mintBox.textContent += ' in ' + UI.utils.label(store)\n const storeLab = dom.createElement('span')\n storeLab.setAttribute(\n 'style',\n 'font-weight: normal; font-size: 80%; color: #777;'\n )\n storeLab.textContent = storeURI\n mintBox.appendChild(dom.createElement('br'))\n mintBox.appendChild(storeLab)\n /*\n var mintButton = dom.createElement('img')\n mintBox.appendChild(mintButton)\n mintButton.setAttribute('src', ...); @@ Invokes master handler\n */\n mintBox.addEventListener(\n 'click',\n function (_event) {\n const thisForm = UI.widgets.promptForNew(\n dom,\n kb,\n subject,\n predicate,\n subject,\n null,\n store,\n function (ok, _body) {\n if (!ok) {\n // callback(ok, body); // @@ if ok, need some form of refresh of the select for the new thing\n } else {\n // Refresh @@\n }\n }\n )\n try {\n div.insertBefore(thisForm, mintBox.nextSibling) // Sigh no insertAfter\n } catch (e) {\n div.appendChild(thisForm)\n }\n // var newObject = thisForm.AJAR_subject\n },\n false\n )\n div.appendChild(mintBox)\n }\n }\n\n // if (!me) complain(\"(You do not have your Web Id set. Set your Web ID to make changes.)\")\n\n return div\n }\n} // pane object\n\n// ends\n"],"mappings":"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","ignoreList":[]}
@@ -1,183 +0,0 @@
1
- "use strict";
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
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports["default"] = void 0;
8
- var UI = _interopRequireWildcard(require("solid-ui"));
9
- 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); }
11
- /* Single audio play Pane
12
- **
13
- */
14
-
15
- var ns = UI.ns;
16
- var _default = exports["default"] = {
17
- icon: UI.icons.iconBase + 'noun_534313.svg',
18
- name: 'audio',
19
- // Does the subject deserve an audio play pane?
20
- label: function label(subject, context) {
21
- var kb = context.session.store;
22
- var typeURIs = kb.findTypeURIs(subject);
23
- var prefix = $rdf.Util.mediaTypeClass('audio/*').uri.split('*')[0];
24
- for (var t in typeURIs) {
25
- if (t.startsWith(prefix)) return 'Play audio';
26
- }
27
- return null;
28
- },
29
- render: function render(subject, context) {
30
- var kb = context.session.store;
31
- var dom = context.dom;
32
- var options = {
33
- autoplay: false,
34
- chain: true,
35
- chainAlbums: true,
36
- loop: false
37
- };
38
- var removeExtension = function removeExtension(str) {
39
- var dot = str.lastIndexOf('.');
40
- if (dot < 0) return str; // if any
41
- var slash = str.lastIndexOf('/');
42
- if (dot < slash) return str;
43
- return str.slice(0, dot);
44
- };
45
-
46
- // True if there is another file like song.mp3 when this is "song 1.mp3"
47
- // or this is song.m4a
48
- //
49
- var looksRedundant = function looksRedundant(x) {
50
- var folder = kb.any(undefined, ns.ldp('contains'), x);
51
- if (!folder) return false;
52
- var contents = kb.each(folder, ns.ldp('contains'));
53
- if (contents.length < 2) return false;
54
- var thisName = x.uri;
55
- for (var k = 0; k < contents.length; k++) {
56
- var otherName = contents[k].uri;
57
- if (thisName.length > otherName.length && thisName.startsWith(removeExtension(otherName))) {
58
- return true;
59
- }
60
- if (thisName.endsWith('.m4a') && otherName.endsWith('.mp3') && removeExtension(thisName) === removeExtension(otherName)) {
61
- return true;
62
- }
63
- }
64
- return false;
65
- };
66
-
67
- // Alternative methods could include:
68
- // Accesing metadata in the audio contol, or paring the audio file
69
- var guessNames = function guessNames(x) {
70
- var a = x.uri.split('/').slice(-3); // Hope artist, album, track
71
- var decode = function decode(str) {
72
- try {
73
- return decodeURIComponent(str);
74
- } catch (e) {
75
- return str;
76
- }
77
- };
78
- artistRow.textContent = decode(a[0]);
79
- albumRow.textContent = decode(a[1]);
80
- trackRow.textContent = decode(removeExtension(a[2]));
81
- };
82
- var _moveOn = function moveOn(current, level) {
83
- return new Promise(function (resolve) {
84
- level = level || 0;
85
- if (!options.chain) return resolve(null);
86
- // Ideally navigate graph else cheat with URI munging:
87
- var folder = kb.any(undefined, ns.ldp('contains'), current) || current.dir();
88
- if (!folder) return resolve(null);
89
- kb.fetcher.load(folder).then(function (_xhr) {
90
- var contents = kb.each(folder, ns.ldp('contains')); // @@ load if not loaded
91
- // if (contents.length < 2) return resolve(null) NO might move on from 1-track album
92
- var j;
93
- contents.sort(); // sort by URI which hopefully will get tracks in order
94
- for (var i = 0; i < contents.length; i++) {
95
- if (current.uri === contents[i].uri) {
96
- j = (i + 1) % contents.length;
97
- if (j === 0) {
98
- if (!options.chainAlbums) {
99
- if (options.loop) {
100
- return resolve(contents[j]);
101
- }
102
- return resolve(null); // No more music needed
103
- } else {
104
- // chain albums
105
- if (level === 1 || !options.chainAlbums) return resolve(null); // limit of navigating treee
106
- _moveOn(folder, level + 1).then(function (folder2) {
107
- if (folder2) {
108
- kb.fetcher.load(folder2).then(function (_xhr) {
109
- var contents = kb.each(folder2, ns.ldp('contains'));
110
- if (contents.length === 0) return resolve(null);
111
- contents.sort();
112
- console.log('New Album: ' + folder2);
113
- return resolve(contents[0]); // Start off new album
114
- });
115
- }
116
- });
117
- }
118
- } else {
119
- return resolve(contents[j]);
120
- }
121
- }
122
- } // for
123
- });
124
- });
125
- };
126
- var endedListener = function endedListener(event) {
127
- var current = kb.sym(event.target.getAttribute('src'));
128
- if (!options.chain) return;
129
- var _tryNext = function tryNext(cur) {
130
- var current = cur;
131
- _moveOn(current).then(function (next) {
132
- if (!next) {
133
- console.log('No successor to ' + current);
134
- return;
135
- }
136
- if (!looksRedundant(next)) {
137
- console.log('Moving on to ' + next);
138
- guessNames(next);
139
- controlRow.appendChild(audioControl(next, true)); // Force autoplay
140
- controlRow.removeChild(event.target);
141
- } else {
142
- console.log('Ignoring redundant ' + next);
143
- _tryNext(next);
144
- }
145
- });
146
- };
147
- _tryNext(current);
148
- };
149
- var audioControl = function audioControl(song, autoplay) {
150
- var audio = dom.createElement('audio');
151
- audio.setAttribute('controls', 'yes');
152
- // get audio with authenticated fetch
153
- kb.fetcher._fetch(song.uri).then(function (response) {
154
- return response.blob();
155
- }).then(function (myBlob) {
156
- var objectURL = URL.createObjectURL(myBlob);
157
- audio.setAttribute('src', objectURL); // w640 h480 //
158
- });
159
- if (autoplay) {
160
- audio.setAttribute('autoplay', 'autoplay'); // Make this a personal preference
161
- }
162
- audio.addEventListener('ended', endedListener, false);
163
- return audio;
164
- };
165
- var div = dom.createElement('div');
166
- var table = div.appendChild(dom.createElement('table'));
167
- var labelStyle = 'padding: 0.3em; color:white; background-color: black;';
168
- var artistRow = table.appendChild(dom.createElement('tr'));
169
- artistRow.style.cssText = labelStyle;
170
- var albumRow = table.appendChild(dom.createElement('tr'));
171
- albumRow.style.cssText = labelStyle;
172
- var trackRow = table.appendChild(dom.createElement('tr'));
173
- trackRow.style.cssText = labelStyle;
174
- var controlRow = table.appendChild(dom.createElement('tr'));
175
- guessNames(subject);
176
- controlRow.appendChild(audioControl(subject, options.autoplay));
177
- if (!kb.holds(undefined, ns.ldp('contains'), subject) && subject.dir()) {
178
- kb.fetcher.load(subject.dir()); // Prefetch enclosing @@ or playlist
179
- }
180
- return div;
181
- }
182
- }; // ends
183
- //# sourceMappingURL=audioPane.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"audioPane.js","names":["UI","_interopRequireWildcard","require","$rdf","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ns","_default","exports","icon","icons","iconBase","name","label","subject","context","kb","session","store","typeURIs","findTypeURIs","prefix","Util","mediaTypeClass","uri","split","startsWith","render","dom","options","autoplay","chain","chainAlbums","loop","removeExtension","str","dot","lastIndexOf","slash","slice","looksRedundant","x","folder","any","undefined","ldp","contents","each","length","thisName","k","otherName","endsWith","guessNames","a","decode","decodeURIComponent","artistRow","textContent","albumRow","trackRow","moveOn","current","level","Promise","resolve","dir","fetcher","load","then","_xhr","j","sort","folder2","console","log","endedListener","event","sym","target","getAttribute","tryNext","cur","next","controlRow","appendChild","audioControl","removeChild","song","audio","createElement","setAttribute","_fetch","response","blob","myBlob","objectURL","URL","createObjectURL","addEventListener","div","table","labelStyle","style","cssText","holds"],"sources":["../../src/audio/audioPane.js"],"sourcesContent":["/* Single audio play Pane\n **\n */\n import * as UI from 'solid-ui'\n import * as $rdf from 'rdflib'\nconst ns = UI.ns\n\nexport default {\n icon: UI.icons.iconBase + 'noun_534313.svg',\n\n name: 'audio',\n\n // Does the subject deserve an audio play pane?\n label: function (subject, context) {\n const kb = context.session.store\n const typeURIs = kb.findTypeURIs(subject)\n\n const prefix = $rdf.Util.mediaTypeClass('audio/*').uri.split('*')[0]\n for (const t in typeURIs) {\n if (t.startsWith(prefix)) return 'Play audio'\n }\n return null\n },\n\n render: function (subject, context) {\n const kb = context.session.store\n const dom = context.dom\n const options = {\n autoplay: false,\n chain: true,\n chainAlbums: true,\n loop: false\n }\n\n const removeExtension = function (str) {\n const dot = str.lastIndexOf('.')\n if (dot < 0) return str // if any\n const slash = str.lastIndexOf('/')\n if (dot < slash) return str\n return str.slice(0, dot)\n }\n\n // True if there is another file like song.mp3 when this is \"song 1.mp3\"\n // or this is song.m4a\n //\n const looksRedundant = function (x) {\n const folder = kb.any(undefined, ns.ldp('contains'), x)\n if (!folder) return false\n const contents = kb.each(folder, ns.ldp('contains'))\n if (contents.length < 2) return false\n const thisName = x.uri\n for (let k = 0; k < contents.length; k++) {\n const otherName = contents[k].uri\n if (\n thisName.length > otherName.length &&\n thisName.startsWith(removeExtension(otherName))\n ) {\n return true\n }\n if (\n thisName.endsWith('.m4a') &&\n otherName.endsWith('.mp3') &&\n removeExtension(thisName) === removeExtension(otherName)\n ) {\n return true\n }\n }\n return false\n }\n\n // Alternative methods could include:\n // Accesing metadata in the audio contol, or paring the audio file\n const guessNames = function (x) {\n const a = x.uri.split('/').slice(-3) // Hope artist, album, track\n const decode = function (str) {\n try {\n return decodeURIComponent(str)\n } catch (e) {\n return str\n }\n }\n artistRow.textContent = decode(a[0])\n albumRow.textContent = decode(a[1])\n trackRow.textContent = decode(removeExtension(a[2]))\n }\n\n const moveOn = function (current, level) {\n return new Promise(function (resolve) {\n level = level || 0\n if (!options.chain) return resolve(null)\n // Ideally navigate graph else cheat with URI munging:\n const folder =\n kb.any(undefined, ns.ldp('contains'), current) || current.dir()\n if (!folder) return resolve(null)\n kb.fetcher.load(folder).then(function (_xhr) {\n const contents = kb.each(folder, ns.ldp('contains')) // @@ load if not loaded\n // if (contents.length < 2) return resolve(null) NO might move on from 1-track album\n let j\n contents.sort() // sort by URI which hopefully will get tracks in order\n for (let i = 0; i < contents.length; i++) {\n if (current.uri === contents[i].uri) {\n j = (i + 1) % contents.length\n if (j === 0) {\n if (!options.chainAlbums) {\n if (options.loop) {\n return resolve(contents[j])\n }\n return resolve(null) // No more music needed\n } else {\n // chain albums\n if (level === 1 || !options.chainAlbums) return resolve(null) // limit of navigating treee\n moveOn(folder, level + 1).then(function (folder2) {\n if (folder2) {\n kb.fetcher.load(folder2).then(function (_xhr) {\n const contents = kb.each(folder2, ns.ldp('contains'))\n if (contents.length === 0) return resolve(null)\n contents.sort()\n console.log('New Album: ' + folder2)\n return resolve(contents[0]) // Start off new album\n })\n }\n })\n }\n } else {\n return resolve(contents[j])\n }\n }\n } // for\n })\n })\n }\n const endedListener = function (event) {\n const current = kb.sym(event.target.getAttribute('src'))\n if (!options.chain) return\n const tryNext = function (cur) {\n const current = cur\n moveOn(current).then(function (next) {\n if (!next) {\n console.log('No successor to ' + current)\n return\n }\n if (!looksRedundant(next)) {\n console.log('Moving on to ' + next)\n guessNames(next)\n controlRow.appendChild(audioControl(next, true)) // Force autoplay\n controlRow.removeChild(event.target)\n } else {\n console.log('Ignoring redundant ' + next)\n tryNext(next)\n }\n })\n }\n tryNext(current)\n }\n\n const audioControl = function (song, autoplay) {\n const audio = dom.createElement('audio')\n audio.setAttribute('controls', 'yes')\n // get audio with authenticated fetch\n kb.fetcher._fetch(song.uri)\n .then(function(response) {\n return response.blob()\n })\n .then(function(myBlob) {\n const objectURL = URL.createObjectURL(myBlob)\n audio.setAttribute('src', objectURL) // w640 h480 //\n })\n\n if (autoplay) {\n audio.setAttribute('autoplay', 'autoplay') // Make this a personal preference\n }\n audio.addEventListener('ended', endedListener, false)\n return audio\n }\n\n const div = dom.createElement('div')\n const table = div.appendChild(dom.createElement('table'))\n const labelStyle = 'padding: 0.3em; color:white; background-color: black;'\n const artistRow = table.appendChild(dom.createElement('tr'))\n artistRow.style.cssText = labelStyle\n const albumRow = table.appendChild(dom.createElement('tr'))\n albumRow.style.cssText = labelStyle\n const trackRow = table.appendChild(dom.createElement('tr'))\n trackRow.style.cssText = labelStyle\n const controlRow = table.appendChild(dom.createElement('tr'))\n guessNames(subject)\n controlRow.appendChild(audioControl(subject, options.autoplay))\n\n if (!kb.holds(undefined, ns.ldp('contains'), subject) && subject.dir()) {\n kb.fetcher.load(subject.dir()) // Prefetch enclosing @@ or playlist\n }\n\n return div\n }\n}\n\n// ends\n"],"mappings":"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","ignoreList":[]}
@@ -1,93 +0,0 @@
1
- "use strict";
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
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.classInstancePane = void 0;
8
- var UI = _interopRequireWildcard(require("solid-ui"));
9
- 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); }
11
- /* Class member Pane
12
- **
13
- ** This outline pane lists the members of a class
14
- */
15
-
16
- var ns = UI.ns;
17
- var classInstancePane = exports.classInstancePane = {
18
- icon: UI.icons.originalIconBase + 'tango/22-folder-open.png',
19
- name: 'classInstance',
20
- // Create a new folder in a Solid system,
21
-
22
- audience: [ns.solid('PowerUser')],
23
- label: function label(subject, context) {
24
- var kb = context.session.store;
25
- var n = kb.each(undefined, ns.rdf('type'), subject).length;
26
- if (n > 0) return 'List (' + n + ')'; // Show how many in hover text
27
- return null; // Suppress pane otherwise
28
- },
29
- render: function render(subject, context) {
30
- var dom = context.dom;
31
- var outliner = context.getOutliner(dom);
32
- var kb = context.session.store;
33
- var complain = function complain(message, color) {
34
- var pre = dom.createElement('pre');
35
- pre.setAttribute('style', 'background-color: ' + color || '#eed' + ';');
36
- div.appendChild(pre);
37
- pre.appendChild(dom.createTextNode(message));
38
- };
39
- var div = dom.createElement('div');
40
- div.setAttribute('class', 'instancePane');
41
- div.setAttribute('style', ' border-top: solid 1px #777; border-bottom: solid 1px #777; margin-top: 0.5em; margin-bottom: 0.5em ');
42
-
43
- // If this is a class, look for all both explicit and implicit
44
- var sts = kb.statementsMatching(undefined, ns.rdf('type'), subject);
45
- if (sts.length > 0) {
46
- var already = {};
47
- var more = [];
48
- sts.forEach(function (st) {
49
- already[st.subject.toNT()] = st;
50
- });
51
- for (var nt in kb.findMembersNT(subject)) {
52
- if (!already[nt]) {
53
- more.push($rdf.st(kb.fromNT(nt), ns.rdf('type'), subject)); // @@ no provenance
54
- }
55
- }
56
- if (more.length) {
57
- complain('There are ' + sts.length + ' explicit and ' + more.length + ' implicit members of ' + UI.utils.label(subject));
58
- }
59
- if (subject.sameTerm(ns.rdf('Property'))) {
60
- // / Do not find all properties used as properties .. unless look at kb index
61
- } else if (subject.sameTerm(ns.rdfs('Class'))) {
62
- var uses = kb.statementsMatching(undefined, ns.rdf('type'), undefined);
63
- var usedTypes = {};
64
- uses.forEach(function (st) {
65
- usedTypes[st.object] = st;
66
- }); // Get unique
67
- var used = [];
68
- for (var i in usedTypes) {
69
- used.push($rdf.st($rdf.sym(i), ns.rdf('type'), ns.rdfs('Class')));
70
- }
71
- complain('Total of ' + uses.length + ' type statements and ' + used.length + ' unique types.');
72
- }
73
- if (sts.length > 10) {
74
- var tr = dom.createElement('TR');
75
- tr.appendChild(dom.createTextNode('' + sts.length));
76
- // tr.AJAR_statement=sts[i]
77
- div.appendChild(tr);
78
- }
79
- outliner.appendPropertyTRs(div, sts, true, function (_pred) {
80
- return true;
81
- });
82
- if (more.length) {
83
- complain('Implicit:');
84
- outliner.appendPropertyTRs(div, more, true, function (_pred) {
85
- return true;
86
- });
87
- }
88
- }
89
- return div;
90
- }
91
- };
92
- // ends
93
- //# sourceMappingURL=classInstancePane.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"classInstancePane.js","names":["UI","_interopRequireWildcard","require","$rdf","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ns","classInstancePane","exports","icon","icons","originalIconBase","name","audience","solid","label","subject","context","kb","session","store","each","undefined","rdf","length","render","dom","outliner","getOutliner","complain","message","color","pre","createElement","setAttribute","div","appendChild","createTextNode","sts","statementsMatching","already","more","forEach","st","toNT","nt","findMembersNT","push","fromNT","utils","sameTerm","rdfs","uses","usedTypes","object","used","sym","tr","appendPropertyTRs","_pred"],"sources":["../src/classInstancePane.js"],"sourcesContent":["/* Class member Pane\n **\n ** This outline pane lists the members of a class\n */\n\nimport * as UI from 'solid-ui'\nimport * as $rdf from 'rdflib'\n\nconst ns = UI.ns\n\nexport const classInstancePane = {\n icon: UI.icons.originalIconBase + 'tango/22-folder-open.png',\n\n name: 'classInstance',\n\n // Create a new folder in a Solid system,\n\n audience: [ns.solid('PowerUser')],\n\n label: function (subject, context) {\n const kb = context.session.store\n const n = kb.each(undefined, ns.rdf('type'), subject).length\n if (n > 0) return 'List (' + n + ')' // Show how many in hover text\n return null // Suppress pane otherwise\n },\n\n render: function (subject, context) {\n const dom = context.dom\n const outliner = context.getOutliner(dom)\n const kb = context.session.store\n const complain = function complain (message, color) {\n const pre = dom.createElement('pre')\n pre.setAttribute('style', 'background-color: ' + color || '#eed' + ';')\n div.appendChild(pre)\n pre.appendChild(dom.createTextNode(message))\n }\n const div = dom.createElement('div')\n div.setAttribute('class', 'instancePane')\n div.setAttribute(\n 'style',\n ' border-top: solid 1px #777; border-bottom: solid 1px #777; margin-top: 0.5em; margin-bottom: 0.5em '\n )\n\n // If this is a class, look for all both explicit and implicit\n const sts = kb.statementsMatching(undefined, ns.rdf('type'), subject)\n if (sts.length > 0) {\n const already = {}\n const more = []\n sts.forEach(st => {\n already[st.subject.toNT()] = st\n })\n for (const nt in kb.findMembersNT(subject)) {\n if (!already[nt]) {\n more.push($rdf.st(kb.fromNT(nt), ns.rdf('type'), subject)) // @@ no provenance\n }\n }\n if (more.length) {\n complain(\n 'There are ' +\n sts.length +\n ' explicit and ' +\n more.length +\n ' implicit members of ' +\n UI.utils.label(subject)\n )\n }\n if (subject.sameTerm(ns.rdf('Property'))) {\n // / Do not find all properties used as properties .. unless look at kb index\n } else if (subject.sameTerm(ns.rdfs('Class'))) {\n const uses = kb.statementsMatching(undefined, ns.rdf('type'), undefined)\n const usedTypes = {}\n uses.forEach(function (st) {\n usedTypes[st.object] = st\n }) // Get unique\n const used = []\n for (const i in usedTypes) {\n used.push($rdf.st($rdf.sym(i), ns.rdf('type'), ns.rdfs('Class')))\n }\n complain(\n 'Total of ' +\n uses.length +\n ' type statements and ' +\n used.length +\n ' unique types.'\n )\n }\n\n if (sts.length > 10) {\n const tr = dom.createElement('TR')\n tr.appendChild(dom.createTextNode('' + sts.length))\n // tr.AJAR_statement=sts[i]\n div.appendChild(tr)\n }\n\n outliner.appendPropertyTRs(div, sts, true, function (_pred) {\n return true\n })\n\n if (more.length) {\n complain('Implicit:')\n outliner.appendPropertyTRs(div, more, true, function (_pred) {\n return true\n })\n }\n }\n\n return div\n }\n}\n// ends\n"],"mappings":"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","ignoreList":[]}