solid-panes 3.5.28-alpha → 3.5.28-c481e73e

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 (309) hide show
  1. package/.babelrc +0 -0
  2. package/.eslintignore +0 -0
  3. package/.eslintrc +0 -0
  4. package/.github/workflows/ci.yml +0 -0
  5. package/.nvmrc +0 -0
  6. package/Documentation/VisualLanguage.html +0 -0
  7. package/Documentation/conventions.md +0 -0
  8. package/LICENSE.md +0 -0
  9. package/README.md +0 -2
  10. package/dev/index.html +0 -0
  11. package/dev/loader.ts +0 -0
  12. package/dev/pane/index.ts +0 -0
  13. package/doc/images/panes-for-classes.epgz +0 -0
  14. package/doc/images/panes-for-classes.svg +0 -0
  15. package/jest.config.js +0 -0
  16. package/jest.setup.ts +0 -0
  17. package/lib/RDFXMLPane.js +15 -9
  18. package/lib/RDFXMLPane.js.map +1 -1
  19. package/lib/argument/argumentPane.js +12 -11
  20. package/lib/argument/argumentPane.js.map +1 -1
  21. package/lib/attach/attachPane.js +58 -90
  22. package/lib/attach/attachPane.js.map +1 -1
  23. package/lib/audio/audioPane.js +19 -37
  24. package/lib/audio/audioPane.js.map +1 -1
  25. package/lib/classInstancePane.js +21 -22
  26. package/lib/classInstancePane.js.map +1 -1
  27. package/lib/dashboard/basicPreferences.d.ts +0 -0
  28. package/lib/dashboard/basicPreferences.d.ts.map +0 -0
  29. package/lib/dashboard/basicPreferences.js +96 -154
  30. package/lib/dashboard/basicPreferences.js.map +1 -1
  31. package/lib/dashboard/dashboardPane.d.ts +0 -0
  32. package/lib/dashboard/dashboardPane.d.ts.map +0 -0
  33. package/lib/dashboard/dashboardPane.js +2 -18
  34. package/lib/dashboard/dashboardPane.js.map +1 -1
  35. package/lib/dashboard/homepage.d.ts +0 -0
  36. package/lib/dashboard/homepage.d.ts.map +0 -0
  37. package/lib/dashboard/homepage.js +27 -49
  38. package/lib/dashboard/homepage.js.map +1 -1
  39. package/lib/dataContentPane.js +26 -61
  40. package/lib/dataContentPane.js.map +1 -1
  41. package/lib/defaultPane.js +23 -23
  42. package/lib/defaultPane.js.map +1 -1
  43. package/lib/dokieli/dokieliPane.js +29 -34
  44. package/lib/dokieli/dokieliPane.js.map +1 -1
  45. package/lib/dokieli/new.js +6 -1
  46. package/lib/dokieli/new.js.map +1 -1
  47. package/lib/form/pane.js +34 -45
  48. package/lib/form/pane.js.map +1 -1
  49. package/lib/global.d.js +0 -0
  50. package/lib/global.d.js.map +0 -0
  51. package/lib/home/homePane.d.ts +0 -0
  52. package/lib/home/homePane.d.ts.map +1 -1
  53. package/lib/home/homePane.js +38 -68
  54. package/lib/home/homePane.js.map +1 -1
  55. package/lib/humanReadablePane.js +14 -28
  56. package/lib/humanReadablePane.js.map +1 -1
  57. package/lib/imagePane.js +19 -14
  58. package/lib/imagePane.js.map +1 -1
  59. package/lib/index.d.ts +0 -0
  60. package/lib/index.d.ts.map +0 -0
  61. package/lib/index.js +6 -20
  62. package/lib/index.js.map +1 -1
  63. package/lib/internal/internalPane.d.ts +0 -0
  64. package/lib/internal/internalPane.d.ts.map +0 -0
  65. package/lib/internal/internalPane.js +10 -41
  66. package/lib/internal/internalPane.js.map +1 -1
  67. package/lib/mainPage/footer.d.ts +0 -0
  68. package/lib/mainPage/footer.d.ts.map +0 -0
  69. package/lib/mainPage/footer.js +0 -4
  70. package/lib/mainPage/footer.js.map +1 -1
  71. package/lib/mainPage/header.d.ts +0 -0
  72. package/lib/mainPage/header.d.ts.map +0 -0
  73. package/lib/mainPage/header.js +66 -100
  74. package/lib/mainPage/header.js.map +1 -1
  75. package/lib/mainPage/index.d.ts +0 -0
  76. package/lib/mainPage/index.d.ts.map +0 -0
  77. package/lib/mainPage/index.js +17 -30
  78. package/lib/mainPage/index.js.map +1 -1
  79. package/lib/microblogPane/microblogPane.js +182 -321
  80. package/lib/microblogPane/microblogPane.js.map +1 -1
  81. package/lib/n3Pane.js +12 -8
  82. package/lib/n3Pane.js.map +1 -1
  83. package/lib/outline/context.d.ts +0 -0
  84. package/lib/outline/context.d.ts.map +0 -0
  85. package/lib/outline/context.js +0 -2
  86. package/lib/outline/context.js.map +1 -1
  87. package/lib/outline/licenseOptions.js +21 -35
  88. package/lib/outline/licenseOptions.js.map +1 -1
  89. package/lib/outline/manager.js +740 -1176
  90. package/lib/outline/manager.js.map +1 -1
  91. package/lib/outline/manager.test.js +16 -25
  92. package/lib/outline/manager.test.js.map +1 -1
  93. package/lib/outline/outlineIcons.js +39 -26
  94. package/lib/outline/outlineIcons.js.map +1 -1
  95. package/lib/outline/propertyViews.d.ts +3 -2
  96. package/lib/outline/propertyViews.d.ts.map +1 -1
  97. package/lib/outline/propertyViews.js +7 -15
  98. package/lib/outline/propertyViews.js.map +1 -1
  99. package/lib/outline/propertyViews.test.js +7 -7
  100. package/lib/outline/propertyViews.test.js.map +1 -1
  101. package/lib/outline/queryByExample.js +28 -80
  102. package/lib/outline/queryByExample.js.map +1 -1
  103. package/lib/outline/userInput.js +221 -459
  104. package/lib/outline/userInput.js.map +1 -1
  105. package/lib/outline/viewAsImage.d.ts +0 -0
  106. package/lib/outline/viewAsImage.d.ts.map +0 -0
  107. package/lib/outline/viewAsImage.js +0 -6
  108. package/lib/outline/viewAsImage.js.map +1 -1
  109. package/lib/outline/viewAsMbox.d.ts +0 -0
  110. package/lib/outline/viewAsMbox.d.ts.map +0 -0
  111. package/lib/outline/viewAsMbox.js +3 -4
  112. package/lib/outline/viewAsMbox.js.map +1 -1
  113. package/lib/pad/padPane.d.ts +0 -0
  114. package/lib/pad/padPane.d.ts.map +0 -0
  115. package/lib/pad/padPane.js +45 -93
  116. package/lib/pad/padPane.js.map +1 -1
  117. package/lib/playlist/playlistPane.js +11 -21
  118. package/lib/playlist/playlistPane.js.map +1 -1
  119. package/lib/profile/editProfile.view.d.ts +0 -0
  120. package/lib/profile/editProfile.view.d.ts.map +1 -1
  121. package/lib/profile/editProfile.view.js +22 -23
  122. package/lib/profile/editProfile.view.js.map +1 -1
  123. package/lib/profile/profile.dom.d.ts +0 -0
  124. package/lib/profile/profile.dom.d.ts.map +0 -0
  125. package/lib/profile/profile.dom.js +0 -3
  126. package/lib/profile/profile.dom.js.map +1 -1
  127. package/lib/registerPanes.js +99 -54
  128. package/lib/registerPanes.js.map +1 -1
  129. package/lib/schedule/formsForSchedule.js +6 -1
  130. package/lib/schedule/formsForSchedule.js.map +1 -1
  131. package/lib/schedule/schedulePane.js +71 -126
  132. package/lib/schedule/schedulePane.js.map +1 -1
  133. package/lib/sharing/sharingPane.d.ts +0 -0
  134. package/lib/sharing/sharingPane.d.ts.map +0 -0
  135. package/lib/sharing/sharingPane.js +2 -10
  136. package/lib/sharing/sharingPane.js.map +1 -1
  137. package/lib/slideshow/slideshowPane.js +21 -21
  138. package/lib/slideshow/slideshowPane.js.map +1 -1
  139. package/lib/socialPane.js +58 -135
  140. package/lib/socialPane.js.map +1 -1
  141. package/lib/tabbed/tabbedPane.d.ts +0 -0
  142. package/lib/tabbed/tabbedPane.d.ts.map +0 -0
  143. package/lib/tabbed/tabbedPane.js +32 -48
  144. package/lib/tabbed/tabbedPane.js.map +1 -1
  145. package/lib/tableViewPane.js +15 -9
  146. package/lib/tableViewPane.js.map +1 -1
  147. package/lib/test-import-export/common.js +8 -3
  148. package/lib/test-import-export/common.js.map +1 -1
  149. package/lib/test-import-export/edit-importer.js +10 -14
  150. package/lib/test-import-export/edit-importer.js.map +1 -1
  151. package/lib/test-import-export/testImportExport.js +0 -0
  152. package/lib/test-import-export/testImportExport.js.map +0 -0
  153. package/lib/transaction/pane.js +38 -91
  154. package/lib/transaction/pane.js.map +1 -1
  155. package/lib/transaction/period.js +27 -71
  156. package/lib/transaction/period.js.map +1 -1
  157. package/lib/trip/tripPane.js +38 -35
  158. package/lib/trip/tripPane.js.map +1 -1
  159. package/lib/trustedApplications/trustedApplications.dom.d.ts +0 -0
  160. package/lib/trustedApplications/trustedApplications.dom.d.ts.map +0 -0
  161. package/lib/trustedApplications/trustedApplications.dom.js +12 -35
  162. package/lib/trustedApplications/trustedApplications.dom.js.map +1 -1
  163. package/lib/trustedApplications/trustedApplications.test.js +6 -8
  164. package/lib/trustedApplications/trustedApplications.test.js.map +1 -1
  165. package/lib/trustedApplications/trustedApplications.utils.d.ts +0 -0
  166. package/lib/trustedApplications/trustedApplications.utils.d.ts.map +0 -0
  167. package/lib/trustedApplications/trustedApplications.utils.js +1 -11
  168. package/lib/trustedApplications/trustedApplications.utils.js.map +1 -1
  169. package/lib/trustedApplications/trustedApplications.view.d.ts +0 -0
  170. package/lib/trustedApplications/trustedApplications.view.d.ts.map +0 -0
  171. package/lib/trustedApplications/trustedApplications.view.js +38 -61
  172. package/lib/trustedApplications/trustedApplications.view.js.map +1 -1
  173. package/lib/types.d.ts +0 -0
  174. package/lib/types.d.ts.map +0 -0
  175. package/lib/types.js +0 -0
  176. package/lib/types.js.map +0 -0
  177. package/lib/ui/pane.js +30 -29
  178. package/lib/ui/pane.js.map +1 -1
  179. package/lib/versionInfo.d.ts +0 -0
  180. package/lib/versionInfo.d.ts.map +0 -0
  181. package/lib/versionInfo.js +14 -14
  182. package/lib/versionInfo.js.map +1 -1
  183. package/lib/video/videoPane.js +11 -7
  184. package/lib/video/videoPane.js.map +1 -1
  185. package/package.json +26 -26
  186. package/src/RDFXMLPane.js +2 -2
  187. package/src/argument/argumentPane.js +1 -1
  188. package/src/argument/argument_icon_v04.jpg +0 -0
  189. package/src/argument/icon_argument.png +0 -0
  190. package/src/argument/transparentyingyang.png +0 -0
  191. package/src/attach/attachPane.js +3 -3
  192. package/src/attach/tbl-paperclip-128.png +0 -0
  193. package/src/attach/tbl-paperclip-22.png +0 -0
  194. package/src/attach/tbl-paperclip-22a.png +0 -0
  195. package/src/audio/audioPane.js +3 -3
  196. package/src/chatPreferencesForm.ttl +0 -0
  197. package/src/classInstancePane.js +3 -3
  198. package/src/dashboard/basicPreferences.ts +0 -0
  199. package/src/dashboard/dashboardPane.ts +0 -0
  200. package/src/dashboard/homepage.ts +0 -0
  201. package/src/dashboard/languages/codes.html +0 -0
  202. package/src/dashboard/languages/codes.xml +0 -0
  203. package/src/dashboard/languages/codes2.txt +0 -0
  204. package/src/dashboard/languages/foo +0 -0
  205. package/src/dashboard/languages/foo.ttl +0 -0
  206. package/src/dashboard/languages/get-language-names.sh +0 -0
  207. package/src/dashboard/ontologyData.ttl +0 -0
  208. package/src/dashboard/preferencesFormText.ttl +0 -0
  209. package/src/dataContentPane.js +3 -4
  210. package/src/defaultPane.js +3 -3
  211. package/src/dokieli/Makefile +0 -0
  212. package/src/dokieli/dokieliPane.js +5 -5
  213. package/src/dokieli/new.html +0 -0
  214. package/src/dokieli/new.js +1 -1
  215. package/src/form/form-22.png +0 -0
  216. package/src/form/form-b-22.png +0 -0
  217. package/src/form/form.graffle +0 -0
  218. package/src/form/form.png +0 -0
  219. package/src/form/pane.js +2 -2
  220. package/src/form/psuedocode-notes.txt +0 -0
  221. package/src/global.d.ts +0 -0
  222. package/src/home/homePane.ts +1 -14
  223. package/src/humanReadablePane.js +0 -0
  224. package/src/imagePane.js +2 -2
  225. package/src/index.ts +1 -1
  226. package/src/internal/internalPane.ts +0 -0
  227. package/src/mainPage/footer.ts +0 -0
  228. package/src/mainPage/header.ts +0 -0
  229. package/src/mainPage/index.ts +0 -0
  230. package/src/meeting/Makefile +0 -0
  231. package/src/meeting/test/meeting1/Actions/actions.ttl +0 -0
  232. package/src/meeting/test/meeting1/Actions/config.ttl +0 -0
  233. package/src/meeting/test/meeting1/Actions/state.ttl +0 -0
  234. package/src/meeting/test/meeting1/Schedule/details.ttl +0 -0
  235. package/src/meeting/test/meeting1/Schedule/details.ttl.acl +0 -0
  236. package/src/meeting/test/meeting1/Schedule/forms.ttl +0 -0
  237. package/src/meeting/test/meeting1/Schedule/forms.ttl.acl +0 -0
  238. package/src/meeting/test/meeting1/Schedule/index.html +0 -0
  239. package/src/meeting/test/meeting1/Schedule/index.html.acl +0 -0
  240. package/src/meeting/test/meeting1/Schedule/results.ttl +0 -0
  241. package/src/meeting/test/meeting1/Schedule/results.ttl.acl +0 -0
  242. package/src/meeting/test/meeting1/SharedNotes/pad.ttl +0 -0
  243. package/src/meeting/test/meeting1/chat/chat.ttl +0 -0
  244. package/src/meeting/test/meeting1/details.ttl +0 -0
  245. package/src/meeting/test/meeting1/pad/pad.ttl +0 -0
  246. package/src/microblogPane/mbStyle.css +0 -0
  247. package/src/microblogPane/microblogPane.js +1 -1
  248. package/src/n3Pane.js +2 -2
  249. package/src/outline/context.ts +0 -0
  250. package/src/outline/licenseOptions.js +9 -8
  251. package/src/outline/manager.js +18 -20
  252. package/src/outline/manager.test.ts +6 -0
  253. package/src/outline/outlineIcons.js +4 -2
  254. package/src/outline/propertyViews.test.ts +7 -1
  255. package/src/outline/propertyViews.ts +3 -3
  256. package/src/outline/queryByExample.js +3 -9
  257. package/src/outline/userInput.js +1 -1
  258. package/src/outline/viewAsImage.ts +0 -0
  259. package/src/outline/viewAsMbox.ts +0 -0
  260. package/src/pad/images/ColourOff.ai +0 -0
  261. package/src/pad/images/ColourOff.png +0 -0
  262. package/src/pad/images/ColourOn.ai +0 -0
  263. package/src/pad/images/ColourOn.png +0 -0
  264. package/src/pad/padPane.ts +0 -0
  265. package/src/playlist/playlistPane.js +3 -3
  266. package/src/profile/editProfile.view.ts +20 -0
  267. package/src/profile/profile.dom.ts +0 -0
  268. package/src/profile/profileFormText.ttl +0 -0
  269. package/src/registerPanes.js +92 -52
  270. package/src/schedule/Makefile +0 -0
  271. package/src/schedule/formsForSchedule.js +1 -1
  272. package/src/schedule/formsForSchedule.ttl +0 -0
  273. package/src/schedule/schedulePane.js +6 -2
  274. package/src/sharing/sharingPane.ts +0 -0
  275. package/src/slideshow/slideshowPane.js +3 -6
  276. package/src/socialPane.js +4 -5
  277. package/src/style/tabbedtab.css +0 -0
  278. package/src/tabbed/tabbedPane.ts +0 -0
  279. package/src/tableViewPane.js +3 -3
  280. package/src/test-import-export/common.js +1 -1
  281. package/src/test-import-export/edit-importer.js +5 -10
  282. package/src/test-import-export/testImportExport.js +0 -0
  283. package/src/transaction/068010-3d-transparent-glass-icon-alphanumeric-dollar-sign.png +0 -0
  284. package/src/transaction/075988-3d-transparent-glass-icon-business-currency-british-pound-sc35.png +0 -0
  285. package/src/transaction/22-pixel-068010-3d-transparent-glass-icon-alphanumeric-dollar-sign.png +0 -0
  286. package/src/transaction/pane.js +3 -3
  287. package/src/transaction/period.js +2 -2
  288. package/src/transaction/thumbs_075987-3d-transparent-glass-icon-business-creditcard2.png +0 -0
  289. package/src/transaction/thumbs_075989-3d-transparent-glass-icon-business-currency-cent-sc35.png +0 -0
  290. package/src/trip/tripPane.js +3 -3
  291. package/src/trustedApplications/__snapshots__/trustedApplications.test.ts.snap +0 -0
  292. package/src/trustedApplications/trustedApplications.dom.ts +0 -0
  293. package/src/trustedApplications/trustedApplications.test.ts +4 -0
  294. package/src/trustedApplications/trustedApplications.utils.ts +0 -0
  295. package/src/trustedApplications/trustedApplications.view.ts +0 -0
  296. package/src/types.ts +0 -0
  297. package/src/ui/22-builder.png +0 -0
  298. package/src/ui/builder.graffle +0 -0
  299. package/src/ui/builder.png +0 -0
  300. package/src/ui/builder2.png +0 -0
  301. package/src/ui/pane.js +3 -3
  302. package/src/versionInfo.ts +14 -14
  303. package/src/video/videoPane.js +3 -3
  304. package/timestamp.sh +0 -0
  305. package/travis/bumpversion.js +0 -0
  306. package/tsconfig.json +0 -0
  307. package/typings/raw-loader.d.ts +0 -0
  308. package/typings/solid-namespace/index.d.ts +0 -0
  309. package/webpack.config.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"pane.js","names":["ns","UI","module","exports","icon","icons","iconBase","name","audience","solid","label","subject","n","widgets","formsFor","length","log","debug","render","context","kb","session","store","dom","mention","complain","message","style","pre","createElement","setAttribute","box","appendChild","textContent","complainIfBad","ok","body","me","authn","currentUser","ws","each","ui","renderFormsFor","fetcher","nowOrWhenFetched","uri","forms","i","form","heading","formStore","$rdf","Util","document","e","editFormButton","anchor","utils","appendForm","docuri","docpart","updater","editable","doc","any","sym","link","docs","docList","statementsMatching","forEach","st","why","undefined","d","push","sort","_followeach","path","oo","res","concat","slice","date","foobarbaz","login","selectWorkspace","activities","space","j","act","subjectDoc2","start","cal","value","end"],"sources":["../../src/form/pane.js"],"sourcesContent":["/*\n ** Pane for running existing forms for any object\n **\n */\n\nimport * as UI from 'solid-ui'\nimport { authn } from 'solid-logic'\nimport * as $rdf from 'rdflib'\nconst ns = UI.ns\n\nmodule.exports = {\n icon: UI.icons.iconBase + 'noun_122196.svg',\n\n name: 'form',\n\n audience: [ns.solid('PowerUser')],\n\n // Does the subject deserve this pane?\n label: function (subject) {\n const n = UI.widgets.formsFor(subject).length\n UI.log.debug('Form pane: forms for ' + subject + ': ' + n)\n if (!n) return null\n return '' + n + ' forms'\n },\n\n render: function (subject, context) {\n const kb = context.session.store\n const dom = context.dom\n\n const mention = function complain (message, style) {\n const pre = dom.createElement('p')\n pre.setAttribute('style', style || 'color: grey; background-color: white')\n box.appendChild(pre).textContent = message\n return pre\n }\n\n const complain = function complain (message, style) {\n mention(message, 'style', style || 'color: grey; background-color: #fdd;')\n }\n\n const complainIfBad = function (ok, body) {\n if (ok) {\n // setModifiedDate(store, kb, store);\n // rerender(box); // Deleted forms at the moment\n } else complain('Sorry, failed to save your change:\\n' + body)\n }\n\n // The question of where to store this data about subject\n // This in general needs a whole lot more thought\n // and it connects to the discoverbility through links\n\n // const t = kb.findTypeURIs(subject)\n\n const me = authn.currentUser()\n\n const box = dom.createElement('div')\n box.setAttribute('class', 'formPane')\n\n if (!me) {\n mention(\n 'You are not logged in. If you log in and have ' +\n 'workspaces then you would be able to select workspace in which ' +\n 'to put this new information'\n )\n } else {\n const ws = kb.each(me, ns.ui('workspace'))\n if (ws.length === 0) {\n mention(\n \"You don't seem to have any workspaces defined. \" +\n 'A workspace is a place on the web (http://..) or in ' +\n 'the file system (file:///) to store application data.\\n'\n )\n } else {\n // @@\n }\n }\n\n // Render forms using a given store\n\n const renderFormsFor = function (store, subject) {\n kb.fetcher.nowOrWhenFetched(store.uri, subject, function (ok, body) {\n if (!ok) return complain('Cannot load store ' + store.uri + ': ' + body)\n\n // Render the forms\n\n const forms = UI.widgets.formsFor(subject)\n\n // complain('Form for editing this form:');\n for (let i = 0; i < forms.length; i++) {\n const form = forms[i]\n const heading = dom.createElement('h4')\n box.appendChild(heading)\n if (form.uri) {\n const formStore = $rdf.Util.uri.document(form.uri)\n if (formStore.uri !== form.uri) {\n // The form is a hash-type URI\n const e = box.appendChild(\n UI.widgets.editFormButton(\n dom,\n box,\n form,\n formStore,\n complainIfBad\n )\n )\n e.setAttribute('style', 'float: right;')\n }\n }\n const anchor = dom.createElement('a')\n anchor.setAttribute('href', form.uri)\n heading.appendChild(anchor)\n anchor.textContent = UI.utils.label(form, true)\n\n /* Keep tis as a reminder to let a New one have its URI given by user\n mention(\"Where will this information be stored?\")\n const ele = dom.createElement('input');\n box.appendChild(ele);\n ele.setAttribute('type', 'text');\n ele.setAttribute('size', '72');\n ele.setAttribute('maxlength', '1024');\n ele.setAttribute('style', 'font-size: 80%; color:#222;');\n ele.value = store.uri\n */\n\n UI.widgets.appendForm(\n dom,\n box,\n {},\n subject,\n form,\n store,\n complainIfBad\n )\n }\n }) // end: when store loded\n } // renderFormsFor\n\n // Figure out what store\n\n // Which places are editable and have stuff about the subject?\n\n let store = null\n\n // 1. The document URI of the subject itself\n const docuri = $rdf.Util.uri.docpart(subject.uri)\n if (subject.uri !== docuri && kb.updater.editable(docuri, kb)) {\n store = subject.doc()\n } // an editable data file with hash\n\n store = store || kb.any(kb.sym(docuri), ns.link('annotationStore'))\n\n // 2. where stuff is already stored\n if (!store) {\n const docs = {}\n const docList = []\n store.statementsMatching(subject).forEach(function (st) {\n docs[st.why.uri] = 1\n })\n store\n .statementsMatching(undefined, undefined, subject)\n .forEach(function (st) {\n docs[st.why.uri] = 2\n })\n for (const d in docs) docList.push(docs[d], d)\n docList.sort()\n for (let i = 0; i < docList.length; i++) {\n const uri = docList[i][1]\n if (uri && store.updater.editable(uri)) {\n store = store.sym(uri)\n break\n }\n }\n }\n\n // 3. In a workspace store\n // @@ TODO: Can probably remove _followeach (not done this time because the commit is a very safe refactor)\n const _followeach = function (kb, subject, path) {\n if (path.length === 0) return [subject]\n const oo = kb.each(subject, path[0])\n let res = []\n for (let i = 0; i < oo.length; i++) {\n res = res.concat(_followeach(kb, oo[i], path.slice(1)))\n }\n return res\n }\n\n const date = '2014' // @@@@@@@@@@@@ pass as parameter\n\n if (store) {\n // mention(\"@@ Ok, we have a store <\" + store.uri + \">.\");\n renderFormsFor(store, subject)\n } else {\n complain('No suitable store is known, to edit <' + subject.uri + '>.')\n const foobarbaz = UI.login.selectWorkspace(dom, function (ws) {\n mention('Workspace selected OK: ' + ws)\n\n const activities = store.each(undefined, ns.space('workspace'), ws)\n for (let j = 0; j < activities.length; j++) {\n const act = activities[j]\n\n const subjectDoc2 = store.any(ws, ns.space('store'))\n const start = store.any(ws, ns.cal('dtstart')).value()\n const end = store.any(ws, ns.cal('dtend')).value()\n if (subjectDoc2 && start && end && start <= date && end > date) {\n renderFormsFor(subjectDoc2, subject)\n break\n } else {\n complain('Note no suitable annotation store in activity: ' + act)\n }\n }\n })\n box.appendChild(foobarbaz)\n }\n\n return box\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"pane.js","names":["ns","UI","formPane","icon","icons","iconBase","name","audience","solid","label","subject","n","widgets","formsFor","length","log","debug","render","context","kb","session","store","dom","mention","complain","message","style","pre","createElement","setAttribute","box","appendChild","textContent","complainIfBad","ok","body","me","authn","currentUser","ws","each","ui","renderFormsFor","fetcher","nowOrWhenFetched","uri","forms","i","form","heading","formStore","$rdf","Util","document","e","editFormButton","anchor","utils","appendForm","docuri","docpart","updater","editable","doc","any","sym","link","docs","docList","statementsMatching","forEach","st","why","undefined","d","push","sort","_followeach","path","oo","res","concat","slice","date","foobarbaz","login","selectWorkspace","activities","space","j","act","subjectDoc2","start","cal","value","end"],"sources":["../../src/form/pane.js"],"sourcesContent":["/*\n ** Pane for running existing forms for any object\n **\n */\n\nimport * as UI from 'solid-ui'\nimport { authn } from 'solid-logic'\nimport * as $rdf from 'rdflib'\nconst ns = UI.ns\n\nexport const formPane = {\n icon: UI.icons.iconBase + 'noun_122196.svg',\n\n name: 'form',\n\n audience: [ns.solid('PowerUser')],\n\n // Does the subject deserve this pane?\n label: function (subject) {\n const n = UI.widgets.formsFor(subject).length\n UI.log.debug('Form pane: forms for ' + subject + ': ' + n)\n if (!n) return null\n return '' + n + ' forms'\n },\n\n render: function (subject, context) {\n const kb = context.session.store\n const dom = context.dom\n\n const mention = function complain (message, style) {\n const pre = dom.createElement('p')\n pre.setAttribute('style', style || 'color: grey; background-color: white')\n box.appendChild(pre).textContent = message\n return pre\n }\n\n const complain = function complain (message, style) {\n mention(message, 'style', style || 'color: grey; background-color: #fdd;')\n }\n\n const complainIfBad = function (ok, body) {\n if (ok) {\n // setModifiedDate(store, kb, store);\n // rerender(box); // Deleted forms at the moment\n } else complain('Sorry, failed to save your change:\\n' + body)\n }\n\n // The question of where to store this data about subject\n // This in general needs a whole lot more thought\n // and it connects to the discoverbility through links\n\n // const t = kb.findTypeURIs(subject)\n\n const me = authn.currentUser()\n\n const box = dom.createElement('div')\n box.setAttribute('class', 'formPane')\n\n if (!me) {\n mention(\n 'You are not logged in. If you log in and have ' +\n 'workspaces then you would be able to select workspace in which ' +\n 'to put this new information'\n )\n } else {\n const ws = kb.each(me, ns.ui('workspace'))\n if (ws.length === 0) {\n mention(\n \"You don't seem to have any workspaces defined. \" +\n 'A workspace is a place on the web (http://..) or in ' +\n 'the file system (file:///) to store application data.\\n'\n )\n } else {\n // @@\n }\n }\n\n // Render forms using a given store\n\n const renderFormsFor = function (store, subject) {\n kb.fetcher.nowOrWhenFetched(store.uri, subject, function (ok, body) {\n if (!ok) return complain('Cannot load store ' + store.uri + ': ' + body)\n\n // Render the forms\n\n const forms = UI.widgets.formsFor(subject)\n\n // complain('Form for editing this form:');\n for (let i = 0; i < forms.length; i++) {\n const form = forms[i]\n const heading = dom.createElement('h4')\n box.appendChild(heading)\n if (form.uri) {\n const formStore = $rdf.Util.uri.document(form.uri)\n if (formStore.uri !== form.uri) {\n // The form is a hash-type URI\n const e = box.appendChild(\n UI.widgets.editFormButton(\n dom,\n box,\n form,\n formStore,\n complainIfBad\n )\n )\n e.setAttribute('style', 'float: right;')\n }\n }\n const anchor = dom.createElement('a')\n anchor.setAttribute('href', form.uri)\n heading.appendChild(anchor)\n anchor.textContent = UI.utils.label(form, true)\n\n /* Keep tis as a reminder to let a New one have its URI given by user\n mention(\"Where will this information be stored?\")\n const ele = dom.createElement('input');\n box.appendChild(ele);\n ele.setAttribute('type', 'text');\n ele.setAttribute('size', '72');\n ele.setAttribute('maxlength', '1024');\n ele.setAttribute('style', 'font-size: 80%; color:#222;');\n ele.value = store.uri\n */\n\n UI.widgets.appendForm(\n dom,\n box,\n {},\n subject,\n form,\n store,\n complainIfBad\n )\n }\n }) // end: when store loded\n } // renderFormsFor\n\n // Figure out what store\n\n // Which places are editable and have stuff about the subject?\n\n let store = null\n\n // 1. The document URI of the subject itself\n const docuri = $rdf.Util.uri.docpart(subject.uri)\n if (subject.uri !== docuri && kb.updater.editable(docuri, kb)) {\n store = subject.doc()\n } // an editable data file with hash\n\n store = store || kb.any(kb.sym(docuri), ns.link('annotationStore'))\n\n // 2. where stuff is already stored\n if (!store) {\n const docs = {}\n const docList = []\n store.statementsMatching(subject).forEach(function (st) {\n docs[st.why.uri] = 1\n })\n store\n .statementsMatching(undefined, undefined, subject)\n .forEach(function (st) {\n docs[st.why.uri] = 2\n })\n for (const d in docs) docList.push(docs[d], d)\n docList.sort()\n for (let i = 0; i < docList.length; i++) {\n const uri = docList[i][1]\n if (uri && store.updater.editable(uri)) {\n store = store.sym(uri)\n break\n }\n }\n }\n\n // 3. In a workspace store\n // @@ TODO: Can probably remove _followeach (not done this time because the commit is a very safe refactor)\n const _followeach = function (kb, subject, path) {\n if (path.length === 0) return [subject]\n const oo = kb.each(subject, path[0])\n let res = []\n for (let i = 0; i < oo.length; i++) {\n res = res.concat(_followeach(kb, oo[i], path.slice(1)))\n }\n return res\n }\n\n const date = '2014' // @@@@@@@@@@@@ pass as parameter\n\n if (store) {\n // mention(\"@@ Ok, we have a store <\" + store.uri + \">.\");\n renderFormsFor(store, subject)\n } else {\n complain('No suitable store is known, to edit <' + subject.uri + '>.')\n const foobarbaz = UI.login.selectWorkspace(dom, function (ws) {\n mention('Workspace selected OK: ' + ws)\n\n const activities = store.each(undefined, ns.space('workspace'), ws)\n for (let j = 0; j < activities.length; j++) {\n const act = activities[j]\n\n const subjectDoc2 = store.any(ws, ns.space('store'))\n const start = store.any(ws, ns.cal('dtstart')).value()\n const end = store.any(ws, ns.cal('dtend')).value()\n if (subjectDoc2 && start && end && start <= date && end > date) {\n renderFormsFor(subjectDoc2, subject)\n break\n } else {\n complain('Note no suitable annotation store in activity: ' + act)\n }\n }\n })\n box.appendChild(foobarbaz)\n }\n\n return box\n }\n}\n"],"mappings":"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"}
package/lib/global.d.js CHANGED
File without changes
File without changes
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"homePane.d.ts","sourceRoot":"","sources":["../../src/home/homePane.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAM9C,QAAA,MAAM,cAAc,EAAE,cAiErB,CAAA;AAGD,eAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"homePane.d.ts","sourceRoot":"","sources":["../../src/home/homePane.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAM9C,QAAA,MAAM,cAAc,EAAE,cAoDrB,CAAA;AAGD,eAAe,cAAc,CAAA"}
@@ -1,25 +1,19 @@
1
1
  "use strict";
2
2
 
3
3
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = void 0;
9
-
10
8
  var _solidLogic = require("solid-logic");
11
-
12
9
  var _solidUi = require("solid-ui");
13
-
14
- function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return generator._invoke = function (innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; }(innerFn, self, context), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; this._invoke = function (method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); }; } function maybeInvokeDelegate(delegate, context) { var method = delegate.iterator[context.method]; if (undefined === method) { if (context.delegate = null, "throw" === context.method) { if (delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method)) return ContinueSentinel; context.method = "throw", context.arg = new TypeError("The iterator does not provide a 'throw' method"); } return ContinueSentinel; } var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) { if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; } return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, define(Gp, "constructor", GeneratorFunctionPrototype), define(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (object) { var keys = []; for (var key in object) { keys.push(key); } return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) { "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); } }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
15
-
10
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
16
11
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
17
-
18
12
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
19
-
20
13
  var HomePaneSource = {
21
14
  icon: _solidUi.icons.iconBase + 'noun_547570.svg',
22
15
  // noun_25830
16
+
23
17
  global: true,
24
18
  name: 'home',
25
19
  // Does the subject deserve an home pane?
@@ -31,85 +25,61 @@ var HomePaneSource = {
31
25
  },
32
26
  render: function render(subject, context) {
33
27
  var dom = context.dom;
34
-
35
28
  var showContent = /*#__PURE__*/function () {
36
29
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
37
30
  var homePaneContext, creationDiv, creationContext, relevantPanes;
38
31
  return _regeneratorRuntime().wrap(function _callee$(_context) {
39
- while (1) {
40
- switch (_context.prev = _context.next) {
41
- case 0:
42
- homePaneContext = {
43
- div: div,
44
- dom: dom,
45
- statusArea: div,
46
- me: me
47
- };
48
- /*
49
- div.appendChild(dom.createElement('h4')).textContent = 'Login status'
50
- var loginStatusDiv = div.appendChild(context.dom.createElement('div'))
51
- // TODO: Find out what the actual type is:
52
- type UriType = unknown;
53
- loginStatusDiv.appendChild(UI.login.loginStatusBox(context.dom, () => {
54
- // Here we know new log in status
55
- }))
56
- */
57
-
58
- div.appendChild(dom.createElement('h4')).textContent = 'Create new thing somewhere';
59
- creationDiv = div.appendChild(dom.createElement('div'));
60
- creationContext = {
61
- div: creationDiv,
62
- dom: dom,
63
- statusArea: div,
64
- me: me
65
- };
66
- _context.next = 6;
67
- return _solidUi.login.filterAvailablePanes(context.session.paneRegistry.list);
68
-
69
- case 6:
70
- relevantPanes = _context.sent;
71
-
72
- _solidUi.create.newThingUI(creationContext, context, relevantPanes); // newUI Have to pass panes down
73
-
74
-
75
- div.appendChild(dom.createElement('h4')).textContent = 'Private things'; // TODO: Replace by a common, representative interface
76
-
77
- _solidUi.login.registrationList(homePaneContext, {
78
- "private": true
79
- }).then(function (authContext) {
80
- div.appendChild(dom.createElement('h4')).textContent = 'Public things';
81
- div.appendChild(dom.createElement('p')).textContent = 'Things in this list are visible to others.';
82
-
83
- _solidUi.login.registrationList(authContext, {
84
- "public": true
85
- }).then(function () {// done
86
- });
87
- });
88
-
89
- case 10:
90
- case "end":
91
- return _context.stop();
92
- }
32
+ while (1) switch (_context.prev = _context.next) {
33
+ case 0:
34
+ homePaneContext = {
35
+ div: div,
36
+ dom: dom,
37
+ statusArea: div,
38
+ me: me
39
+ };
40
+ /*
41
+ div.appendChild(dom.createElement('h4')).textContent = 'Login status'
42
+ var loginStatusDiv = div.appendChild(context.dom.createElement('div'))
43
+ // TODO: Find out what the actual type is:
44
+ type UriType = unknown;
45
+ loginStatusDiv.appendChild(UI.login.loginStatusBox(context.dom, () => {
46
+ // Here we know new log in status
47
+ }))
48
+ */
49
+ div.appendChild(dom.createElement('h4')).textContent = 'Create new thing somewhere';
50
+ creationDiv = div.appendChild(dom.createElement('div'));
51
+ creationContext = {
52
+ div: creationDiv,
53
+ dom: dom,
54
+ statusArea: div,
55
+ me: me
56
+ };
57
+ _context.next = 6;
58
+ return _solidUi.login.filterAvailablePanes(context.session.paneRegistry.list);
59
+ case 6:
60
+ relevantPanes = _context.sent;
61
+ _solidUi.create.newThingUI(creationContext, context, relevantPanes); // newUI Have to pass panes down
62
+
63
+ _solidUi.login.registrationList(homePaneContext, {}).then(function () {});
64
+ case 9:
65
+ case "end":
66
+ return _context.stop();
93
67
  }
94
68
  }, _callee);
95
69
  }));
96
-
97
70
  return function showContent() {
98
71
  return _ref.apply(this, arguments);
99
72
  };
100
73
  }();
101
-
102
74
  var div = dom.createElement('div');
103
-
104
75
  var me = _solidLogic.authn.currentUser(); // this will be incorrect if not logged in
105
76
 
106
-
107
77
  showContent();
108
78
  return div;
109
79
  }
110
80
  }; // pane object
111
- // ends
112
81
 
82
+ // ends
113
83
  var _default = HomePaneSource;
114
84
  exports["default"] = _default;
115
85
  //# sourceMappingURL=homePane.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"homePane.js","names":["HomePaneSource","icon","icons","iconBase","global","name","label","render","subject","context","dom","showContent","homePaneContext","div","statusArea","me","appendChild","createElement","textContent","creationDiv","creationContext","login","filterAvailablePanes","session","paneRegistry","list","relevantPanes","create","newThingUI","registrationList","then","authContext","authn","currentUser"],"sources":["../../src/home/homePane.ts"],"sourcesContent":["/* Home Pane\n **\n ** The home pane is avaiable everywhere and allows a user\n ** to\n ** - keep track of their stuff\n ** - make new things, and possibly\n ** - keep track of accounts and workspaces etc\n **\n */\n\nimport { PaneDefinition } from 'pane-registry'\nimport { NamedNode } from 'rdflib'\nimport { authn } from 'solid-logic'\nimport { create, icons, login } from 'solid-ui'\nimport { CreateContext } from 'solid-ui/lib/create/types'\n\nconst HomePaneSource: PaneDefinition = {\n icon: icons.iconBase + 'noun_547570.svg', // noun_25830\n\n global: true,\n\n name: 'home',\n\n // Does the subject deserve an home pane?\n //\n // yes, always!\n //\n label: function () {\n return 'home'\n },\n\n render: function (subject, context) {\n const dom = context.dom\n const showContent = async function () {\n const homePaneContext = { div: div, dom: dom, statusArea: div, me: me }\n /*\n div.appendChild(dom.createElement('h4')).textContent = 'Login status'\n var loginStatusDiv = div.appendChild(context.dom.createElement('div'))\n // TODO: Find out what the actual type is:\n type UriType = unknown;\n loginStatusDiv.appendChild(UI.login.loginStatusBox(context.dom, () => {\n // Here we know new log in status\n }))\n */\n div.appendChild(dom.createElement('h4')).textContent =\n 'Create new thing somewhere'\n const creationDiv = div.appendChild(dom.createElement('div'))\n const creationContext: CreateContext = {\n div: creationDiv,\n dom: dom,\n statusArea: div,\n me: me\n }\n const relevantPanes = await login.filterAvailablePanes(\n context.session.paneRegistry.list\n )\n create.newThingUI(creationContext, context, relevantPanes) // newUI Have to pass panes down\n\n div.appendChild(dom.createElement('h4')).textContent = 'Private things'\n // TODO: Replace by a common, representative interface\n login\n .registrationList(homePaneContext, { private: true })\n .then(function (authContext) {\n div.appendChild(dom.createElement('h4')).textContent = 'Public things'\n div.appendChild(dom.createElement('p')).textContent =\n 'Things in this list are visible to others.'\n login\n .registrationList(authContext, { public: true })\n .then(function () {\n // done\n })\n })\n }\n\n const div = dom.createElement('div')\n const me: NamedNode = authn.currentUser() as NamedNode // this will be incorrect if not logged in\n\n showContent()\n\n return div\n }\n} // pane object\n\n// ends\nexport default HomePaneSource\n"],"mappings":";;;;;;;;;AAYA;;AACA;;+CAZA,oJ;;;;;;AAeA,IAAMA,cAA8B,GAAG;EACrCC,IAAI,EAAEC,cAAA,CAAMC,QAAN,GAAiB,iBADc;EACK;EAE1CC,MAAM,EAAE,IAH6B;EAKrCC,IAAI,EAAE,MAL+B;EAOrC;EACA;EACA;EACA;EACAC,KAAK,EAAE,iBAAY;IACjB,OAAO,MAAP;EACD,CAboC;EAerCC,MAAM,EAAE,gBAAUC,OAAV,EAAmBC,OAAnB,EAA4B;IAClC,IAAMC,GAAG,GAAGD,OAAO,CAACC,GAApB;;IACA,IAAMC,WAAW;MAAA,sEAAG;QAAA;QAAA;UAAA;YAAA;cAAA;gBACZC,eADY,GACM;kBAAEC,GAAG,EAAEA,GAAP;kBAAYH,GAAG,EAAEA,GAAjB;kBAAsBI,UAAU,EAAED,GAAlC;kBAAuCE,EAAE,EAAEA;gBAA3C,CADN;gBAElB;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;gBACMF,GAAG,CAACG,WAAJ,CAAgBN,GAAG,CAACO,aAAJ,CAAkB,IAAlB,CAAhB,EAAyCC,WAAzC,GACE,4BADF;gBAEMC,WAbY,GAaEN,GAAG,CAACG,WAAJ,CAAgBN,GAAG,CAACO,aAAJ,CAAkB,KAAlB,CAAhB,CAbF;gBAcZG,eAdY,GAcqB;kBACrCP,GAAG,EAAEM,WADgC;kBAErCT,GAAG,EAAEA,GAFgC;kBAGrCI,UAAU,EAAED,GAHyB;kBAIrCE,EAAE,EAAEA;gBAJiC,CAdrB;gBAAA;gBAAA,OAoBUM,cAAA,CAAMC,oBAAN,CAC1Bb,OAAO,CAACc,OAAR,CAAgBC,YAAhB,CAA6BC,IADH,CApBV;;cAAA;gBAoBZC,aApBY;;gBAuBlBC,eAAA,CAAOC,UAAP,CAAkBR,eAAlB,EAAmCX,OAAnC,EAA4CiB,aAA5C,EAvBkB,CAuByC;;;gBAE3Db,GAAG,CAACG,WAAJ,CAAgBN,GAAG,CAACO,aAAJ,CAAkB,IAAlB,CAAhB,EAAyCC,WAAzC,GAAuD,gBAAvD,CAzBkB,CA0BlB;;gBACAG,cAAA,CACGQ,gBADH,CACoBjB,eADpB,EACqC;kBAAE,WAAS;gBAAX,CADrC,EAEGkB,IAFH,CAEQ,UAAUC,WAAV,EAAuB;kBAC3BlB,GAAG,CAACG,WAAJ,CAAgBN,GAAG,CAACO,aAAJ,CAAkB,IAAlB,CAAhB,EAAyCC,WAAzC,GAAuD,eAAvD;kBACAL,GAAG,CAACG,WAAJ,CAAgBN,GAAG,CAACO,aAAJ,CAAkB,GAAlB,CAAhB,EAAwCC,WAAxC,GACE,4CADF;;kBAEAG,cAAA,CACGQ,gBADH,CACoBE,WADpB,EACiC;oBAAE,UAAQ;kBAAV,CADjC,EAEGD,IAFH,CAEQ,YAAY,CAChB;kBACD,CAJH;gBAKD,CAXH;;cA3BkB;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAAH;;MAAA,gBAAXnB,WAAW;QAAA;MAAA;IAAA,GAAjB;;IAyCA,IAAME,GAAG,GAAGH,GAAG,CAACO,aAAJ,CAAkB,KAAlB,CAAZ;;IACA,IAAMF,EAAa,GAAGiB,iBAAA,CAAMC,WAAN,EAAtB,CA5CkC,CA4CqB;;;IAEvDtB,WAAW;IAEX,OAAOE,GAAP;EACD;AAhEoC,CAAvC,C,CAiEE;AAEF;;eACeb,c"}
1
+ {"version":3,"file":"homePane.js","names":["HomePaneSource","icon","icons","iconBase","global","name","label","render","subject","context","dom","showContent","homePaneContext","div","statusArea","me","appendChild","createElement","textContent","creationDiv","creationContext","login","filterAvailablePanes","session","paneRegistry","list","relevantPanes","create","newThingUI","registrationList","then","authn","currentUser"],"sources":["../../src/home/homePane.ts"],"sourcesContent":["/* Home Pane\n **\n ** The home pane is avaiable everywhere and allows a user\n ** to\n ** - keep track of their stuff\n ** - make new things, and possibly\n ** - keep track of accounts and workspaces etc\n **\n */\n\nimport { PaneDefinition } from 'pane-registry'\nimport { NamedNode } from 'rdflib'\nimport { authn } from 'solid-logic'\nimport { create, icons, login } from 'solid-ui'\nimport { CreateContext } from 'solid-ui/lib/create/types'\n\nconst HomePaneSource: PaneDefinition = {\n icon: icons.iconBase + 'noun_547570.svg', // noun_25830\n\n global: true,\n\n name: 'home',\n\n // Does the subject deserve an home pane?\n //\n // yes, always!\n //\n label: function () {\n return 'home'\n },\n\n render: function (subject, context) {\n const dom = context.dom\n const showContent = async function () {\n const homePaneContext = { div: div, dom: dom, statusArea: div, me: me }\n /*\n div.appendChild(dom.createElement('h4')).textContent = 'Login status'\n var loginStatusDiv = div.appendChild(context.dom.createElement('div'))\n // TODO: Find out what the actual type is:\n type UriType = unknown;\n loginStatusDiv.appendChild(UI.login.loginStatusBox(context.dom, () => {\n // Here we know new log in status\n }))\n */\n div.appendChild(dom.createElement('h4')).textContent =\n 'Create new thing somewhere'\n const creationDiv = div.appendChild(dom.createElement('div'))\n const creationContext: CreateContext = {\n div: creationDiv,\n dom: dom,\n statusArea: div,\n me: me\n }\n const relevantPanes = await login.filterAvailablePanes(\n context.session.paneRegistry.list\n )\n create.newThingUI(creationContext, context, relevantPanes) // newUI Have to pass panes down\n\n login.registrationList(homePaneContext, {}).then(function () {})\n }\n\n const div = dom.createElement('div')\n const me: NamedNode = authn.currentUser() as NamedNode // this will be incorrect if not logged in\n\n showContent()\n\n return div\n }\n} // pane object\n\n// ends\nexport default HomePaneSource\n"],"mappings":";;;;;;;AAYA;AACA;AAA+C,+CAZ/C;AAAA;AAAA;AAeA,IAAMA,cAA8B,GAAG;EACrCC,IAAI,EAAEC,cAAK,CAACC,QAAQ,GAAG,iBAAiB;EAAE;;EAE1CC,MAAM,EAAE,IAAI;EAEZC,IAAI,EAAE,MAAM;EAEZ;EACA;EACA;EACA;EACAC,KAAK,EAAE,iBAAY;IACjB,OAAO,MAAM;EACf,CAAC;EAEDC,MAAM,EAAE,gBAAUC,OAAO,EAAEC,OAAO,EAAE;IAClC,IAAMC,GAAG,GAAGD,OAAO,CAACC,GAAG;IACvB,IAAMC,WAAW;MAAA,sEAAG;QAAA;QAAA;UAAA;YAAA;cACZC,eAAe,GAAG;gBAAEC,GAAG,EAAEA,GAAG;gBAAEH,GAAG,EAAEA,GAAG;gBAAEI,UAAU,EAAED,GAAG;gBAAEE,EAAE,EAAEA;cAAG,CAAC;cACvE;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;cACMF,GAAG,CAACG,WAAW,CAACN,GAAG,CAACO,aAAa,CAAC,IAAI,CAAC,CAAC,CAACC,WAAW,GAClD,4BAA4B;cACxBC,WAAW,GAAGN,GAAG,CAACG,WAAW,CAACN,GAAG,CAACO,aAAa,CAAC,KAAK,CAAC,CAAC;cACvDG,eAA8B,GAAG;gBACrCP,GAAG,EAAEM,WAAW;gBAChBT,GAAG,EAAEA,GAAG;gBACRI,UAAU,EAAED,GAAG;gBACfE,EAAE,EAAEA;cACN,CAAC;cAAA;cAAA,OAC2BM,cAAK,CAACC,oBAAoB,CACpDb,OAAO,CAACc,OAAO,CAACC,YAAY,CAACC,IAAI,CAClC;YAAA;cAFKC,aAAa;cAGnBC,eAAM,CAACC,UAAU,CAACR,eAAe,EAAEX,OAAO,EAAEiB,aAAa,CAAC,EAAC;;cAE3DL,cAAK,CAACQ,gBAAgB,CAACjB,eAAe,EAAE,CAAC,CAAC,CAAC,CAACkB,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA,CACjE;MAAA,gBA1BKnB,WAAW;QAAA;MAAA;IAAA,GA0BhB;IAED,IAAME,GAAG,GAAGH,GAAG,CAACO,aAAa,CAAC,KAAK,CAAC;IACpC,IAAMF,EAAa,GAAGgB,iBAAK,CAACC,WAAW,EAAe,EAAC;;IAEvDrB,WAAW,EAAE;IAEb,OAAOE,GAAG;EACZ;AACF,CAAC,EAAC;;AAEF;AAAA,eACeb,cAAc;AAAA"}
@@ -4,29 +4,26 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
-
8
7
  var _solidUi = require("solid-ui");
9
-
10
8
  var _rdflib = require("rdflib");
11
-
12
9
  var _marked = require("marked");
13
-
14
10
  /* Human-readable Pane
15
11
  **
16
12
  ** This outline pane contains the document contents for an HTML document
17
13
  ** This is for peeking at a page, because the user might not want to leave the data browser.
18
14
  */
15
+
19
16
  var humanReadablePane = {
20
17
  icon: _solidUi.icons.originalIconBase + 'tango/22-text-x-generic.png',
21
18
  name: 'humanReadable',
22
19
  label: function label(subject, context) {
23
- var kb = context.session.store; // See also the source pane, which has lower precedence.
20
+ var kb = context.session.store;
24
21
 
25
- var allowed = ['text/plain', 'text/html', 'text/markdown', 'application/xhtml+xml', 'image/png', 'image/jpeg', 'application/pdf', 'video/mp4'];
22
+ // See also the source pane, which has lower precedence.
26
23
 
24
+ var allowed = ['text/plain', 'text/html', 'text/markdown', 'application/xhtml+xml', 'image/png', 'image/jpeg', 'application/pdf', 'video/mp4'];
27
25
  var hasContentTypeIn = function hasContentTypeIn(kb, x, displayables) {
28
26
  var cts = kb.fetcher.getHeader(x, 'content-type');
29
-
30
27
  if (cts) {
31
28
  for (var j = 0; j < cts.length; j++) {
32
29
  for (var k = 0; k < displayables.length; k++) {
@@ -36,32 +33,26 @@ var humanReadablePane = {
36
33
  }
37
34
  }
38
35
  }
39
-
40
36
  return false;
41
- }; // This data could come from a fetch OR from ldp container
42
-
37
+ };
43
38
 
39
+ // This data could come from a fetch OR from ldp container
44
40
  var hasContentTypeIn2 = function hasContentTypeIn2(kb, x, displayables) {
45
41
  var t = kb.findTypeURIs(subject);
46
-
47
42
  for (var k = 0; k < displayables.length; k++) {
48
43
  if (_rdflib.Util.mediaTypeClass(displayables[k]).uri in t) {
49
44
  return true;
50
45
  }
51
46
  }
52
-
53
47
  return false;
54
48
  };
55
-
56
49
  if (!subject.uri) return null; // no bnodes
57
50
 
58
51
  var t = kb.findTypeURIs(subject);
59
52
  if (t[_solidUi.ns.link('WebPage').uri]) return 'view';
60
-
61
53
  if (hasContentTypeIn(kb, subject, allowed) || hasContentTypeIn2(kb, subject, allowed)) {
62
54
  return 'View';
63
55
  }
64
-
65
56
  return null;
66
57
  },
67
58
  render: function render(subject, context) {
@@ -70,31 +61,28 @@ var humanReadablePane = {
70
61
  var kb = context.session.store;
71
62
  var cts = kb.fetcher.getHeader(subject.doc(), 'content-type');
72
63
  var ct = cts ? cts[0] : null;
73
-
74
64
  if (ct) {
75
65
  console.log('humanReadablePane: c-t:' + ct);
76
66
  } else {
77
67
  console.log('humanReadablePane: unknown content-type?');
78
- } // @@ When we can, use CSP to turn off scripts within the iframe
79
-
68
+ }
80
69
 
70
+ // @@ When we can, use CSP to turn off scripts within the iframe
81
71
  div.setAttribute('class', 'docView');
82
72
  var element = ct === 'text/markdown' ? 'DIV' : 'IFRAME';
83
- var frame = myDocument.createElement(element); // render markdown to html
73
+ var frame = myDocument.createElement(element);
84
74
 
75
+ // render markdown to html
85
76
  var markdownHtml = function markdownHtml() {
86
77
  kb.fetcher.webOperation('GET', subject.uri).then(function (response) {
87
78
  var markdownText = response.responseText;
88
79
  var lines = Math.min(30, markdownText.split(/\n/).length + 5);
89
-
90
80
  var res = _marked.marked.parse(markdownText);
91
-
92
81
  frame.innerHTML = res;
93
82
  frame.setAttribute('class', 'doc');
94
83
  frame.setAttribute('style', "border: 1px solid; padding: 1em; height: ".concat(lines, "em; width: 800px; resize: both; overflow: auto;"));
95
84
  });
96
85
  };
97
-
98
86
  if (ct === 'text/markdown') {
99
87
  markdownHtml();
100
88
  } else if (ct !== 'text/html') {
@@ -104,25 +92,24 @@ var humanReadablePane = {
104
92
  }).then(function (blob) {
105
93
  var objectURL = URL.createObjectURL(blob);
106
94
  frame.setAttribute('src', objectURL); // w640 h480 //
107
-
108
95
  frame.setAttribute('class', 'doc');
109
96
  frame.setAttribute('style', "border: 1px solid; padding: 1em; height:120em; width:80em; resize: both; overflow: auto;");
110
97
  });
111
98
  } else {
112
99
  frame.setAttribute('src', subject.uri); // allow-same-origin
113
-
114
100
  frame.setAttribute('class', 'doc');
115
101
  frame.setAttribute('style', 'resize = both; height:120em; width:80em;');
116
- } // @@ Note below - if we set ANY sandbox, then Chrome and Safari won't display it if it is PDF.
102
+ }
103
+ // @@ Note below - if we set ANY sandbox, then Chrome and Safari won't display it if it is PDF.
117
104
  // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe
118
105
  // You can't have any sandbox and allow plugins.
119
106
  // We could sandbox only HTML files I suppose.
120
107
  // HTML5 bug: https://lists.w3.org/Archives/Public/public-html/2011Jun/0330.html
108
+
121
109
  // iframe.setAttribute('sandbox', 'allow-same-origin allow-forms'); // allow-scripts ?? no documents should be static
110
+
122
111
  // iframe.setAttribute('height', '480')
123
112
  // iframe.setAttribute('width', '640')
124
-
125
-
126
113
  var tr = myDocument.createElement('TR');
127
114
  tr.appendChild(frame);
128
115
  div.appendChild(tr);
@@ -130,6 +117,5 @@ var humanReadablePane = {
130
117
  }
131
118
  };
132
119
  var _default = humanReadablePane; // ends
133
-
134
120
  exports["default"] = _default;
135
121
  //# sourceMappingURL=humanReadablePane.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"humanReadablePane.js","names":["humanReadablePane","icon","icons","originalIconBase","name","label","subject","context","kb","session","store","allowed","hasContentTypeIn","x","displayables","cts","fetcher","getHeader","j","length","k","indexOf","hasContentTypeIn2","t","findTypeURIs","Util","mediaTypeClass","uri","ns","link","render","myDocument","dom","div","createElement","doc","ct","console","log","setAttribute","element","frame","markdownHtml","webOperation","then","response","markdownText","responseText","lines","Math","min","split","res","marked","parse","innerHTML","_fetch","blob","objectURL","URL","createObjectURL","tr","appendChild"],"sources":["../src/humanReadablePane.js"],"sourcesContent":["/* Human-readable Pane\n **\n ** This outline pane contains the document contents for an HTML document\n ** This is for peeking at a page, because the user might not want to leave the data browser.\n */\nimport { icons, ns } from 'solid-ui'\nimport { Util } from 'rdflib'\nimport { marked } from 'marked'\n\nconst humanReadablePane = {\n icon: icons.originalIconBase + 'tango/22-text-x-generic.png',\n\n name: 'humanReadable',\n\n label: function (subject, context) {\n const kb = context.session.store\n\n // See also the source pane, which has lower precedence.\n\n const allowed = [\n 'text/plain',\n 'text/html',\n 'text/markdown',\n 'application/xhtml+xml',\n 'image/png',\n 'image/jpeg',\n 'application/pdf',\n 'video/mp4'\n ]\n\n const hasContentTypeIn = function (kb, x, displayables) {\n const cts = kb.fetcher.getHeader(x, 'content-type')\n if (cts) {\n for (let j = 0; j < cts.length; j++) {\n for (let k = 0; k < displayables.length; k++) {\n if (cts[j].indexOf(displayables[k]) >= 0) {\n return true\n }\n }\n }\n }\n return false\n }\n\n // This data could come from a fetch OR from ldp container\n const hasContentTypeIn2 = function (kb, x, displayables) {\n const t = kb.findTypeURIs(subject)\n for (let k = 0; k < displayables.length; k++) {\n if (Util.mediaTypeClass(displayables[k]).uri in t) {\n return true\n }\n }\n return false\n }\n\n if (!subject.uri) return null // no bnodes\n\n const t = kb.findTypeURIs(subject)\n if (t[ns.link('WebPage').uri]) return 'view'\n\n if (\n hasContentTypeIn(kb, subject, allowed) ||\n hasContentTypeIn2(kb, subject, allowed)\n ) {\n return 'View'\n }\n\n return null\n },\n\n render: function (subject, context) {\n const myDocument = context.dom\n const div = myDocument.createElement('div')\n const kb = context.session.store\n\n const cts = kb.fetcher.getHeader(subject.doc(), 'content-type')\n const ct = cts ? cts[0] : null\n if (ct) {\n console.log('humanReadablePane: c-t:' + ct)\n } else {\n console.log('humanReadablePane: unknown content-type?')\n }\n\n // @@ When we can, use CSP to turn off scripts within the iframe\n div.setAttribute('class', 'docView')\n const element = ct === 'text/markdown' ? 'DIV' : 'IFRAME'\n const frame = myDocument.createElement(element)\n\n // render markdown to html\n const markdownHtml = function () {\n kb.fetcher.webOperation('GET', subject.uri).then(response => {\n const markdownText = response.responseText\n const lines = Math.min(30, markdownText.split(/\\n/).length + 5)\n const res = marked.parse(markdownText)\n frame.innerHTML = res\n frame.setAttribute('class', 'doc')\n frame.setAttribute('style', `border: 1px solid; padding: 1em; height: ${lines}em; width: 800px; resize: both; overflow: auto;`)\n })\n }\n\n if (ct === 'text/markdown') {\n markdownHtml()\n } else if (ct !== 'text/html') {\n // get with authenticated fetch\n kb.fetcher._fetch(subject.uri)\n .then(function(response) {\n return response.blob()\n })\n .then(function(blob) {\n const objectURL = URL.createObjectURL(blob)\n frame.setAttribute('src', objectURL) // w640 h480 //\n frame.setAttribute('class', 'doc')\n frame.setAttribute('style', `border: 1px solid; padding: 1em; height:120em; width:80em; resize: both; overflow: auto;`)\n })\n } else {\n frame.setAttribute('src', subject.uri) // allow-same-origin\n frame.setAttribute('class', 'doc')\n frame.setAttribute('style', 'resize = both; height:120em; width:80em;')\n }\n // @@ Note below - if we set ANY sandbox, then Chrome and Safari won't display it if it is PDF.\n // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe\n // You can't have any sandbox and allow plugins.\n // We could sandbox only HTML files I suppose.\n // HTML5 bug: https://lists.w3.org/Archives/Public/public-html/2011Jun/0330.html\n\n // iframe.setAttribute('sandbox', 'allow-same-origin allow-forms'); // allow-scripts ?? no documents should be static\n\n // iframe.setAttribute('height', '480')\n // iframe.setAttribute('width', '640')\n const tr = myDocument.createElement('TR')\n tr.appendChild(frame)\n div.appendChild(tr)\n return div\n }\n}\n\nexport default humanReadablePane\n// ends\n"],"mappings":"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"}
1
+ {"version":3,"file":"humanReadablePane.js","names":["humanReadablePane","icon","icons","originalIconBase","name","label","subject","context","kb","session","store","allowed","hasContentTypeIn","x","displayables","cts","fetcher","getHeader","j","length","k","indexOf","hasContentTypeIn2","t","findTypeURIs","Util","mediaTypeClass","uri","ns","link","render","myDocument","dom","div","createElement","doc","ct","console","log","setAttribute","element","frame","markdownHtml","webOperation","then","response","markdownText","responseText","lines","Math","min","split","res","marked","parse","innerHTML","_fetch","blob","objectURL","URL","createObjectURL","tr","appendChild"],"sources":["../src/humanReadablePane.js"],"sourcesContent":["/* Human-readable Pane\n **\n ** This outline pane contains the document contents for an HTML document\n ** This is for peeking at a page, because the user might not want to leave the data browser.\n */\nimport { icons, ns } from 'solid-ui'\nimport { Util } from 'rdflib'\nimport { marked } from 'marked'\n\nconst humanReadablePane = {\n icon: icons.originalIconBase + 'tango/22-text-x-generic.png',\n\n name: 'humanReadable',\n\n label: function (subject, context) {\n const kb = context.session.store\n\n // See also the source pane, which has lower precedence.\n\n const allowed = [\n 'text/plain',\n 'text/html',\n 'text/markdown',\n 'application/xhtml+xml',\n 'image/png',\n 'image/jpeg',\n 'application/pdf',\n 'video/mp4'\n ]\n\n const hasContentTypeIn = function (kb, x, displayables) {\n const cts = kb.fetcher.getHeader(x, 'content-type')\n if (cts) {\n for (let j = 0; j < cts.length; j++) {\n for (let k = 0; k < displayables.length; k++) {\n if (cts[j].indexOf(displayables[k]) >= 0) {\n return true\n }\n }\n }\n }\n return false\n }\n\n // This data could come from a fetch OR from ldp container\n const hasContentTypeIn2 = function (kb, x, displayables) {\n const t = kb.findTypeURIs(subject)\n for (let k = 0; k < displayables.length; k++) {\n if (Util.mediaTypeClass(displayables[k]).uri in t) {\n return true\n }\n }\n return false\n }\n\n if (!subject.uri) return null // no bnodes\n\n const t = kb.findTypeURIs(subject)\n if (t[ns.link('WebPage').uri]) return 'view'\n\n if (\n hasContentTypeIn(kb, subject, allowed) ||\n hasContentTypeIn2(kb, subject, allowed)\n ) {\n return 'View'\n }\n\n return null\n },\n\n render: function (subject, context) {\n const myDocument = context.dom\n const div = myDocument.createElement('div')\n const kb = context.session.store\n\n const cts = kb.fetcher.getHeader(subject.doc(), 'content-type')\n const ct = cts ? cts[0] : null\n if (ct) {\n console.log('humanReadablePane: c-t:' + ct)\n } else {\n console.log('humanReadablePane: unknown content-type?')\n }\n\n // @@ When we can, use CSP to turn off scripts within the iframe\n div.setAttribute('class', 'docView')\n const element = ct === 'text/markdown' ? 'DIV' : 'IFRAME'\n const frame = myDocument.createElement(element)\n\n // render markdown to html\n const markdownHtml = function () {\n kb.fetcher.webOperation('GET', subject.uri).then(response => {\n const markdownText = response.responseText\n const lines = Math.min(30, markdownText.split(/\\n/).length + 5)\n const res = marked.parse(markdownText)\n frame.innerHTML = res\n frame.setAttribute('class', 'doc')\n frame.setAttribute('style', `border: 1px solid; padding: 1em; height: ${lines}em; width: 800px; resize: both; overflow: auto;`)\n })\n }\n\n if (ct === 'text/markdown') {\n markdownHtml()\n } else if (ct !== 'text/html') {\n // get with authenticated fetch\n kb.fetcher._fetch(subject.uri)\n .then(function(response) {\n return response.blob()\n })\n .then(function(blob) {\n const objectURL = URL.createObjectURL(blob)\n frame.setAttribute('src', objectURL) // w640 h480 //\n frame.setAttribute('class', 'doc')\n frame.setAttribute('style', `border: 1px solid; padding: 1em; height:120em; width:80em; resize: both; overflow: auto;`)\n })\n } else {\n frame.setAttribute('src', subject.uri) // allow-same-origin\n frame.setAttribute('class', 'doc')\n frame.setAttribute('style', 'resize = both; height:120em; width:80em;')\n }\n // @@ Note below - if we set ANY sandbox, then Chrome and Safari won't display it if it is PDF.\n // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe\n // You can't have any sandbox and allow plugins.\n // We could sandbox only HTML files I suppose.\n // HTML5 bug: https://lists.w3.org/Archives/Public/public-html/2011Jun/0330.html\n\n // iframe.setAttribute('sandbox', 'allow-same-origin allow-forms'); // allow-scripts ?? no documents should be static\n\n // iframe.setAttribute('height', '480')\n // iframe.setAttribute('width', '640')\n const tr = myDocument.createElement('TR')\n tr.appendChild(frame)\n div.appendChild(tr)\n return div\n }\n}\n\nexport default humanReadablePane\n// ends\n"],"mappings":"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"}
package/lib/imagePane.js CHANGED
@@ -1,26 +1,32 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.imagePane = void 0;
8
+ var UI = _interopRequireWildcard(require("solid-ui"));
9
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
10
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
3
11
  /* Image Pane
4
12
  **
5
13
  ** This outline pane contains the document contents for an Image document
6
14
  */
7
- var UI = require('solid-ui');
8
15
 
9
- module.exports = {
16
+ var imagePane = {
10
17
  icon: UI.icons.originalIconBase + 'tango/22-image-x-generic.png',
11
18
  name: 'image',
12
19
  label: function label(subject, context) {
13
20
  var store = context.session.store;
14
-
15
21
  if (!store.anyStatementMatching(subject, UI.ns.rdf('type'), store.sym('http://purl.org/dc/terms/Image'))) {
16
22
  // NB: Not dc: namespace!
17
23
  return null;
18
- } // See also the source pane, which has lower precedence.
24
+ }
19
25
 
26
+ // See also the source pane, which has lower precedence.
20
27
 
21
28
  var contentTypeMatch = function contentTypeMatch(store, x, contentTypes) {
22
29
  var cts = store.fetcher.getHeader(x, 'content-type');
23
-
24
30
  if (cts) {
25
31
  for (var j = 0; j < cts.length; j++) {
26
32
  for (var k = 0; k < contentTypes.length; k++) {
@@ -30,16 +36,12 @@ module.exports = {
30
36
  }
31
37
  }
32
38
  }
33
-
34
39
  return false;
35
40
  };
36
-
37
41
  var suppressed = ['application/pdf'];
38
-
39
42
  if (contentTypeMatch(store, subject, suppressed)) {
40
43
  return null;
41
44
  }
42
-
43
45
  return 'view';
44
46
  },
45
47
  render: function render(subject, context) {
@@ -47,8 +49,9 @@ module.exports = {
47
49
  var store = context.session.store;
48
50
  var div = myDocument.createElement('div');
49
51
  div.setAttribute('class', 'imageView');
50
- var img = myDocument.createElement('IMG'); // get image with authenticated fetch
52
+ var img = myDocument.createElement('IMG');
51
53
 
54
+ // get image with authenticated fetch
52
55
  store.fetcher._fetch(subject.uri).then(function (response) {
53
56
  return response.blob();
54
57
  }).then(function (myBlob) {
@@ -56,14 +59,16 @@ module.exports = {
56
59
  img.setAttribute('src', objectURL); // w640 h480 //
57
60
  });
58
61
 
59
- img.setAttribute('style', 'max-width: 100%; max-height: 100%;'); // div.style['max-width'] = '640'
62
+ img.setAttribute('style', 'max-width: 100%; max-height: 100%;');
63
+ // div.style['max-width'] = '640'
60
64
  // div.style['max-height'] = '480'
61
-
62
65
  var tr = myDocument.createElement('TR'); // why need tr?
63
-
64
66
  tr.appendChild(img);
65
67
  div.appendChild(tr);
66
68
  return div;
67
69
  }
68
- }; // ends
70
+ };
71
+
72
+ // ends
73
+ exports.imagePane = imagePane;
69
74
  //# sourceMappingURL=imagePane.js.map