solid-panes 3.5.30 → 3.5.31-282a8fe7

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 +21 -2
  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 +3 -3
  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 +0 -0
  18. package/lib/RDFXMLPane.js.map +1 -1
  19. package/lib/argument/argumentPane.js +0 -0
  20. package/lib/argument/argumentPane.js.map +1 -1
  21. package/lib/attach/attachPane.js +0 -0
  22. package/lib/attach/attachPane.js.map +1 -1
  23. package/lib/audio/audioPane.js +0 -0
  24. package/lib/audio/audioPane.js.map +1 -1
  25. package/lib/classInstancePane.js +0 -0
  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 +0 -0
  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 +0 -0
  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 +0 -0
  38. package/lib/dashboard/homepage.js.map +1 -1
  39. package/lib/dataContentPane.js +0 -0
  40. package/lib/dataContentPane.js.map +1 -1
  41. package/lib/defaultPane.js +0 -0
  42. package/lib/defaultPane.js.map +1 -1
  43. package/lib/dokieli/dokieliPane.js +0 -0
  44. package/lib/dokieli/dokieliPane.js.map +1 -1
  45. package/lib/dokieli/new.js +0 -0
  46. package/lib/dokieli/new.js.map +0 -0
  47. package/lib/form/pane.js +0 -0
  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 +0 -0
  53. package/lib/home/homePane.js +0 -0
  54. package/lib/home/homePane.js.map +1 -1
  55. package/lib/humanReadablePane.js +7 -2
  56. package/lib/humanReadablePane.js.map +1 -1
  57. package/lib/imagePane.js +0 -0
  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 +0 -0
  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 +0 -0
  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 -0
  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 +0 -0
  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 +0 -0
  78. package/lib/mainPage/index.js.map +1 -1
  79. package/lib/microblogPane/microblogPane.js +0 -0
  80. package/lib/microblogPane/microblogPane.js.map +1 -1
  81. package/lib/n3Pane.js +0 -0
  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 -0
  86. package/lib/outline/context.js.map +1 -1
  87. package/lib/outline/licenseOptions.js +0 -0
  88. package/lib/outline/licenseOptions.js.map +1 -1
  89. package/lib/outline/manager.js +0 -0
  90. package/lib/outline/manager.js.map +1 -1
  91. package/lib/outline/manager.test.js +0 -0
  92. package/lib/outline/manager.test.js.map +1 -1
  93. package/lib/outline/outlineIcons.js +0 -0
  94. package/lib/outline/outlineIcons.js.map +1 -1
  95. package/lib/outline/propertyViews.d.ts +0 -0
  96. package/lib/outline/propertyViews.d.ts.map +0 -0
  97. package/lib/outline/propertyViews.js +0 -0
  98. package/lib/outline/propertyViews.js.map +1 -1
  99. package/lib/outline/propertyViews.test.js +0 -0
  100. package/lib/outline/propertyViews.test.js.map +1 -1
  101. package/lib/outline/queryByExample.js +0 -0
  102. package/lib/outline/queryByExample.js.map +1 -1
  103. package/lib/outline/userInput.js +0 -0
  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 -0
  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 +0 -0
  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 +0 -0
  116. package/lib/pad/padPane.js.map +1 -1
  117. package/lib/playlist/playlistPane.js +0 -0
  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 +0 -0
  121. package/lib/profile/editProfile.view.js +0 -0
  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 -0
  126. package/lib/profile/profile.dom.js.map +1 -1
  127. package/lib/registerPanes.js +0 -0
  128. package/lib/registerPanes.js.map +1 -1
  129. package/lib/schedule/formsForSchedule.js +0 -0
  130. package/lib/schedule/formsForSchedule.js.map +0 -0
  131. package/lib/schedule/schedulePane.js +0 -0
  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 +0 -0
  136. package/lib/sharing/sharingPane.js.map +1 -1
  137. package/lib/slideshow/slideshowPane.js +0 -0
  138. package/lib/slideshow/slideshowPane.js.map +1 -1
  139. package/lib/socialPane.js +0 -0
  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 +0 -0
  144. package/lib/tabbed/tabbedPane.js.map +1 -1
  145. package/lib/tableViewPane.js +0 -0
  146. package/lib/tableViewPane.js.map +1 -1
  147. package/lib/test-import-export/common.js +0 -0
  148. package/lib/test-import-export/common.js.map +1 -1
  149. package/lib/test-import-export/edit-importer.js +0 -0
  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 +0 -0
  154. package/lib/transaction/pane.js.map +1 -1
  155. package/lib/transaction/period.js +0 -0
  156. package/lib/transaction/period.js.map +1 -1
  157. package/lib/trip/tripPane.js +0 -0
  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 +0 -0
  162. package/lib/trustedApplications/trustedApplications.dom.js.map +1 -1
  163. package/lib/trustedApplications/trustedApplications.test.js +0 -0
  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 +0 -0
  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 +0 -0
  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 +0 -0
  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 +0 -0
  184. package/lib/video/videoPane.js.map +1 -1
  185. package/package.json +18 -17
  186. package/src/RDFXMLPane.js +0 -0
  187. package/src/argument/argumentPane.js +0 -0
  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 +0 -0
  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 +0 -0
  196. package/src/chatPreferencesForm.ttl +0 -0
  197. package/src/classInstancePane.js +0 -0
  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 +0 -0
  210. package/src/defaultPane.js +0 -0
  211. package/src/dokieli/Makefile +0 -0
  212. package/src/dokieli/dokieliPane.js +0 -0
  213. package/src/dokieli/new.html +0 -0
  214. package/src/dokieli/new.js +0 -0
  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 +0 -0
  220. package/src/form/psuedocode-notes.txt +0 -0
  221. package/src/global.d.ts +0 -0
  222. package/src/home/homePane.ts +0 -0
  223. package/src/humanReadablePane.js +4 -2
  224. package/src/imagePane.js +0 -0
  225. package/src/index.ts +0 -0
  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 +0 -0
  248. package/src/n3Pane.js +0 -0
  249. package/src/outline/context.ts +0 -0
  250. package/src/outline/licenseOptions.js +0 -0
  251. package/src/outline/manager.js +0 -0
  252. package/src/outline/manager.test.ts +0 -0
  253. package/src/outline/outlineIcons.js +0 -0
  254. package/src/outline/propertyViews.test.ts +0 -0
  255. package/src/outline/propertyViews.ts +0 -0
  256. package/src/outline/queryByExample.js +0 -0
  257. package/src/outline/userInput.js +0 -0
  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 +0 -0
  266. package/src/profile/editProfile.view.ts +0 -0
  267. package/src/profile/profile.dom.ts +0 -0
  268. package/src/profile/profileFormText.ttl +0 -0
  269. package/src/registerPanes.js +0 -0
  270. package/src/schedule/Makefile +0 -0
  271. package/src/schedule/formsForSchedule.js +0 -0
  272. package/src/schedule/formsForSchedule.ttl +0 -0
  273. package/src/schedule/schedulePane.js +0 -0
  274. package/src/sharing/sharingPane.ts +0 -0
  275. package/src/slideshow/slideshowPane.js +0 -0
  276. package/src/socialPane.js +0 -0
  277. package/src/style/tabbedtab.css +0 -0
  278. package/src/tabbed/tabbedPane.ts +0 -0
  279. package/src/tableViewPane.js +0 -0
  280. package/src/test-import-export/common.js +0 -0
  281. package/src/test-import-export/edit-importer.js +0 -0
  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 +0 -0
  287. package/src/transaction/period.js +0 -0
  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 +0 -0
  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 +0 -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 +0 -0
  302. package/src/versionInfo.ts +14 -14
  303. package/src/video/videoPane.js +0 -0
  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
package/.babelrc CHANGED
File without changes
package/.eslintignore CHANGED
File without changes
package/.eslintrc CHANGED
File without changes
@@ -34,7 +34,7 @@ jobs:
34
34
  - run: npm test
35
35
  - run: npm run build --if-present
36
36
  - name: Save build
37
- if: matrix.node-version == '14.x'
37
+ if: matrix.node-version == '16.x'
38
38
  uses: actions/upload-artifact@v2
39
39
  with:
40
40
  name: build
@@ -42,6 +42,7 @@ jobs:
42
42
  .
43
43
  !node_modules
44
44
  retention-days: 1
45
+
45
46
  npm-publish-build:
46
47
  needs: build
47
48
  runs-on: ubuntu-latest
@@ -51,7 +52,7 @@ jobs:
51
52
  name: build
52
53
  - uses: actions/setup-node@v1
53
54
  with:
54
- node-version: 14.x
55
+ node-version: 16.x
55
56
  - uses: rlespinasse/github-slug-action@v3.x
56
57
  - name: Append commit hash to package version
57
58
  run: 'sed -i -E "s/(\"version\": *\"[^\"]+)/\1-${GITHUB_SHA_SHORT}/" package.json'
@@ -61,3 +62,21 @@ jobs:
61
62
  with:
62
63
  token: ${{ secrets.NPM_TOKEN }}
63
64
  tag: ${{ env.GITHUB_REF_SLUG }}
65
+
66
+ npm-publish-latest:
67
+ needs: build
68
+ runs-on: ubuntu-latest
69
+ if: github.ref == 'refs/heads/main'
70
+ steps:
71
+ - uses: actions/download-artifact@v2
72
+ with:
73
+ name: build
74
+ - uses: actions/setup-node@v1
75
+ with:
76
+ node-version: 16.x
77
+ - name: Disable pre- and post-publish actions
78
+ run: 'sed -i -E "s/\"((pre|post)publish)/\"ignore:\1/" package.json'
79
+ - uses: JS-DevTools/npm-publish@v1
80
+ with:
81
+ token: ${{ secrets.NPM_TOKEN }}
82
+ tag: latest
package/.nvmrc CHANGED
File without changes
File without changes
File without changes
package/LICENSE.md CHANGED
File without changes
package/README.md CHANGED
@@ -61,9 +61,9 @@ npm install
61
61
  npm run start
62
62
  ```
63
63
  2. a browser window should automatically open at http://localhost:9000, if for some reason it doesn't go ahead and manually navigate there.
64
- 3. edit `dev/pane/index.ts` and change the color string constant at the end of line 61.
65
- 4. wait about 5 seconds
66
- 5. you'll see the color of the box and heading change in your browser
64
+ 3. Once you arrive at the Solid Pane Tester page, the `profile-pane` will be loaded by default. Proceed to edit `solid-panes/dev/loader.ts` and, at line 5, you should see `import Pane from 'profile-pane'`. Simply change `'profile-pane'` to your preferred pane/directory containing the pane of choice; for example, you could choose `'source-pane'` and bam, it will load that pane. For those who are new, you can go to the `solid-panes/src` directory and manually navigate through each individual folder. In most folders, you simply look for any file that has `pane` in the title. Copy and paste the `pane.js` file of your choice into the `solid-panes/dev/pane` folder, or you can import directly from the `src` directory. For example, importing from `'../src/dokieli/dokieliPane'` will work just fine. Each time you save `solid-panes/dev/loader.ts` while importing a different pane, your browser at `http://localhost:9000/` should automatically refresh. It's a good idea to keep the developer console open in your web browser to ensure panes are loading and rendering properly.
65
+
66
+ 4. Another tip: to ensure you arrive at the proper destination, look at lines 48–53 in `solid-panes/dev/loader.ts`. You should see an event listener that is ready for a string. `renderPane('https://solidos.solidcommunity.net/Team/SolidOs%20team%20chat/index.ttl#this')` will be the default. Depending on the `pane.js` that you chose in the earlier import statements, the `renderPane` function determines the way you will see DOMContent inside of that particular pane. If you have created an `index.html` in your provider pod storage area, you could use `'https://yoursolidname.solidcommunity.net/profile/index.html'` inside of the `renderPane()` function parameters. You can edit the string manually in `solid-panes/dev/loader.ts`, or you can go to your developer console and type `renderPane('https://yoursolidname.solidcommunity.net/profile/index.html')` — just point to a part of your account that is congruent to the pane that you wish to import! :)
67
67
 
68
68
  ## Contributing panes
69
69
  When you created a pane, you can either add it as an npm dependency
package/dev/index.html CHANGED
File without changes
package/dev/loader.ts CHANGED
File without changes
package/dev/pane/index.ts CHANGED
File without changes
File without changes
File without changes
package/jest.config.js CHANGED
File without changes
package/jest.setup.ts CHANGED
File without changes
package/lib/RDFXMLPane.js CHANGED
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"RDFXMLPane.js","names":["ns","UI","RDFXMLPane","icon","icons","originalIconBase","name","audience","solid","label","subject","context","store","session","findTypeURIs","n","statementsMatching","undefined","length","render","myDocument","dom","kb","div","createElement","setAttribute","sts","sz","rdf","Serializer","suggestNamespaces","namespaces","setBase","uri","str","statementsToXML","pre","appendChild","createTextNode"],"sources":["../src/RDFXMLPane.js"],"sourcesContent":["/* RDF/XML content Pane\n **\n ** This pane shows the content of a particular RDF resource\n ** or at least the RDF semantics we attribute to that resource,\n ** in generated N3 syntax.\n */\n\nimport * as UI from 'solid-ui'\nconst ns = UI.ns\n\nexport const RDFXMLPane = {\n icon: UI.icons.originalIconBase + '22-text-xml4.png',\n\n name: 'RDFXML',\n\n audience: [ns.solid('Developer')],\n\n label: function (subject, context) {\n const store = context.session.store\n if (\n 'http://www.w3.org/2007/ont/link#ProtocolEvent' in\n store.findTypeURIs(subject)\n ) {\n return null\n }\n\n const n = store.statementsMatching(undefined, undefined, undefined, subject)\n .length\n if (n === 0) return null\n return 'As RDF/XML (' + n + ')'\n },\n\n render: function (subject, context) {\n const myDocument = context.dom\n const kb = context.session.store\n const div = myDocument.createElement('div')\n div.setAttribute('class', 'RDFXMLPane')\n // Because of smushing etc, this will not be a copy of the original source\n // We could instead either fetch and re-parse the source,\n // or we could keep all the pre-smushed triples.\n const sts = kb.statementsMatching(undefined, undefined, undefined, subject) // @@ slow with current store!\n /*\n var kludge = kb.formula([]) // No features\n for (var i=0; i< sts.length; i++) {\n s = sts[i]\n kludge.add(s.subject, s.predicate, s.object)\n }\n */\n const sz = UI.rdf.Serializer(kb)\n sz.suggestNamespaces(kb.namespaces)\n sz.setBase(subject.uri)\n const str = sz.statementsToXML(sts)\n const pre = myDocument.createElement('PRE')\n pre.appendChild(myDocument.createTextNode(str))\n div.appendChild(pre)\n return div\n }\n}\n\n// ends\n"],"mappings":";;;;;;;AAOA;AAA8B;AAAA;AAP9B;AACA;AACA;AACA;AACA;AACA;;AAGA,IAAMA,EAAE,GAAGC,EAAE,CAACD,EAAE;AAET,IAAME,UAAU,GAAI;EACzBC,IAAI,EAAEF,EAAE,CAACG,KAAK,CAACC,gBAAgB,GAAG,kBAAkB;EAEpDC,IAAI,EAAE,QAAQ;EAEdC,QAAQ,EAAE,CAACP,EAAE,CAACQ,KAAK,CAAC,WAAW,CAAC,CAAC;EAEjCC,KAAK,EAAE,eAAUC,OAAO,EAAEC,OAAO,EAAE;IACjC,IAAMC,KAAK,GAAGD,OAAO,CAACE,OAAO,CAACD,KAAK;IACnC,IACE,+CAA+C,IAC/CA,KAAK,CAACE,YAAY,CAACJ,OAAO,CAAC,EAC3B;MACA,OAAO,IAAI;IACb;IAEA,IAAMK,CAAC,GAAGH,KAAK,CAACI,kBAAkB,CAACC,SAAS,EAAEA,SAAS,EAAEA,SAAS,EAAEP,OAAO,CAAC,CACzEQ,MAAM;IACT,IAAIH,CAAC,KAAK,CAAC,EAAE,OAAO,IAAI;IACxB,OAAO,cAAc,GAAGA,CAAC,GAAG,GAAG;EACjC,CAAC;EAEDI,MAAM,EAAE,gBAAUT,OAAO,EAAEC,OAAO,EAAE;IAClC,IAAMS,UAAU,GAAGT,OAAO,CAACU,GAAG;IAC9B,IAAMC,EAAE,GAAGX,OAAO,CAACE,OAAO,CAACD,KAAK;IAChC,IAAMW,GAAG,GAAGH,UAAU,CAACI,aAAa,CAAC,KAAK,CAAC;IAC3CD,GAAG,CAACE,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC;IACvC;IACA;IACA;IACA,IAAMC,GAAG,GAAGJ,EAAE,CAACN,kBAAkB,CAACC,SAAS,EAAEA,SAAS,EAAEA,SAAS,EAAEP,OAAO,CAAC,EAAC;IAC5E;AACJ;AACA;AACA;AACA;AACA;AACA;IACI,IAAMiB,EAAE,GAAG1B,EAAE,CAAC2B,GAAG,CAACC,UAAU,CAACP,EAAE,CAAC;IAChCK,EAAE,CAACG,iBAAiB,CAACR,EAAE,CAACS,UAAU,CAAC;IACnCJ,EAAE,CAACK,OAAO,CAACtB,OAAO,CAACuB,GAAG,CAAC;IACvB,IAAMC,GAAG,GAAGP,EAAE,CAACQ,eAAe,CAACT,GAAG,CAAC;IACnC,IAAMU,GAAG,GAAGhB,UAAU,CAACI,aAAa,CAAC,KAAK,CAAC;IAC3CY,GAAG,CAACC,WAAW,CAACjB,UAAU,CAACkB,cAAc,CAACJ,GAAG,CAAC,CAAC;IAC/CX,GAAG,CAACc,WAAW,CAACD,GAAG,CAAC;IACpB,OAAOb,GAAG;EACZ;AACF,CAAC;;AAED;AAAA"}
1
+ {"version":3,"file":"RDFXMLPane.js","names":["UI","_interopRequireWildcard","require","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ns","RDFXMLPane","icon","icons","originalIconBase","name","audience","solid","label","subject","context","store","session","findTypeURIs","n","statementsMatching","undefined","length","render","myDocument","dom","kb","div","createElement","setAttribute","sts","sz","rdf","Serializer","suggestNamespaces","namespaces","setBase","uri","str","statementsToXML","pre","appendChild","createTextNode","exports"],"sources":["../src/RDFXMLPane.js"],"sourcesContent":["/* RDF/XML content Pane\n **\n ** This pane shows the content of a particular RDF resource\n ** or at least the RDF semantics we attribute to that resource,\n ** in generated N3 syntax.\n */\n\nimport * as UI from 'solid-ui'\nconst ns = UI.ns\n\nexport const RDFXMLPane = {\n icon: UI.icons.originalIconBase + '22-text-xml4.png',\n\n name: 'RDFXML',\n\n audience: [ns.solid('Developer')],\n\n label: function (subject, context) {\n const store = context.session.store\n if (\n 'http://www.w3.org/2007/ont/link#ProtocolEvent' in\n store.findTypeURIs(subject)\n ) {\n return null\n }\n\n const n = store.statementsMatching(undefined, undefined, undefined, subject)\n .length\n if (n === 0) return null\n return 'As RDF/XML (' + n + ')'\n },\n\n render: function (subject, context) {\n const myDocument = context.dom\n const kb = context.session.store\n const div = myDocument.createElement('div')\n div.setAttribute('class', 'RDFXMLPane')\n // Because of smushing etc, this will not be a copy of the original source\n // We could instead either fetch and re-parse the source,\n // or we could keep all the pre-smushed triples.\n const sts = kb.statementsMatching(undefined, undefined, undefined, subject) // @@ slow with current store!\n /*\n var kludge = kb.formula([]) // No features\n for (var i=0; i< sts.length; i++) {\n s = sts[i]\n kludge.add(s.subject, s.predicate, s.object)\n }\n */\n const sz = UI.rdf.Serializer(kb)\n sz.suggestNamespaces(kb.namespaces)\n sz.setBase(subject.uri)\n const str = sz.statementsToXML(sts)\n const pre = myDocument.createElement('PRE')\n pre.appendChild(myDocument.createTextNode(str))\n div.appendChild(pre)\n return div\n }\n}\n\n// ends\n"],"mappings":"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"}
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"argumentPane.js","names":["icon","module","__dirname","name","label","subject","kb","store","t","findTypeURIs","UI","ns","arg","uri","render","dom","outliner","panes","getOutliner","canon","div","createElement","setAttribute","comment","any","rdfs","para","appendChild","textContent","value","plist","statementsMatching","appendPropertyTRs"],"sources":["../../src/argument/argumentPane.js"],"sourcesContent":["/* View argument Pane\n**\n** This pane shows a position and optionally the positions which\n** support or oppose it.\n** @@ Unfinsihed.\n** Should allow editing the data too\n\n*/\nimport { store } from 'solid-logic'\nimport * as UI from 'solid-ui'\nimport * as panes from 'pane-registry'\n\n// console.log('@@@ argument pane icon at ' + (module.__dirname || __dirname) + '/icon_argument.png')\nexport default {\n icon: (module.__dirname || __dirname) + '/icon_argument.png', // @@ fix fro mashlib version\n\n name: 'argument',\n\n label: function (subject) {\n const kb = store\n const t = kb.findTypeURIs(subject)\n\n if (t[UI.ns.arg('Position').uri]) return 'Argument'\n\n return null\n },\n\n // View the data in a file in user-friendly way\n render: function (subject, dom) {\n const outliner = panes.getOutliner(dom)\n const kb = store\n const arg = UI.ns.arg\n\n subject = kb.canon(subject)\n // var types = kb.findTypeURIs(subject)\n\n const div = dom.createElement('div')\n div.setAttribute('class', 'argumentPane')\n\n // var title = kb.any(subject, UI.ns.dc('title'))\n\n const comment = kb.any(subject, UI.ns.rdfs('comment'))\n if (comment) {\n const para = dom.createElement('p')\n para.setAttribute('style', 'margin-left: 2em; font-style: italic;')\n div.appendChild(para)\n para.textContent = comment.value\n }\n\n div.appendChild(dom.createElement('hr'))\n\n let plist = kb.statementsMatching(subject, arg('support'))\n outliner.appendPropertyTRs(div, plist, false)\n\n div.appendChild(dom.createElement('hr'))\n\n plist = kb.statementsMatching(subject, arg('opposition'))\n outliner.appendPropertyTRs(div, plist, false)\n\n div.appendChild(dom.createElement('hr'))\n return div\n }\n}\n\n// ends\n"],"mappings":";;;;;;;AAQA;AACA;AACA;AAAsC;AAAA;AAVtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;AAAA,eACe;EACbA,IAAI,EAAE,CAACC,MAAM,CAACC,SAAS,IAAIA,SAAS,IAAI,oBAAoB;EAAE;;EAE9DC,IAAI,EAAE,UAAU;EAEhBC,KAAK,EAAE,eAAUC,OAAO,EAAE;IACxB,IAAMC,EAAE,GAAGC,iBAAK;IAChB,IAAMC,CAAC,GAAGF,EAAE,CAACG,YAAY,CAACJ,OAAO,CAAC;IAElC,IAAIG,CAAC,CAACE,EAAE,CAACC,EAAE,CAACC,GAAG,CAAC,UAAU,CAAC,CAACC,GAAG,CAAC,EAAE,OAAO,UAAU;IAEnD,OAAO,IAAI;EACb,CAAC;EAED;EACAC,MAAM,EAAE,gBAAUT,OAAO,EAAEU,GAAG,EAAE;IAC9B,IAAMC,QAAQ,GAAGC,KAAK,CAACC,WAAW,CAACH,GAAG,CAAC;IACvC,IAAMT,EAAE,GAAGC,iBAAK;IAChB,IAAMK,GAAG,GAAGF,EAAE,CAACC,EAAE,CAACC,GAAG;IAErBP,OAAO,GAAGC,EAAE,CAACa,KAAK,CAACd,OAAO,CAAC;IAC3B;;IAEA,IAAMe,GAAG,GAAGL,GAAG,CAACM,aAAa,CAAC,KAAK,CAAC;IACpCD,GAAG,CAACE,YAAY,CAAC,OAAO,EAAE,cAAc,CAAC;;IAEzC;;IAEA,IAAMC,OAAO,GAAGjB,EAAE,CAACkB,GAAG,CAACnB,OAAO,EAAEK,EAAE,CAACC,EAAE,CAACc,IAAI,CAAC,SAAS,CAAC,CAAC;IACtD,IAAIF,OAAO,EAAE;MACX,IAAMG,IAAI,GAAGX,GAAG,CAACM,aAAa,CAAC,GAAG,CAAC;MACnCK,IAAI,CAACJ,YAAY,CAAC,OAAO,EAAE,uCAAuC,CAAC;MACnEF,GAAG,CAACO,WAAW,CAACD,IAAI,CAAC;MACrBA,IAAI,CAACE,WAAW,GAAGL,OAAO,CAACM,KAAK;IAClC;IAEAT,GAAG,CAACO,WAAW,CAACZ,GAAG,CAACM,aAAa,CAAC,IAAI,CAAC,CAAC;IAExC,IAAIS,KAAK,GAAGxB,EAAE,CAACyB,kBAAkB,CAAC1B,OAAO,EAAEO,GAAG,CAAC,SAAS,CAAC,CAAC;IAC1DI,QAAQ,CAACgB,iBAAiB,CAACZ,GAAG,EAAEU,KAAK,EAAE,KAAK,CAAC;IAE7CV,GAAG,CAACO,WAAW,CAACZ,GAAG,CAACM,aAAa,CAAC,IAAI,CAAC,CAAC;IAExCS,KAAK,GAAGxB,EAAE,CAACyB,kBAAkB,CAAC1B,OAAO,EAAEO,GAAG,CAAC,YAAY,CAAC,CAAC;IACzDI,QAAQ,CAACgB,iBAAiB,CAACZ,GAAG,EAAEU,KAAK,EAAE,KAAK,CAAC;IAE7CV,GAAG,CAACO,WAAW,CAACZ,GAAG,CAACM,aAAa,CAAC,IAAI,CAAC,CAAC;IACxC,OAAOD,GAAG;EACZ;AACF,CAAC,EAED;AAAA"}
1
+ {"version":3,"file":"argumentPane.js","names":["_solidLogic","require","UI","_interopRequireWildcard","panes","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_default","icon","module","__dirname","name","label","subject","kb","store","t","findTypeURIs","ns","arg","uri","render","dom","outliner","getOutliner","canon","div","createElement","setAttribute","comment","any","rdfs","para","appendChild","textContent","value","plist","statementsMatching","appendPropertyTRs","exports"],"sources":["../../src/argument/argumentPane.js"],"sourcesContent":["/* View argument Pane\n**\n** This pane shows a position and optionally the positions which\n** support or oppose it.\n** @@ Unfinsihed.\n** Should allow editing the data too\n\n*/\nimport { store } from 'solid-logic'\nimport * as UI from 'solid-ui'\nimport * as panes from 'pane-registry'\n\n// console.log('@@@ argument pane icon at ' + (module.__dirname || __dirname) + '/icon_argument.png')\nexport default {\n icon: (module.__dirname || __dirname) + '/icon_argument.png', // @@ fix fro mashlib version\n\n name: 'argument',\n\n label: function (subject) {\n const kb = store\n const t = kb.findTypeURIs(subject)\n\n if (t[UI.ns.arg('Position').uri]) return 'Argument'\n\n return null\n },\n\n // View the data in a file in user-friendly way\n render: function (subject, dom) {\n const outliner = panes.getOutliner(dom)\n const kb = store\n const arg = UI.ns.arg\n\n subject = kb.canon(subject)\n // var types = kb.findTypeURIs(subject)\n\n const div = dom.createElement('div')\n div.setAttribute('class', 'argumentPane')\n\n // var title = kb.any(subject, UI.ns.dc('title'))\n\n const comment = kb.any(subject, UI.ns.rdfs('comment'))\n if (comment) {\n const para = dom.createElement('p')\n para.setAttribute('style', 'margin-left: 2em; font-style: italic;')\n div.appendChild(para)\n para.textContent = comment.value\n }\n\n div.appendChild(dom.createElement('hr'))\n\n let plist = kb.statementsMatching(subject, arg('support'))\n outliner.appendPropertyTRs(div, plist, false)\n\n div.appendChild(dom.createElement('hr'))\n\n plist = kb.statementsMatching(subject, arg('opposition'))\n outliner.appendPropertyTRs(div, plist, false)\n\n div.appendChild(dom.createElement('hr'))\n return div\n }\n}\n\n// ends\n"],"mappings":"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"}
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"attachPane.js","names":["icon","UI","icons","iconBase","name","label","subject","context","kb","session","store","t","findTypeURIs","QU","$rdf","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","hasOwnProperty","value","push","sort","reverse","i","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","o","showSubject","selected","subjectList","selectorPanel","fetcher","load","then","outliner","getOutliner","display","propertyTable","err","textContent","e","headerButtons","labels","intial","callback","head","current","tr","style0","style1","setStyles","buttons","b","listen","addEventListener","_e","setMode","wrapper","stores","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 // eslint-disable-next-line no-prototype-builtins\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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"}
1
+ {"version":3,"file":"attachPane.js","names":["UI","_interopRequireWildcard","require","$rdf","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_default","icon","icons","iconBase","name","label","subject","context","kb","session","store","t","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","uriHash","findMemberURIs","pairs","value","push","sort","reverse","i","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","o","showSubject","selected","subjectList","selectorPanel","fetcher","load","then","outliner","getOutliner","display","propertyTable","err","textContent","e","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","exports"],"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 // eslint-disable-next-line no-prototype-builtins\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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"}
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"audioPane.js","names":["ns","UI","icon","icons","iconBase","name","label","subject","context","kb","session","store","typeURIs","findTypeURIs","prefix","$rdf","Util","mediaTypeClass","uri","split","t","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","e","artistRow","textContent","albumRow","trackRow","moveOn","current","level","Promise","resolve","dir","fetcher","load","then","_xhr","j","sort","i","folder2","console","log","endedListener","event","sym","target","getAttribute","tryNext","cur","next","controlRow","appendChild","audioControl","removeChild","song","audio","createElement","setAttribute","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 audio.setAttribute('src', song.uri)\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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"}
1
+ {"version":3,"file":"audioPane.js","names":["UI","_interopRequireWildcard","require","$rdf","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ns","_default","icon","icons","iconBase","name","label","subject","context","kb","session","store","typeURIs","findTypeURIs","prefix","Util","mediaTypeClass","uri","split","t","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","e","artistRow","textContent","albumRow","trackRow","moveOn","current","level","Promise","resolve","dir","fetcher","load","then","_xhr","j","sort","i","folder2","console","log","endedListener","event","sym","target","getAttribute","tryNext","cur","next","controlRow","appendChild","audioControl","removeChild","song","audio","createElement","setAttribute","addEventListener","div","table","labelStyle","style","cssText","holds","exports"],"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 audio.setAttribute('src', song.uri)\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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"}
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"classInstancePane.js","names":["ns","UI","classInstancePane","icon","icons","originalIconBase","name","audience","solid","label","subject","context","kb","session","store","n","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","$rdf","fromNT","utils","sameTerm","rdfs","uses","usedTypes","object","used","i","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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"}
1
+ {"version":3,"file":"classInstancePane.js","names":["UI","_interopRequireWildcard","require","$rdf","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ns","classInstancePane","icon","icons","originalIconBase","name","audience","solid","label","subject","context","kb","session","store","n","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","i","sym","tr","appendPropertyTRs","_pred","exports"],"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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"}
File without changes
File without changes
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"basicPreferences.js","names":["basicPreferencesPane","icon","icons","iconBase","name","label","_subject","render","subject","context","dom","store","session","complainIfBad","ok","mess","container","appendChild","widgets","errorMessageBlock","createElement","formArea","setupUserTypesSection","loadData","doc","turtle","holds","undefined","parse","uri","preferencesForm","sym","preferencesFormText","ontologyExtra","ontologyData","doRender","login","ensureLoadedPreferences","div","renderContext","preferencesFile","console","log","preferencesFileError","appendedForm","appendForm","me","style","borderStyle","trustedApplicationsView","paneRegistry","byName","addDeleteSection","formContainer","createSection","description","innerText","userTypesLink","href","profile","section","podServerNodes","each","ns","space","podServers","map","node","value","list","forEach","server","generateDeletionLink","deletionLink","listItem","podServer","link","textContent","getDeletionUrlForServer","deletionUrl","singleUserUrl","URL","multiUserUrl","pathname","hostnameParts","hostname","split","slice","join","fetch","method","multiUserNssResponse","singleUserNssResponse","title","border","borderRadius","padding","marginTop","titleElement"],"sources":["../../src/dashboard/basicPreferences.ts"],"sourcesContent":["import { PaneDefinition } from 'pane-registry'\nimport { IndexedFormula, NamedNode, parse, Store } from 'rdflib'\nimport { icons, login, ns, widgets } from 'solid-ui'\nimport ontologyData from './ontologyData.ttl'\nimport preferencesFormText from './preferencesFormText.ttl'\n\nexport const basicPreferencesPane: PaneDefinition = {\n icon: icons.iconBase + 'noun_Sliders_341315_000000.svg',\n name: 'basicPreferences',\n label: _subject => {\n return null\n },\n\n // Render the pane\n // The subject should be the logged in user.\n render: (subject, context) => {\n const dom = context.dom\n const store = context.session.store as Store\n\n function complainIfBad (ok: Boolean, mess: any) {\n if (ok) return\n container.appendChild(widgets.errorMessageBlock(dom, mess, '#fee'))\n }\n\n const container = dom.createElement('div')\n\n const formArea = setupUserTypesSection(container, dom)\n\n function loadData (doc: NamedNode, turtle: String) {\n doc = doc.doc() // remove # from URI if nec\n if (!store.holds(undefined, undefined, undefined, doc)) {\n // If not loaded already\n ;(parse as any)(turtle, store, doc.uri, 'text/turtle', null) // Load form directly\n }\n }\n\n const preferencesForm = store.sym(\n 'urn:uuid:93774ba1-d3b6-41f2-85b6-4ae27ffd2597#this'\n )\n loadData(preferencesForm, preferencesFormText)\n\n const ontologyExtra = store.sym(\n 'urn:uuid:93774ba1-d3b6-41f2-85b6-4ae27ffd2597-ONT'\n )\n loadData(ontologyExtra, ontologyData)\n\n async function doRender () {\n const renderContext = await login.ensureLoadedPreferences({\n dom,\n div: container\n })\n if (!renderContext.preferencesFile) {\n // Could be CORS\n console.log(\n 'Not doing private class preferences as no access to preferences file. ' +\n renderContext.preferencesFileError\n )\n return\n }\n const appendedForm = widgets.appendForm(\n dom,\n formArea,\n {},\n renderContext.me,\n preferencesForm,\n renderContext.preferencesFile,\n complainIfBad\n )\n appendedForm.style.borderStyle = 'none'\n\n const trustedApplicationsView = context.session.paneRegistry.byName('trustedApplications')\n if (trustedApplicationsView) {\n container.appendChild(trustedApplicationsView.render(null, context))\n }\n\n // @@ TODO Remove need for casting as any and bang (!) syntax\n addDeleteSection(container, store, renderContext.me!, dom)\n }\n\n doRender()\n\n return container\n }\n}\n\nfunction setupUserTypesSection (\n container: Element,\n dom: HTMLDocument\n): Element {\n const formContainer = createSection(container, dom, 'User types')\n\n const description = formContainer.appendChild(dom.createElement('p'))\n description.innerText = 'Here you can self-assign user types to help the data browser know which views you would like to access.'\n\n const userTypesLink = formContainer.appendChild(dom.createElement('a'))\n userTypesLink.href = 'https://github.com/solidos/userguide/#role'\n userTypesLink.innerText = 'Read more'\n\n const formArea = formContainer.appendChild(dom.createElement('div'))\n\n return formArea\n}\n\nexport default basicPreferencesPane\n\n// ends\n\nfunction addDeleteSection (\n container: HTMLElement,\n store: IndexedFormula,\n profile: NamedNode,\n dom: HTMLDocument\n): void {\n const section = createSection(container, dom, 'Delete account')\n\n const podServerNodes = store.each(profile, ns.space('storage'), null, profile.doc())\n const podServers = podServerNodes.map(node => node.value)\n\n const list = section.appendChild(dom.createElement('ul'))\n\n podServers.forEach(async server => {\n const deletionLink = await generateDeletionLink(server, dom)\n if (deletionLink) {\n const listItem = list.appendChild(dom.createElement('li'))\n listItem.appendChild(deletionLink)\n }\n })\n}\n\nasync function generateDeletionLink (\n podServer: string,\n dom: HTMLDocument\n): Promise<HTMLElement | null> {\n const link = dom.createElement('a')\n link.textContent = `Delete your account at ${podServer}`\n const deletionUrl = await getDeletionUrlForServer(podServer)\n if (typeof deletionUrl !== 'string') {\n return null\n }\n link.href = deletionUrl\n return link\n}\n\n/**\n * Hacky way to get the deletion link to a Pod\n *\n * This function infers the deletion link by assuming the URL structure of Node Solid server.\n * In the future, Solid will hopefully provide a standardised way of discovering the deletion link:\n * https://github.com/solidos/data-interoperability-panel/issues/18\n *\n * If NSS is in multi-user mode (the case on inrupt.net and solid.community), the deletion URL for\n * vincent.dev.inrupt.net would be at dev.inrupt.net/account/delete. In single-user mode, the\n * deletion URL would be at vincent.dev.inrupt.net/account/delete.\n *\n * @param server Pod server containing the user's account.\n * @returns URL of the page that Node Solid Server would offer to delete the account, or null if\n * the URLs we tried give invalid responses.\n */\nasync function getDeletionUrlForServer (\n server: string\n): Promise<string | null> {\n const singleUserUrl = new URL(server)\n const multiUserUrl = new URL(server)\n multiUserUrl.pathname = singleUserUrl.pathname = '/account/delete'\n\n const hostnameParts = multiUserUrl.hostname.split('.')\n // Remove `vincent.` from `vincent.dev.inrupt.net`, for example:\n multiUserUrl.hostname = hostnameParts.slice(1).join('.')\n\n const multiUserNssResponse = await fetch(multiUserUrl.href, {\n method: 'HEAD'\n })\n if (multiUserNssResponse.ok) {\n return multiUserUrl.href\n }\n\n const singleUserNssResponse = await fetch(singleUserUrl.href, {\n method: 'HEAD'\n })\n if (singleUserNssResponse.ok) {\n return singleUserUrl.href\n }\n return null\n}\n\nfunction createSection (\n container: Element,\n dom: HTMLDocument,\n title: string\n): Element {\n const section = container.appendChild(dom.createElement('div'))\n section.style.border = '0.3em solid #418d99'\n section.style.borderRadius = '0.5em'\n section.style.padding = '0.7em'\n section.style.marginTop = '0.7em'\n\n const titleElement = section.appendChild(dom.createElement('h3'))\n titleElement.innerText = title\n\n return section\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"basicPreferences.js","names":["_rdflib","require","_solidUi","_regeneratorRuntime","exports","Op","Object","prototype","hasOwn","hasOwnProperty","defineProperty","obj","key","desc","value","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","type","call","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","_typeof","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","done","methodName","undefined","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","_catch","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","args","arguments","apply","ontologyData","preferencesFormText","basicPreferencesPane","icon","icons","iconBase","label","_subject","render","subject","dom","store","session","complainIfBad","ok","mess","container","appendChild","widgets","errorMessageBlock","createElement","formArea","setupUserTypesSection","loadData","doc","turtle","holds","parse","uri","preferencesForm","sym","ontologyExtra","doRender","_doRender","_callee","renderContext","appendedForm","trustedApplicationsView","_callee$","_context","login","ensureLoadedPreferences","div","preferencesFile","console","log","preferencesFileError","appendForm","me","style","borderStyle","paneRegistry","byName","addDeleteSection","formContainer","createSection","description","innerText","userTypesLink","href","_default","profile","section","podServerNodes","each","ns","space","podServers","map","node","list","_ref","_callee2","server","deletionLink","listItem","_callee2$","_context2","generateDeletionLink","_x","_x2","_x3","_generateDeletionLink","_callee3","podServer","link","deletionUrl","_callee3$","_context3","textContent","concat","getDeletionUrlForServer","_x4","_getDeletionUrlForServer","_callee4","singleUserUrl","multiUserUrl","hostnameParts","multiUserNssResponse","singleUserNssResponse","_callee4$","_context4","URL","pathname","hostname","split","join","fetch","title","border","borderRadius","padding","marginTop","titleElement"],"sources":["../../src/dashboard/basicPreferences.ts"],"sourcesContent":["import { PaneDefinition } from 'pane-registry'\nimport { IndexedFormula, NamedNode, parse, Store } from 'rdflib'\nimport { icons, login, ns, widgets } from 'solid-ui'\nimport ontologyData from './ontologyData.ttl'\nimport preferencesFormText from './preferencesFormText.ttl'\n\nexport const basicPreferencesPane: PaneDefinition = {\n icon: icons.iconBase + 'noun_Sliders_341315_000000.svg',\n name: 'basicPreferences',\n label: _subject => {\n return null\n },\n\n // Render the pane\n // The subject should be the logged in user.\n render: (subject, context) => {\n const dom = context.dom\n const store = context.session.store as Store\n\n function complainIfBad (ok: Boolean, mess: any) {\n if (ok) return\n container.appendChild(widgets.errorMessageBlock(dom, mess, '#fee'))\n }\n\n const container = dom.createElement('div')\n\n const formArea = setupUserTypesSection(container, dom)\n\n function loadData (doc: NamedNode, turtle: String) {\n doc = doc.doc() // remove # from URI if nec\n if (!store.holds(undefined, undefined, undefined, doc)) {\n // If not loaded already\n ;(parse as any)(turtle, store, doc.uri, 'text/turtle', null) // Load form directly\n }\n }\n\n const preferencesForm = store.sym(\n 'urn:uuid:93774ba1-d3b6-41f2-85b6-4ae27ffd2597#this'\n )\n loadData(preferencesForm, preferencesFormText)\n\n const ontologyExtra = store.sym(\n 'urn:uuid:93774ba1-d3b6-41f2-85b6-4ae27ffd2597-ONT'\n )\n loadData(ontologyExtra, ontologyData)\n\n async function doRender () {\n const renderContext = await login.ensureLoadedPreferences({\n dom,\n div: container\n })\n if (!renderContext.preferencesFile) {\n // Could be CORS\n console.log(\n 'Not doing private class preferences as no access to preferences file. ' +\n renderContext.preferencesFileError\n )\n return\n }\n const appendedForm = widgets.appendForm(\n dom,\n formArea,\n {},\n renderContext.me,\n preferencesForm,\n renderContext.preferencesFile,\n complainIfBad\n )\n appendedForm.style.borderStyle = 'none'\n\n const trustedApplicationsView = context.session.paneRegistry.byName('trustedApplications')\n if (trustedApplicationsView) {\n container.appendChild(trustedApplicationsView.render(null, context))\n }\n\n // @@ TODO Remove need for casting as any and bang (!) syntax\n addDeleteSection(container, store, renderContext.me!, dom)\n }\n\n doRender()\n\n return container\n }\n}\n\nfunction setupUserTypesSection (\n container: Element,\n dom: HTMLDocument\n): Element {\n const formContainer = createSection(container, dom, 'User types')\n\n const description = formContainer.appendChild(dom.createElement('p'))\n description.innerText = 'Here you can self-assign user types to help the data browser know which views you would like to access.'\n\n const userTypesLink = formContainer.appendChild(dom.createElement('a'))\n userTypesLink.href = 'https://github.com/solidos/userguide/#role'\n userTypesLink.innerText = 'Read more'\n\n const formArea = formContainer.appendChild(dom.createElement('div'))\n\n return formArea\n}\n\nexport default basicPreferencesPane\n\n// ends\n\nfunction addDeleteSection (\n container: HTMLElement,\n store: IndexedFormula,\n profile: NamedNode,\n dom: HTMLDocument\n): void {\n const section = createSection(container, dom, 'Delete account')\n\n const podServerNodes = store.each(profile, ns.space('storage'), null, profile.doc())\n const podServers = podServerNodes.map(node => node.value)\n\n const list = section.appendChild(dom.createElement('ul'))\n\n podServers.forEach(async server => {\n const deletionLink = await generateDeletionLink(server, dom)\n if (deletionLink) {\n const listItem = list.appendChild(dom.createElement('li'))\n listItem.appendChild(deletionLink)\n }\n })\n}\n\nasync function generateDeletionLink (\n podServer: string,\n dom: HTMLDocument\n): Promise<HTMLElement | null> {\n const link = dom.createElement('a')\n link.textContent = `Delete your account at ${podServer}`\n const deletionUrl = await getDeletionUrlForServer(podServer)\n if (typeof deletionUrl !== 'string') {\n return null\n }\n link.href = deletionUrl\n return link\n}\n\n/**\n * Hacky way to get the deletion link to a Pod\n *\n * This function infers the deletion link by assuming the URL structure of Node Solid server.\n * In the future, Solid will hopefully provide a standardised way of discovering the deletion link:\n * https://github.com/solidos/data-interoperability-panel/issues/18\n *\n * If NSS is in multi-user mode (the case on inrupt.net and solid.community), the deletion URL for\n * vincent.dev.inrupt.net would be at dev.inrupt.net/account/delete. In single-user mode, the\n * deletion URL would be at vincent.dev.inrupt.net/account/delete.\n *\n * @param server Pod server containing the user's account.\n * @returns URL of the page that Node Solid Server would offer to delete the account, or null if\n * the URLs we tried give invalid responses.\n */\nasync function getDeletionUrlForServer (\n server: string\n): Promise<string | null> {\n const singleUserUrl = new URL(server)\n const multiUserUrl = new URL(server)\n multiUserUrl.pathname = singleUserUrl.pathname = '/account/delete'\n\n const hostnameParts = multiUserUrl.hostname.split('.')\n // Remove `vincent.` from `vincent.dev.inrupt.net`, for example:\n multiUserUrl.hostname = hostnameParts.slice(1).join('.')\n\n const multiUserNssResponse = await fetch(multiUserUrl.href, {\n method: 'HEAD'\n })\n if (multiUserNssResponse.ok) {\n return multiUserUrl.href\n }\n\n const singleUserNssResponse = await fetch(singleUserUrl.href, {\n method: 'HEAD'\n })\n if (singleUserNssResponse.ok) {\n return singleUserUrl.href\n }\n return null\n}\n\nfunction createSection (\n container: Element,\n dom: HTMLDocument,\n title: string\n): Element {\n const section = container.appendChild(dom.createElement('div'))\n section.style.border = '0.3em solid #418d99'\n section.style.borderRadius = '0.5em'\n section.style.padding = '0.7em'\n section.style.marginTop = '0.7em'\n\n const titleElement = section.appendChild(dom.createElement('h3'))\n titleElement.innerText = title\n\n return section\n}\n"],"mappings":"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"}
File without changes
File without changes
File without changes