solid-panes 3.7.2 → 3.7.3-125af630

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (354) hide show
  1. package/dist/dashboard/basicPreferences.js +155 -0
  2. package/dist/dashboard/basicPreferences.js.map +1 -0
  3. package/dist/dashboard/dashboardPane.js +63 -0
  4. package/dist/dashboard/dashboardPane.js.map +1 -0
  5. package/dist/dashboard/homepage.js +63 -0
  6. package/dist/dashboard/homepage.js.map +1 -0
  7. package/dist/home/homePane.js +68 -0
  8. package/dist/home/homePane.js.map +1 -0
  9. package/dist/index.js +48 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/internal/internalPane.js +195 -0
  12. package/dist/internal/internalPane.js.map +1 -0
  13. package/dist/mainPage/footer.js +16 -0
  14. package/dist/mainPage/footer.js.map +1 -0
  15. package/dist/mainPage/header.js +84 -0
  16. package/dist/mainPage/header.js.map +1 -0
  17. package/{lib → dist}/mainPage/index.d.ts.map +1 -1
  18. package/dist/mainPage/index.js +30 -0
  19. package/dist/mainPage/index.js.map +1 -0
  20. package/dist/outline/context.js +13 -0
  21. package/dist/outline/context.js.map +1 -0
  22. package/dist/outline/propertyViews.js +33 -0
  23. package/dist/outline/propertyViews.js.map +1 -0
  24. package/dist/outline/viewAsImage.js +7 -0
  25. package/dist/outline/viewAsImage.js.map +1 -0
  26. package/{lib → dist}/outline/viewAsMbox.js +4 -14
  27. package/dist/outline/viewAsMbox.js.map +1 -0
  28. package/dist/pad/padPane.js +420 -0
  29. package/dist/pad/padPane.js.map +1 -0
  30. package/dist/sharing/sharingPane.js +45 -0
  31. package/dist/sharing/sharingPane.js.map +1 -0
  32. package/dist/tabbed/tabbedPane.js +55 -0
  33. package/dist/tabbed/tabbedPane.js.map +1 -0
  34. package/dist/trustedApplications/trustedApplications.dom.js +158 -0
  35. package/dist/trustedApplications/trustedApplications.dom.js.map +1 -0
  36. package/dist/trustedApplications/trustedApplications.utils.js +24 -0
  37. package/dist/trustedApplications/trustedApplications.utils.js.map +1 -0
  38. package/dist/trustedApplications/trustedApplications.view.js +62 -0
  39. package/dist/trustedApplications/trustedApplications.view.js.map +1 -0
  40. package/dist/types.js +2 -0
  41. package/dist/types.js.map +1 -0
  42. package/dist/versionInfo.js +31 -0
  43. package/dist/versionInfo.js.map +1 -0
  44. package/package.json +34 -22
  45. package/Documentation/VisualLanguage.html +0 -538
  46. package/Documentation/conventions.md +0 -333
  47. package/coverage/clover.xml +0 -152
  48. package/coverage/coverage-final.json +0 -6
  49. package/coverage/lcov-report/base.css +0 -224
  50. package/coverage/lcov-report/block-navigation.js +0 -87
  51. package/coverage/lcov-report/favicon.png +0 -0
  52. package/coverage/lcov-report/index.html +0 -131
  53. package/coverage/lcov-report/outline/index.html +0 -161
  54. package/coverage/lcov-report/outline/outlineIcons.js.html +0 -565
  55. package/coverage/lcov-report/outline/propertyViews.ts.html +0 -196
  56. package/coverage/lcov-report/outline/viewAsImage.ts.html +0 -121
  57. package/coverage/lcov-report/outline/viewAsMbox.ts.html +0 -127
  58. package/coverage/lcov-report/prettify.css +0 -1
  59. package/coverage/lcov-report/prettify.js +0 -2
  60. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  61. package/coverage/lcov-report/sorter.js +0 -210
  62. package/coverage/lcov-report/trustedApplications/index.html +0 -116
  63. package/coverage/lcov-report/trustedApplications/trustedApplications.utils.ts.html +0 -238
  64. package/coverage/lcov.info +0 -204
  65. package/dev/index.html +0 -28
  66. package/dev/loader.ts +0 -91
  67. package/dev/pane/index.ts +0 -10
  68. package/doc/images/panes-for-classes.epgz +0 -0
  69. package/doc/images/panes-for-classes.svg +0 -609
  70. package/eslint.config.mjs +0 -34
  71. package/jest.config.js +0 -27
  72. package/jest.setup.ts +0 -4
  73. package/lib/RDFXMLPane.js +0 -59
  74. package/lib/RDFXMLPane.js.map +0 -1
  75. package/lib/argument/argumentPane.js +0 -62
  76. package/lib/argument/argumentPane.js.map +0 -1
  77. package/lib/attach/attachPane.js +0 -404
  78. package/lib/attach/attachPane.js.map +0 -1
  79. package/lib/audio/audioPane.js +0 -183
  80. package/lib/audio/audioPane.js.map +0 -1
  81. package/lib/classInstancePane.js +0 -93
  82. package/lib/classInstancePane.js.map +0 -1
  83. package/lib/dashboard/basicPreferences.js +0 -229
  84. package/lib/dashboard/basicPreferences.js.map +0 -1
  85. package/lib/dashboard/dashboardPane.js +0 -73
  86. package/lib/dashboard/dashboardPane.js.map +0 -1
  87. package/lib/dashboard/homepage.js +0 -86
  88. package/lib/dashboard/homepage.js.map +0 -1
  89. package/lib/dataContentPane.js +0 -259
  90. package/lib/dataContentPane.js.map +0 -1
  91. package/lib/defaultPane.js +0 -76
  92. package/lib/defaultPane.js.map +0 -1
  93. package/lib/dokieli/dokieliPane.js +0 -173
  94. package/lib/dokieli/dokieliPane.js.map +0 -1
  95. package/lib/dokieli/new.js +0 -9
  96. package/lib/dokieli/new.js.map +0 -1
  97. package/lib/form/pane.js +0 -186
  98. package/lib/form/pane.js.map +0 -1
  99. package/lib/global.d.js +0 -2
  100. package/lib/global.d.js.map +0 -1
  101. package/lib/home/homePane.js +0 -91
  102. package/lib/home/homePane.js.map +0 -1
  103. package/lib/humanReadablePane.js +0 -138
  104. package/lib/humanReadablePane.js.map +0 -1
  105. package/lib/imagePane.js +0 -71
  106. package/lib/imagePane.js.map +0 -1
  107. package/lib/index.js +0 -112
  108. package/lib/index.js.map +0 -1
  109. package/lib/internal/internalPane.js +0 -184
  110. package/lib/internal/internalPane.js.map +0 -1
  111. package/lib/mainPage/footer.js +0 -22
  112. package/lib/mainPage/footer.js.map +0 -1
  113. package/lib/mainPage/header.js +0 -152
  114. package/lib/mainPage/header.js.map +0 -1
  115. package/lib/mainPage/index.js +0 -42
  116. package/lib/mainPage/index.js.map +0 -1
  117. package/lib/microblogPane/microblogPane.js +0 -1032
  118. package/lib/microblogPane/microblogPane.js.map +0 -1
  119. package/lib/n3Pane.js +0 -57
  120. package/lib/n3Pane.js.map +0 -1
  121. package/lib/outline/context.js +0 -19
  122. package/lib/outline/context.js.map +0 -1
  123. package/lib/outline/manager.js +0 -2264
  124. package/lib/outline/manager.js.map +0 -1
  125. package/lib/outline/manager.test.d.ts +0 -2
  126. package/lib/outline/manager.test.d.ts.map +0 -1
  127. package/lib/outline/manager.test.js +0 -210
  128. package/lib/outline/manager.test.js.map +0 -1
  129. package/lib/outline/outlineIcons.js +0 -128
  130. package/lib/outline/outlineIcons.js.map +0 -1
  131. package/lib/outline/propertyViews.js +0 -44
  132. package/lib/outline/propertyViews.js.map +0 -1
  133. package/lib/outline/propertyViews.test.d.ts +0 -2
  134. package/lib/outline/propertyViews.test.d.ts.map +0 -1
  135. package/lib/outline/propertyViews.test.js +0 -27
  136. package/lib/outline/propertyViews.test.js.map +0 -1
  137. package/lib/outline/queryByExample.js +0 -286
  138. package/lib/outline/queryByExample.js.map +0 -1
  139. package/lib/outline/userInput.js +0 -1817
  140. package/lib/outline/userInput.js.map +0 -1
  141. package/lib/outline/viewAsImage.js +0 -17
  142. package/lib/outline/viewAsImage.js.map +0 -1
  143. package/lib/outline/viewAsMbox.js.map +0 -1
  144. package/lib/pad/padPane.js +0 -417
  145. package/lib/pad/padPane.js.map +0 -1
  146. package/lib/playlist/playlistPane.js +0 -125
  147. package/lib/playlist/playlistPane.js.map +0 -1
  148. package/lib/registerPanes.js +0 -146
  149. package/lib/registerPanes.js.map +0 -1
  150. package/lib/schedule/formsForSchedule.js +0 -8
  151. package/lib/schedule/formsForSchedule.js.map +0 -1
  152. package/lib/schedule/schedulePane.js +0 -895
  153. package/lib/schedule/schedulePane.js.map +0 -1
  154. package/lib/sharing/sharingPane.js +0 -49
  155. package/lib/sharing/sharingPane.js.map +0 -1
  156. package/lib/slideshow/slideshowPane.js +0 -84
  157. package/lib/slideshow/slideshowPane.js.map +0 -1
  158. package/lib/socialPane.js +0 -431
  159. package/lib/socialPane.js.map +0 -1
  160. package/lib/tabbed/tabbedPane.js +0 -72
  161. package/lib/tabbed/tabbedPane.js.map +0 -1
  162. package/lib/tableViewPane.js +0 -58
  163. package/lib/tableViewPane.js.map +0 -1
  164. package/lib/test-import-export/common.js +0 -12
  165. package/lib/test-import-export/common.js.map +0 -1
  166. package/lib/test-import-export/edit-importer.js +0 -25
  167. package/lib/test-import-export/edit-importer.js.map +0 -1
  168. package/lib/test-import-export/testImportExport.js +0 -2
  169. package/lib/test-import-export/testImportExport.js.map +0 -1
  170. package/lib/transaction/pane.js +0 -479
  171. package/lib/transaction/pane.js.map +0 -1
  172. package/lib/transaction/period.js +0 -325
  173. package/lib/transaction/period.js.map +0 -1
  174. package/lib/trip/tripPane.js +0 -176
  175. package/lib/trip/tripPane.js.map +0 -1
  176. package/lib/trustedApplications/trustedApplications.dom.js +0 -177
  177. package/lib/trustedApplications/trustedApplications.dom.js.map +0 -1
  178. package/lib/trustedApplications/trustedApplications.test.d.ts +0 -2
  179. package/lib/trustedApplications/trustedApplications.test.d.ts.map +0 -1
  180. package/lib/trustedApplications/trustedApplications.test.js +0 -64
  181. package/lib/trustedApplications/trustedApplications.test.js.map +0 -1
  182. package/lib/trustedApplications/trustedApplications.utils.js +0 -34
  183. package/lib/trustedApplications/trustedApplications.utils.js.map +0 -1
  184. package/lib/trustedApplications/trustedApplications.view.js +0 -87
  185. package/lib/trustedApplications/trustedApplications.view.js.map +0 -1
  186. package/lib/types.js +0 -6
  187. package/lib/types.js.map +0 -1
  188. package/lib/ui/pane.js +0 -148
  189. package/lib/ui/pane.js.map +0 -1
  190. package/lib/versionInfo.d.ts +0 -34
  191. package/lib/versionInfo.d.ts.map +0 -1
  192. package/lib/versionInfo.js +0 -39
  193. package/lib/versionInfo.js.map +0 -1
  194. package/lib/video/videoPane.js +0 -44
  195. package/lib/video/videoPane.js.map +0 -1
  196. package/src/RDFXMLPane.js +0 -60
  197. package/src/argument/argumentPane.js +0 -65
  198. package/src/argument/argument_icon_v04.jpg +0 -0
  199. package/src/argument/icon_argument.png +0 -0
  200. package/src/argument/transparentyingyang.png +0 -0
  201. package/src/attach/attachPane.js +0 -508
  202. package/src/attach/tbl-paperclip-128.png +0 -0
  203. package/src/attach/tbl-paperclip-22.png +0 -0
  204. package/src/attach/tbl-paperclip-22a.png +0 -0
  205. package/src/audio/audioPane.js +0 -197
  206. package/src/chatPreferencesForm.ttl +0 -12
  207. package/src/classInstancePane.js +0 -110
  208. package/src/dashboard/basicPreferences.ts +0 -201
  209. package/src/dashboard/dashboardPane.ts +0 -83
  210. package/src/dashboard/homepage.ts +0 -72
  211. package/src/dashboard/languages/codes.html +0 -8611
  212. package/src/dashboard/languages/codes.xml +0 -3563
  213. package/src/dashboard/languages/codes2.txt +0 -170
  214. package/src/dashboard/languages/foo +0 -70
  215. package/src/dashboard/languages/foo.ttl +0 -0
  216. package/src/dashboard/languages/get-language-names.sh +0 -12
  217. package/src/dashboard/ontologyData.ttl +0 -35
  218. package/src/dashboard/preferencesFormText.ttl +0 -18
  219. package/src/dataContentPane.js +0 -290
  220. package/src/defaultPane.js +0 -102
  221. package/src/dokieli/Makefile +0 -6
  222. package/src/dokieli/dokieliPane.js +0 -190
  223. package/src/dokieli/new.html +0 -30
  224. package/src/dokieli/new.js +0 -22
  225. package/src/form/form-22.png +0 -0
  226. package/src/form/form-b-22.png +0 -0
  227. package/src/form/form.graffle +0 -0
  228. package/src/form/form.png +0 -0
  229. package/src/form/pane.js +0 -217
  230. package/src/form/psuedocode-notes.txt +0 -57
  231. package/src/global.d.ts +0 -4
  232. package/src/home/homePane.ts +0 -72
  233. package/src/humanReadablePane.js +0 -150
  234. package/src/imagePane.js +0 -75
  235. package/src/index.ts +0 -71
  236. package/src/internal/internalPane.ts +0 -263
  237. package/src/mainPage/footer.ts +0 -19
  238. package/src/mainPage/header.ts +0 -79
  239. package/src/mainPage/index.ts +0 -20
  240. package/src/meeting/Makefile +0 -3
  241. package/src/meeting/test/meeting1/Actions/actions.ttl +0 -14
  242. package/src/meeting/test/meeting1/Actions/config.ttl +0 -16
  243. package/src/meeting/test/meeting1/Actions/state.ttl +0 -30
  244. package/src/meeting/test/meeting1/Schedule/details.ttl +0 -34
  245. package/src/meeting/test/meeting1/Schedule/details.ttl.acl +0 -20
  246. package/src/meeting/test/meeting1/Schedule/forms.ttl +0 -75
  247. package/src/meeting/test/meeting1/Schedule/forms.ttl.acl +0 -20
  248. package/src/meeting/test/meeting1/Schedule/index.html +0 -72
  249. package/src/meeting/test/meeting1/Schedule/index.html.acl +0 -20
  250. package/src/meeting/test/meeting1/Schedule/results.ttl +0 -15
  251. package/src/meeting/test/meeting1/Schedule/results.ttl.acl +0 -20
  252. package/src/meeting/test/meeting1/SharedNotes/pad.ttl +0 -23
  253. package/src/meeting/test/meeting1/chat/chat.ttl +0 -1
  254. package/src/meeting/test/meeting1/details.ttl +0 -35
  255. package/src/meeting/test/meeting1/pad/pad.ttl +0 -16
  256. package/src/microblogPane/mbStyle.css +0 -267
  257. package/src/microblogPane/microblogPane.js +0 -1412
  258. package/src/n3Pane.js +0 -56
  259. package/src/outline/context.ts +0 -21
  260. package/src/outline/manager.js +0 -2384
  261. package/src/outline/manager.test.ts +0 -189
  262. package/src/outline/outlineIcons.js +0 -160
  263. package/src/outline/propertyViews.test.ts +0 -36
  264. package/src/outline/propertyViews.ts +0 -37
  265. package/src/outline/queryByExample.js +0 -296
  266. package/src/outline/userInput.js +0 -2373
  267. package/src/outline/viewAsImage.ts +0 -12
  268. package/src/outline/viewAsMbox.ts +0 -14
  269. package/src/pad/images/ColourOff.ai +2 -872
  270. package/src/pad/images/ColourOff.png +0 -0
  271. package/src/pad/images/ColourOn.ai +1 -935
  272. package/src/pad/images/ColourOn.png +0 -0
  273. package/src/pad/padPane.ts +0 -559
  274. package/src/playlist/playlistPane.js +0 -161
  275. package/src/registerPanes.js +0 -147
  276. package/src/schedule/Makefile +0 -6
  277. package/src/schedule/formsForSchedule.js +0 -117
  278. package/src/schedule/formsForSchedule.ttl +0 -115
  279. package/src/schedule/schedulePane.js +0 -1201
  280. package/src/sharing/sharingPane.ts +0 -49
  281. package/src/slideshow/slideshowPane.js +0 -80
  282. package/src/socialPane.js +0 -523
  283. package/src/style/tabbedtab.css +0 -1347
  284. package/src/tabbed/tabbedPane.ts +0 -60
  285. package/src/tableViewPane.js +0 -51
  286. package/src/test-import-export/common.js +0 -6
  287. package/src/test-import-export/edit-importer.js +0 -20
  288. package/src/test-import-export/testImportExport.js +0 -0
  289. package/src/transaction/068010-3d-transparent-glass-icon-alphanumeric-dollar-sign.png +0 -0
  290. package/src/transaction/075988-3d-transparent-glass-icon-business-currency-british-pound-sc35.png +0 -0
  291. package/src/transaction/22-pixel-068010-3d-transparent-glass-icon-alphanumeric-dollar-sign.png +0 -0
  292. package/src/transaction/pane.js +0 -629
  293. package/src/transaction/period.js +0 -374
  294. package/src/transaction/thumbs_075987-3d-transparent-glass-icon-business-creditcard2.png +0 -0
  295. package/src/transaction/thumbs_075989-3d-transparent-glass-icon-business-currency-cent-sc35.png +0 -0
  296. package/src/trip/tripPane.js +0 -176
  297. package/src/trustedApplications/__snapshots__/trustedApplications.test.ts.snap +0 -176
  298. package/src/trustedApplications/trustedApplications.dom.ts +0 -276
  299. package/src/trustedApplications/trustedApplications.test.ts +0 -82
  300. package/src/trustedApplications/trustedApplications.utils.ts +0 -51
  301. package/src/trustedApplications/trustedApplications.view.ts +0 -80
  302. package/src/types.ts +0 -34
  303. package/src/ui/22-builder.png +0 -0
  304. package/src/ui/builder.graffle +0 -0
  305. package/src/ui/builder.png +0 -0
  306. package/src/ui/builder2.png +0 -0
  307. package/src/ui/pane.js +0 -226
  308. package/src/versionInfo.ts +0 -32
  309. package/src/video/videoPane.js +0 -44
  310. package/timestamp.sh +0 -13
  311. package/travis/bumpversion.js +0 -29
  312. package/tsconfig.json +0 -78
  313. package/typings/raw-loader.d.ts +0 -4
  314. package/typings/solid-namespace/index.d.ts +0 -9
  315. package/webpack.config.js +0 -41
  316. /package/{lib → dist}/dashboard/basicPreferences.d.ts +0 -0
  317. /package/{lib → dist}/dashboard/basicPreferences.d.ts.map +0 -0
  318. /package/{lib → dist}/dashboard/dashboardPane.d.ts +0 -0
  319. /package/{lib → dist}/dashboard/dashboardPane.d.ts.map +0 -0
  320. /package/{lib → dist}/dashboard/homepage.d.ts +0 -0
  321. /package/{lib → dist}/dashboard/homepage.d.ts.map +0 -0
  322. /package/{lib → dist}/home/homePane.d.ts +0 -0
  323. /package/{lib → dist}/home/homePane.d.ts.map +0 -0
  324. /package/{lib → dist}/index.d.ts +0 -0
  325. /package/{lib → dist}/index.d.ts.map +0 -0
  326. /package/{lib → dist}/internal/internalPane.d.ts +0 -0
  327. /package/{lib → dist}/internal/internalPane.d.ts.map +0 -0
  328. /package/{lib → dist}/mainPage/footer.d.ts +0 -0
  329. /package/{lib → dist}/mainPage/footer.d.ts.map +0 -0
  330. /package/{lib → dist}/mainPage/header.d.ts +0 -0
  331. /package/{lib → dist}/mainPage/header.d.ts.map +0 -0
  332. /package/{lib → dist}/mainPage/index.d.ts +0 -0
  333. /package/{lib → dist}/outline/context.d.ts +0 -0
  334. /package/{lib → dist}/outline/context.d.ts.map +0 -0
  335. /package/{lib → dist}/outline/propertyViews.d.ts +0 -0
  336. /package/{lib → dist}/outline/propertyViews.d.ts.map +0 -0
  337. /package/{lib → dist}/outline/viewAsImage.d.ts +0 -0
  338. /package/{lib → dist}/outline/viewAsImage.d.ts.map +0 -0
  339. /package/{lib → dist}/outline/viewAsMbox.d.ts +0 -0
  340. /package/{lib → dist}/outline/viewAsMbox.d.ts.map +0 -0
  341. /package/{lib → dist}/pad/padPane.d.ts +0 -0
  342. /package/{lib → dist}/pad/padPane.d.ts.map +0 -0
  343. /package/{lib → dist}/sharing/sharingPane.d.ts +0 -0
  344. /package/{lib → dist}/sharing/sharingPane.d.ts.map +0 -0
  345. /package/{lib → dist}/tabbed/tabbedPane.d.ts +0 -0
  346. /package/{lib → dist}/tabbed/tabbedPane.d.ts.map +0 -0
  347. /package/{lib → dist}/trustedApplications/trustedApplications.dom.d.ts +0 -0
  348. /package/{lib → dist}/trustedApplications/trustedApplications.dom.d.ts.map +0 -0
  349. /package/{lib → dist}/trustedApplications/trustedApplications.utils.d.ts +0 -0
  350. /package/{lib → dist}/trustedApplications/trustedApplications.utils.d.ts.map +0 -0
  351. /package/{lib → dist}/trustedApplications/trustedApplications.view.d.ts +0 -0
  352. /package/{lib → dist}/trustedApplications/trustedApplications.view.d.ts.map +0 -0
  353. /package/{lib → dist}/types.d.ts +0 -0
  354. /package/{lib → dist}/types.d.ts.map +0 -0
@@ -0,0 +1,155 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { parse } from 'rdflib';
11
+ import { icons, login, ns, widgets } from 'solid-ui';
12
+ import ontologyData from './ontologyData.ttl';
13
+ import preferencesFormText from './preferencesFormText.ttl';
14
+ export const basicPreferencesPane = {
15
+ icon: icons.iconBase + 'noun_Sliders_341315_000000.svg',
16
+ name: 'basicPreferences',
17
+ label: _subject => {
18
+ return null;
19
+ },
20
+ // Render the pane
21
+ // The subject should be the logged in user.
22
+ render: (subject, context) => {
23
+ const dom = context.dom;
24
+ const store = context.session.store;
25
+ function complainIfBad(ok, mess) {
26
+ if (ok)
27
+ return;
28
+ container.appendChild(widgets.errorMessageBlock(dom, mess, '#fee'));
29
+ }
30
+ const container = dom.createElement('div');
31
+ const formArea = setupUserTypesSection(container, dom);
32
+ function loadData(doc, turtle) {
33
+ doc = doc.doc(); // remove # from URI if nec
34
+ if (!store.holds(undefined, undefined, undefined, doc)) {
35
+ // If not loaded already
36
+ ;
37
+ parse(turtle, store, doc.uri, 'text/turtle', null); // Load form directly
38
+ }
39
+ }
40
+ const preferencesForm = store.sym('urn:uuid:93774ba1-d3b6-41f2-85b6-4ae27ffd2597#this');
41
+ loadData(preferencesForm, preferencesFormText);
42
+ const ontologyExtra = store.sym('urn:uuid:93774ba1-d3b6-41f2-85b6-4ae27ffd2597-ONT');
43
+ loadData(ontologyExtra, ontologyData);
44
+ function doRender() {
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ const renderContext = yield login.ensureLoadedPreferences({
47
+ dom,
48
+ div: container
49
+ });
50
+ if (!renderContext.preferencesFile) {
51
+ // Could be CORS
52
+ console.log('Not doing private class preferences as no access to preferences file. ' +
53
+ renderContext.preferencesFileError);
54
+ return;
55
+ }
56
+ const appendedForm = widgets.appendForm(dom, formArea, {}, renderContext.me, preferencesForm, renderContext.preferencesFile, complainIfBad);
57
+ appendedForm.style.borderStyle = 'none';
58
+ const trustedApplicationsView = context.session.paneRegistry.byName('trustedApplications');
59
+ if (trustedApplicationsView) {
60
+ container.appendChild(trustedApplicationsView.render(null, context));
61
+ }
62
+ // @@ TODO Remove need for casting as any and bang (!) syntax
63
+ addDeleteSection(container, store, renderContext.me, dom);
64
+ });
65
+ }
66
+ doRender();
67
+ return container;
68
+ }
69
+ };
70
+ function setupUserTypesSection(container, dom) {
71
+ const formContainer = createSection(container, dom, 'User types');
72
+ const description = formContainer.appendChild(dom.createElement('p'));
73
+ description.innerText = 'Here you can self-assign user types to help the data browser know which views you would like to access.';
74
+ const userTypesLink = formContainer.appendChild(dom.createElement('a'));
75
+ userTypesLink.href = 'https://github.com/solidos/userguide/#role';
76
+ userTypesLink.innerText = 'Read more';
77
+ const formArea = formContainer.appendChild(dom.createElement('div'));
78
+ return formArea;
79
+ }
80
+ export default basicPreferencesPane;
81
+ // ends
82
+ function addDeleteSection(container, store, profile, dom) {
83
+ const section = createSection(container, dom, 'Delete account');
84
+ const podServerNodes = store.each(profile, ns.space('storage'), null, profile.doc());
85
+ const podServers = podServerNodes.map(node => node.value);
86
+ const list = section.appendChild(dom.createElement('ul'));
87
+ podServers.forEach((server) => __awaiter(this, void 0, void 0, function* () {
88
+ const deletionLink = yield generateDeletionLink(server, dom);
89
+ if (deletionLink) {
90
+ const listItem = list.appendChild(dom.createElement('li'));
91
+ listItem.appendChild(deletionLink);
92
+ }
93
+ }));
94
+ }
95
+ function generateDeletionLink(podServer, dom) {
96
+ return __awaiter(this, void 0, void 0, function* () {
97
+ const link = dom.createElement('a');
98
+ link.textContent = `Delete your account at ${podServer}`;
99
+ const deletionUrl = yield getDeletionUrlForServer(podServer);
100
+ if (typeof deletionUrl !== 'string') {
101
+ return null;
102
+ }
103
+ link.href = deletionUrl;
104
+ return link;
105
+ });
106
+ }
107
+ /**
108
+ * Hacky way to get the deletion link to a Pod
109
+ *
110
+ * This function infers the deletion link by assuming the URL structure of Node Solid server.
111
+ * In the future, Solid will hopefully provide a standardised way of discovering the deletion link:
112
+ * https://github.com/solidos/data-interoperability-panel/issues/18
113
+ *
114
+ * If NSS is in multi-user mode (the case on inrupt.net and solid.community), the deletion URL for
115
+ * vincent.dev.inrupt.net would be at dev.inrupt.net/account/delete. In single-user mode, the
116
+ * deletion URL would be at vincent.dev.inrupt.net/account/delete.
117
+ *
118
+ * @param server Pod server containing the user's account.
119
+ * @returns URL of the page that Node Solid Server would offer to delete the account, or null if
120
+ * the URLs we tried give invalid responses.
121
+ */
122
+ function getDeletionUrlForServer(server) {
123
+ return __awaiter(this, void 0, void 0, function* () {
124
+ const singleUserUrl = new URL(server);
125
+ const multiUserUrl = new URL(server);
126
+ multiUserUrl.pathname = singleUserUrl.pathname = '/account/delete';
127
+ const hostnameParts = multiUserUrl.hostname.split('.');
128
+ // Remove `vincent.` from `vincent.dev.inrupt.net`, for example:
129
+ multiUserUrl.hostname = hostnameParts.slice(1).join('.');
130
+ const multiUserNssResponse = yield fetch(multiUserUrl.href, {
131
+ method: 'HEAD'
132
+ });
133
+ if (multiUserNssResponse.ok) {
134
+ return multiUserUrl.href;
135
+ }
136
+ const singleUserNssResponse = yield fetch(singleUserUrl.href, {
137
+ method: 'HEAD'
138
+ });
139
+ if (singleUserNssResponse.ok) {
140
+ return singleUserUrl.href;
141
+ }
142
+ return null;
143
+ });
144
+ }
145
+ function createSection(container, dom, title) {
146
+ const section = container.appendChild(dom.createElement('div'));
147
+ section.style.border = '0.3em solid #418d99';
148
+ section.style.borderRadius = '0.5em';
149
+ section.style.padding = '0.7em';
150
+ section.style.marginTop = '0.7em';
151
+ const titleElement = section.appendChild(dom.createElement('h3'));
152
+ titleElement.innerText = title;
153
+ return section;
154
+ }
155
+ //# sourceMappingURL=basicPreferences.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basicPreferences.js","sourceRoot":"","sources":["../../src/dashboard/basicPreferences.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ import { icons } from 'solid-ui';
2
+ import { authn, authSession, store } from 'solid-logic';
3
+ import { generateHomepage } from './homepage';
4
+ export const dashboardPane = {
5
+ icon: icons.iconBase + 'noun_547570.svg',
6
+ name: 'dashboard',
7
+ label: subject => {
8
+ console.log();
9
+ if (subject.uri === subject.site().uri) {
10
+ return 'Dashboard';
11
+ }
12
+ return null;
13
+ },
14
+ render: (subject, context) => {
15
+ console.log('Dashboard Pane Render');
16
+ const dom = context.dom;
17
+ const container = dom.createElement('div');
18
+ const runBuildPage = () => {
19
+ container.innerHTML = '';
20
+ buildPage(container, authn.currentUser() || null, context, subject);
21
+ };
22
+ authSession.events.on('login', () => {
23
+ // console.log('On Login')
24
+ runBuildPage();
25
+ });
26
+ authSession.events.on('sessionRestore', () => {
27
+ // console.log('On Session Restore')
28
+ runBuildPage();
29
+ });
30
+ // console.log('Initial Load')
31
+ runBuildPage();
32
+ return container;
33
+ }
34
+ };
35
+ function buildPage(container, webId, context, subject) {
36
+ // if uri then SolidOS is a browse.html web app
37
+ const uri = (new URL(window.location.href)).searchParams.get('uri');
38
+ if (webId && (uri || webId.site().uri === subject.site().uri)) {
39
+ return buildDashboard(container, context);
40
+ }
41
+ return buildHomePage(container, subject);
42
+ }
43
+ function buildDashboard(container, context) {
44
+ // console.log('build dashboard')
45
+ // @@ TODO get a proper type
46
+ const outliner = context.getOutliner(context.dom);
47
+ outliner
48
+ .getDashboard()
49
+ .then((dashboard) => container.appendChild(dashboard));
50
+ }
51
+ function buildHomePage(container, subject) {
52
+ // console.log('build home page')
53
+ const wrapper = document.createElement('div');
54
+ container.appendChild(wrapper);
55
+ const shadow = wrapper.attachShadow({ mode: 'open' });
56
+ const link = document.createElement('link');
57
+ link.rel = 'stylesheet';
58
+ link.href = '/common/css/bootstrap.min.css';
59
+ shadow.appendChild(link);
60
+ generateHomepage(subject, store, store.fetcher).then(homepage => shadow.appendChild(homepage));
61
+ }
62
+ export default dashboardPane;
63
+ //# sourceMappingURL=dashboardPane.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboardPane.js","sourceRoot":"","sources":["../../src/dashboard/dashboardPane.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { sym } from 'rdflib';
11
+ import { ns } from 'solid-ui';
12
+ export function generateHomepage(subject, store, fetcher) {
13
+ return __awaiter(this, void 0, void 0, function* () {
14
+ const ownersProfile = yield loadProfile(subject, fetcher);
15
+ const name = getName(store, ownersProfile);
16
+ const wrapper = document.createElement('div');
17
+ wrapper.classList.add('container');
18
+ wrapper.appendChild(createTitle(ownersProfile.uri, name));
19
+ wrapper.appendChild(createDataSection(name));
20
+ return wrapper;
21
+ });
22
+ }
23
+ function createDataSection(name) {
24
+ const dataSection = document.createElement('section');
25
+ const title = document.createElement('h2');
26
+ title.innerText = 'Data';
27
+ dataSection.appendChild(title);
28
+ const listGroup = document.createElement('div');
29
+ listGroup.classList.add('list-group');
30
+ dataSection.appendChild(listGroup);
31
+ const publicDataLink = document.createElement('a');
32
+ publicDataLink.classList.add('list-group-item');
33
+ publicDataLink.href = window.document.location.href + 'public/';
34
+ publicDataLink.innerText = `View ${name}'s files`;
35
+ listGroup.appendChild(publicDataLink);
36
+ return dataSection;
37
+ }
38
+ function createTitle(uri, name) {
39
+ const profileLink = document.createElement('a');
40
+ profileLink.href = uri;
41
+ profileLink.innerText = name;
42
+ const profileLinkPost = document.createElement('span');
43
+ profileLinkPost.innerText = '\'s Pod';
44
+ const title = document.createElement('h1');
45
+ title.appendChild(profileLink);
46
+ title.appendChild(profileLinkPost);
47
+ return title;
48
+ }
49
+ function loadProfile(subject, fetcher) {
50
+ return __awaiter(this, void 0, void 0, function* () {
51
+ const pod = subject.site().uri;
52
+ // TODO: This is a hack - we cannot assume that the profile is at this document, but we will live with it for now
53
+ const webId = sym(`${pod}profile/card#me`);
54
+ yield fetcher.load(webId);
55
+ return webId;
56
+ });
57
+ }
58
+ function getName(store, ownersProfile) {
59
+ return (store.anyValue(ownersProfile, ns.vcard('fn'), null, ownersProfile.doc()) ||
60
+ store.anyValue(ownersProfile, ns.foaf('name'), null, ownersProfile.doc()) ||
61
+ new URL(ownersProfile.uri).host.split('.')[0]);
62
+ }
63
+ //# sourceMappingURL=homepage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"homepage.js","sourceRoot":"","sources":["../../src/dashboard/homepage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ /* Home Pane
2
+ **
3
+ ** The home pane is avaiable everywhere and allows a user
4
+ ** to
5
+ ** - keep track of their stuff
6
+ ** - make new things, and possibly
7
+ ** - keep track of accounts and workspaces etc
8
+ **
9
+ */
10
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
11
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
12
+ return new (P || (P = Promise))(function (resolve, reject) {
13
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
14
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
15
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
16
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
17
+ });
18
+ };
19
+ import { authn } from 'solid-logic';
20
+ import { create, icons, login } from 'solid-ui';
21
+ const HomePaneSource = {
22
+ icon: icons.iconBase + 'noun_547570.svg', // noun_25830
23
+ global: true,
24
+ name: 'home',
25
+ // Does the subject deserve an home pane?
26
+ //
27
+ // yes, always!
28
+ //
29
+ label: function () {
30
+ return 'home';
31
+ },
32
+ render: function (subject, context) {
33
+ const dom = context.dom;
34
+ const showContent = function () {
35
+ return __awaiter(this, void 0, void 0, function* () {
36
+ const homePaneContext = { div, dom, statusArea: div, me };
37
+ /*
38
+ div.appendChild(dom.createElement('h4')).textContent = 'Login status'
39
+ var loginStatusDiv = div.appendChild(context.dom.createElement('div'))
40
+ // TODO: Find out what the actual type is:
41
+ type UriType = unknown;
42
+ loginStatusDiv.appendChild(UI.login.loginStatusBox(context.dom, () => {
43
+ // Here we know new log in status
44
+ }))
45
+ */
46
+ div.appendChild(dom.createElement('h4')).textContent =
47
+ 'Create new thing somewhere';
48
+ const creationDiv = div.appendChild(dom.createElement('div'));
49
+ const creationContext = {
50
+ div: creationDiv,
51
+ dom,
52
+ statusArea: div,
53
+ me
54
+ };
55
+ const relevantPanes = yield login.filterAvailablePanes(context.session.paneRegistry.list);
56
+ create.newThingUI(creationContext, context, relevantPanes); // newUI Have to pass panes down
57
+ login.registrationList(homePaneContext, {}).then(function () { });
58
+ });
59
+ };
60
+ const div = dom.createElement('div');
61
+ const me = authn.currentUser(); // this will be incorrect if not logged in
62
+ showContent();
63
+ return div;
64
+ }
65
+ }; // pane object
66
+ // ends
67
+ export default HomePaneSource;
68
+ //# sourceMappingURL=homePane.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"homePane.js","sourceRoot":"","sources":["../../src/home/homePane.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;;;;;;;;;;AAIH,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAG/C,MAAM,cAAc,GAAmB;IACrC,IAAI,EAAE,KAAK,CAAC,QAAQ,GAAG,iBAAiB,EAAE,aAAa;IAEvD,MAAM,EAAE,IAAI;IAEZ,IAAI,EAAE,MAAM;IAEZ,yCAAyC;IACzC,EAAE;IACF,iBAAiB;IACjB,EAAE;IACF,KAAK,EAAE;QACL,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,EAAE,UAAU,OAAO,EAAE,OAAO;QAChC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAA;QACvB,MAAM,WAAW,GAAG;;gBAClB,MAAM,eAAe,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,EAAE,CAAA;gBACzD;;;;;;;;kBAQE;gBACF,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW;oBAClD,4BAA4B,CAAA;gBAC9B,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;gBAC7D,MAAM,eAAe,GAAkB;oBACrC,GAAG,EAAE,WAAW;oBAChB,GAAG;oBACH,UAAU,EAAE,GAAG;oBACf,EAAE;iBACH,CAAA;gBACD,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,oBAAoB,CACpD,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAClC,CAAA;gBACD,MAAM,CAAC,UAAU,CAAC,eAAe,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA,CAAC,gCAAgC;gBAE3F,KAAK,CAAC,gBAAgB,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,cAAa,CAAC,CAAC,CAAA;YAClE,CAAC;SAAA,CAAA;QAED,MAAM,GAAG,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QACpC,MAAM,EAAE,GAAc,KAAK,CAAC,WAAW,EAAe,CAAA,CAAC,0CAA0C;QAEjG,WAAW,EAAE,CAAA;QAEb,OAAO,GAAG,CAAA;IACZ,CAAC;CACF,CAAA,CAAC,cAAc;AAEhB,OAAO;AACP,eAAe,cAAc,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,48 @@
1
+ /* SOLID PANES
2
+ **
3
+ ** Panes are regions of the outline view in which a particular subject is
4
+ ** displayed in a particular way.
5
+ ** Different panes about the same subject are typically stacked vertically.
6
+ ** Panes may be used naked or with a pane selection header.
7
+ **
8
+ ** The label() method has two functions: it determines whether the pane is
9
+ ** relevant to a given subject, returning null if not.
10
+ ** If it is relevant, then it returns a suitable tooltip for a control which selects the pane
11
+ */
12
+ import versionInfo from './versionInfo';
13
+ import * as UI from 'solid-ui';
14
+ import { solidLogicSingleton, store } from 'solid-logic';
15
+ import OutlineManager from './outline/manager.js';
16
+ import { registerPanes } from './registerPanes.js';
17
+ import { list, paneForIcon, paneForPredicate, register, byName } from 'pane-registry';
18
+ import { createContext } from './outline/context';
19
+ import initMainPage from './mainPage';
20
+ function getOutliner(dom) {
21
+ if (!dom.outlineManager) {
22
+ const context = createContext(dom, { list, paneForIcon, paneForPredicate, register, byName }, store, solidLogicSingleton);
23
+ dom.outlineManager = new OutlineManager(context);
24
+ }
25
+ return dom.outlineManager;
26
+ }
27
+ if (typeof window !== 'undefined') {
28
+ getOutliner(window.document);
29
+ }
30
+ registerPanes((cjsOrEsModule) => register(cjsOrEsModule.default || cjsOrEsModule));
31
+ // This has common outline mode functionality for the default and other other panes
32
+ // A separate outline manager is required per DOM in cases like a browser extension
33
+ // where there are many occurrences of window and of window.document
34
+ // But each DOM should have just one outline manager.
35
+ export { OutlineManager, getOutliner, UI, versionInfo, initMainPage, list, // from paneRegistry
36
+ paneForIcon, // from paneRegistry
37
+ paneForPredicate, // from paneRegistry
38
+ register, // from paneRegistry
39
+ byName // from paneRegistry
40
+ };
41
+ // export for simpler access by non-node scripts
42
+ if (typeof window !== 'undefined') {
43
+ ;
44
+ window.panes = {
45
+ getOutliner
46
+ };
47
+ }
48
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,WAAW,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,MAAM,UAAU,CAAA;AAE9B,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,cAAc,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EACL,IAAI,EACJ,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,MAAM,EACP,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,YAAY,MAAM,YAAY,CAAA;AAErC,SAAS,WAAW,CAAE,GAAG;IACvB,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,aAAa,CAC3B,GAAG,EACH,EAAE,IAAI,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,EAAE,EACzD,KAAkB,EAClB,mBAAmB,CACpB,CAAA;QACD,GAAG,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAA;IAClD,CAAC;IACD,OAAO,GAAG,CAAC,cAAc,CAAA;AAC3B,CAAC;AAED,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;IAClC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;AAC9B,CAAC;AAED,aAAa,CAAC,CAAC,aAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,IAAI,aAAa,CAAC,CAAC,CAAA;AAEvF,mFAAmF;AACnF,mFAAmF;AACnF,oEAAoE;AACpE,qDAAqD;AAErD,OAAO,EACL,cAAc,EACd,WAAW,EACX,EAAE,EACF,WAAW,EACX,YAAY,EACZ,IAAI,EAAE,oBAAoB;AAC1B,WAAW,EAAE,oBAAoB;AACjC,gBAAgB,EAAE,oBAAoB;AACtC,QAAQ,EAAE,oBAAoB;AAC9B,MAAM,CAAC,oBAAoB;EAC5B,CAAA;AAED,gDAAgD;AAChD,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;IAClC,CAAC;IAAM,MAAO,CAAC,KAAK,GAAG;QACrB,WAAW;KACZ,CAAA;AACH,CAAC"}
@@ -0,0 +1,195 @@
1
+ /* Internal Pane
2
+ **
3
+ ** This outline pane contains the properties which are
4
+ ** internal to the user's interaction with the web, and are not normally displayed
5
+ */
6
+ /* global alert confirm */
7
+ import { icons, ns, widgets } from 'solid-ui';
8
+ import { literal, st, sym } from 'rdflib';
9
+ const pane = {
10
+ icon: icons.originalIconBase + 'tango/22-emblem-system.png',
11
+ name: 'internal',
12
+ label: function () {
13
+ return 'under the hood'; // There is often a URI even of no statements
14
+ },
15
+ render: function (subject, context) {
16
+ const dom = context.dom;
17
+ const store = context.session.store;
18
+ const canonizedSubject = store.canon(subject);
19
+ const types = store.findTypeURIs(canonizedSubject);
20
+ function filter(pred) {
21
+ if (types['http://www.w3.org/2007/ont/link#ProtocolEvent'])
22
+ return true; // display everything for them
23
+ const view = context.session.paneRegistry.byName('internal');
24
+ return (view &&
25
+ view.predicates &&
26
+ !!(typeof view.predicates[pred.uri] !== 'undefined'));
27
+ }
28
+ const div = dom.createElement('div');
29
+ div.setAttribute('class', 'internalPane');
30
+ div.setAttribute('style', 'background-color: #ddddff; padding: 0.5em; border-radius: 1em;');
31
+ function deleteRecursive(kb, folder) {
32
+ const fetcher = kb.fetcher;
33
+ if (!fetcher) {
34
+ console.error('No fetcher available');
35
+ return;
36
+ }
37
+ return new Promise(function (resolve, reject) {
38
+ fetcher.load(folder).then(function () {
39
+ const promises = kb.each(folder, ns.ldp('contains')).map(file => {
40
+ if (kb.holds(file, ns.rdf('type'), ns.ldp('BasicContainer'))) {
41
+ return deleteRecursive(kb, file);
42
+ }
43
+ else {
44
+ console.log('deleteRecursive leaf file: ' + file);
45
+ return fetcher.webOperation('DELETE', file.uri);
46
+ }
47
+ });
48
+ Promise.all(promises).then(() => {
49
+ console.log('deleteRecursive empty folder: ' + folder);
50
+ fetcher
51
+ .webOperation('DELETE', folder.uri)
52
+ .then(() => {
53
+ console.log('Deleted Ok: ' + folder);
54
+ resolve(undefined);
55
+ })
56
+ .catch((err) => {
57
+ const str = 'Unable to delete ' + folder + ': ' + err;
58
+ console.log(str);
59
+ reject(new Error(str));
60
+ });
61
+ resolve(undefined);
62
+ }, err => {
63
+ alert(err);
64
+ reject(err);
65
+ });
66
+ });
67
+ });
68
+ }
69
+ const isDocument = subject.uri && !subject.uri.includes('#');
70
+ if (isDocument) {
71
+ const controls = div.appendChild(dom.createElement('table'));
72
+ controls.style.width = '100%';
73
+ controls.style.margin = '1em';
74
+ const controlRow = controls.appendChild(dom.createElement('tr'));
75
+ const deleteCell = controlRow.appendChild(dom.createElement('td'));
76
+ const isFolder = (subject.uri && subject.uri.endsWith('/')) ||
77
+ store.holds(subject, ns.rdf('type'), ns.ldp('Container'));
78
+ const noun = isFolder ? 'folder' : 'file';
79
+ if (!isProtectedUri(subject)) {
80
+ console.log(subject);
81
+ const deleteButton = widgets.deleteButtonWithCheck(dom, deleteCell, noun, function () {
82
+ if (!confirm(`Are you sure you want to delete ${subject}? This cannot be undone.`)) {
83
+ return;
84
+ }
85
+ // @@ TODO Remove casing of store.fetcher
86
+ if (!store.fetcher) {
87
+ throw new Error('Store has no fetcher');
88
+ }
89
+ const promise = isFolder
90
+ ? (deleteRecursive(store, subject) || Promise.resolve())
91
+ : store.fetcher.webOperation('DELETE', subject.uri) || Promise.resolve();
92
+ promise
93
+ .then(() => {
94
+ const str = 'Deleted: ' + subject;
95
+ console.log(str);
96
+ })
97
+ .catch((err) => {
98
+ const str = 'Unable to delete ' + subject + ': ' + err;
99
+ console.log(str);
100
+ alert(str);
101
+ });
102
+ });
103
+ deleteButton.style = 'height: 2em;';
104
+ deleteButton.class = ''; // Remove hover hide
105
+ deleteCell.appendChild(deleteButton);
106
+ }
107
+ const refreshCell = controlRow.appendChild(dom.createElement('td'));
108
+ const refreshButton = widgets.button(dom, icons.iconBase + 'noun_479395.svg', 'refresh');
109
+ refreshCell.appendChild(refreshButton);
110
+ refreshButton.addEventListener('click', () => {
111
+ if (!store.fetcher) {
112
+ throw new Error('Store has no fetcher');
113
+ }
114
+ store.fetcher.refresh(subject, function (ok, errm) {
115
+ let str;
116
+ if (ok) {
117
+ str = 'Refreshed OK: ' + subject;
118
+ }
119
+ else {
120
+ str = 'Error refreshing: ' + subject + ': ' + errm;
121
+ }
122
+ console.log(str);
123
+ alert(str);
124
+ });
125
+ });
126
+ }
127
+ let plist = store.statementsMatching(subject);
128
+ let docURI = '';
129
+ if (!store.fetcher) {
130
+ throw new Error('Store has no fetcher');
131
+ }
132
+ if (subject.uri) {
133
+ plist.push(st(subject, sym('http://www.w3.org/2007/ont/link#uri'), subject.uri, // @@ TODO Remove casting
134
+ store.fetcher.appNode));
135
+ if (subject.uri.indexOf('#') >= 0) {
136
+ docURI = subject.uri.split('#')[0];
137
+ plist.push(st(subject, sym('http://www.w3.org/2007/ont/link#documentURI'), subject.uri.split('#')[0], // @@ TODO Remove casting
138
+ store.fetcher.appNode));
139
+ plist.push(st(subject, sym('http://www.w3.org/2007/ont/link#document'), sym(subject.uri.split('#')[0]), store.fetcher.appNode));
140
+ }
141
+ else {
142
+ docURI = subject.uri;
143
+ }
144
+ }
145
+ if (docURI) {
146
+ if (!store.updater) {
147
+ throw new Error('Store has no updater');
148
+ }
149
+ const ed = store.updater.editable(docURI);
150
+ if (ed) {
151
+ plist.push(st(subject, sym('http://www.w3.org/ns/rww#editable'), literal(ed.toString()), store.fetcher.appNode));
152
+ }
153
+ }
154
+ // @@ TODO get a proper type
155
+ const outliner = context.getOutliner(dom);
156
+ outliner.appendPropertyTRs(div, plist, false, filter);
157
+ plist = store.statementsMatching(undefined, undefined, subject);
158
+ outliner.appendPropertyTRs(div, plist, true, filter);
159
+ return div;
160
+ },
161
+ predicates: {
162
+ // Predicates used for inner workings. Under the hood
163
+ 'http://www.w3.org/2007/ont/link#request': 1,
164
+ 'http://www.w3.org/2007/ont/link#requestedBy': 1,
165
+ 'http://www.w3.org/2007/ont/link#source': 1,
166
+ 'http://www.w3.org/2007/ont/link#session': 2, // 2= test neg but display
167
+ 'http://www.w3.org/2007/ont/link#uri': 1,
168
+ 'http://www.w3.org/2007/ont/link#documentURI': 1,
169
+ 'http://www.w3.org/2007/ont/link#document': 1,
170
+ 'http://www.w3.org/2007/ont/link#all': 1, // From userinput.js
171
+ 'http://www.w3.org/2007/ont/link#Document': 1,
172
+ 'http://www.w3.org/ns/rww#editable': 1,
173
+ 'http://www.w3.org/2000/01/rdf-schema#seeAlso': 1,
174
+ 'http://www.w3.org/2002/07/owl#': 1
175
+ },
176
+ classes: {
177
+ // Things which are inherently already undercover
178
+ 'http://www.w3.org/2007/ont/link#ProtocolEvent': 1
179
+ }
180
+ };
181
+ function isProtectedUri(subject) {
182
+ // TODO: Could make the code below smarter by removing some of the redundancy by creating a recursive function, but did not bother now
183
+ const siteUri = subject.site().uri;
184
+ return (subject.uri === siteUri ||
185
+ subject.uri === siteUri + 'profile/' ||
186
+ subject.uri === siteUri + 'profile/card' ||
187
+ subject.uri === siteUri + 'settings/' ||
188
+ subject.uri === siteUri + 'settings/prefs.ttl' ||
189
+ subject.uri === siteUri + 'settings/privateTypeIndex.ttl' ||
190
+ subject.uri === siteUri + 'settings/publicTypeIndex.ttl' ||
191
+ subject.uri === siteUri + 'settings/serverSide.ttl');
192
+ }
193
+ export default pane;
194
+ // ends
195
+ //# sourceMappingURL=internalPane.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internalPane.js","sourceRoot":"","sources":["../../src/internal/internalPane.ts"],"names":[],"mappings":"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"}