solid-panes 3.5.23 → 3.5.24-ae742b5d

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (309) hide show
  1. package/.babelrc +0 -0
  2. package/.eslintignore +0 -0
  3. package/.eslintrc +0 -0
  4. package/.github/workflows/ci.yml +0 -0
  5. package/.nvmrc +0 -0
  6. package/Documentation/VisualLanguage.html +0 -0
  7. package/Documentation/conventions.md +0 -0
  8. package/LICENSE.md +0 -0
  9. package/README.md +6 -7
  10. package/dev/index.html +0 -0
  11. package/dev/loader.ts +1 -1
  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 +0 -0
  19. package/lib/argument/argumentPane.js +0 -0
  20. package/lib/argument/argumentPane.js.map +0 -0
  21. package/lib/attach/attachPane.js +0 -0
  22. package/lib/attach/attachPane.js.map +0 -0
  23. package/lib/audio/audioPane.js +0 -0
  24. package/lib/audio/audioPane.js.map +0 -0
  25. package/lib/classInstancePane.js +0 -0
  26. package/lib/classInstancePane.js.map +0 -0
  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 +2 -2
  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 +0 -0
  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 +0 -0
  39. package/lib/dataContentPane.js +0 -0
  40. package/lib/dataContentPane.js.map +0 -0
  41. package/lib/defaultPane.js +0 -0
  42. package/lib/defaultPane.js.map +0 -0
  43. package/lib/dokieli/dokieliPane.js +0 -0
  44. package/lib/dokieli/dokieliPane.js.map +0 -0
  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 +0 -0
  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 +0 -0
  55. package/lib/humanReadablePane.js +0 -0
  56. package/lib/humanReadablePane.js.map +0 -0
  57. package/lib/imagePane.js +14 -7
  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 +0 -0
  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 +0 -0
  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 +0 -0
  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 +2 -2
  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 +0 -0
  79. package/lib/microblogPane/microblogPane.js +0 -0
  80. package/lib/microblogPane/microblogPane.js.map +0 -0
  81. package/lib/n3Pane.js +0 -0
  82. package/lib/n3Pane.js.map +0 -0
  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 +0 -0
  87. package/lib/outline/licenseOptions.js +0 -0
  88. package/lib/outline/licenseOptions.js.map +0 -0
  89. package/lib/outline/manager.js +0 -0
  90. package/lib/outline/manager.js.map +0 -0
  91. package/lib/outline/manager.test.js +3 -3
  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 +0 -0
  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 +0 -0
  99. package/lib/outline/propertyViews.test.js +0 -0
  100. package/lib/outline/propertyViews.test.js.map +0 -0
  101. package/lib/outline/queryByExample.js +0 -0
  102. package/lib/outline/queryByExample.js.map +0 -0
  103. package/lib/outline/userInput.js +0 -0
  104. package/lib/outline/userInput.js.map +0 -0
  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 +0 -0
  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 +0 -0
  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 +0 -0
  117. package/lib/playlist/playlistPane.js +0 -0
  118. package/lib/playlist/playlistPane.js.map +0 -0
  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 +1 -1
  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 +0 -0
  127. package/lib/registerPanes.js +1 -1
  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 +1 -1
  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 +0 -0
  137. package/lib/slideshow/slideshowPane.js +23 -10
  138. package/lib/slideshow/slideshowPane.js.map +1 -1
  139. package/lib/socialPane.js +0 -0
  140. package/lib/socialPane.js.map +0 -0
  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 +0 -0
  145. package/lib/tableViewPane.js +0 -0
  146. package/lib/tableViewPane.js.map +0 -0
  147. package/lib/test-import-export/common.js +0 -0
  148. package/lib/test-import-export/common.js.map +0 -0
  149. package/lib/test-import-export/edit-importer.js +0 -0
  150. package/lib/test-import-export/edit-importer.js.map +0 -0
  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 +0 -0
  155. package/lib/transaction/period.js +0 -0
  156. package/lib/transaction/period.js.map +0 -0
  157. package/lib/trip/tripPane.js +0 -0
  158. package/lib/trip/tripPane.js.map +0 -0
  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 +0 -0
  163. package/lib/trustedApplications/trustedApplications.test.js +0 -0
  164. package/lib/trustedApplications/trustedApplications.test.js.map +0 -0
  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 +0 -0
  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 +0 -0
  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 +0 -0
  179. package/lib/versionInfo.d.ts +9 -11
  180. package/lib/versionInfo.d.ts.map +1 -1
  181. package/lib/versionInfo.js +14 -16
  182. package/lib/versionInfo.js.map +1 -1
  183. package/lib/video/videoPane.js +0 -0
  184. package/lib/video/videoPane.js.map +0 -0
  185. package/package.json +25 -25
  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 +2 -2
  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 +0 -0
  224. package/src/imagePane.js +18 -7
  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 +2 -2
  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 +3 -3
  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 +1 -1
  267. package/src/profile/profile.dom.ts +0 -0
  268. package/src/profile/profileFormText.ttl +0 -0
  269. package/src/registerPanes.js +1 -1
  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 +1 -1
  274. package/src/sharing/sharingPane.ts +0 -0
  275. package/src/slideshow/slideshowPane.js +16 -7
  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 -16
  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
File without changes
package/.nvmrc CHANGED
File without changes
File without changes
File without changes
package/LICENSE.md CHANGED
File without changes
package/README.md CHANGED
@@ -33,7 +33,7 @@ Currently the panes available include:
33
33
  The solid-app-set panes are built using a set of widgets and utilities in
34
34
  [https://github.com/linkeddata/solid-ui](https://github.com/linkeddata/solid-ui)
35
35
 
36
- To help onboarding, we're using [roles](https://github.com/solid/userguide/#role) to limit the number of panes presented
36
+ To help onboarding, we're using [roles](https://github.com/solidos/userguide/#role) to limit the number of panes presented
37
37
  to new users.
38
38
 
39
39
  ## Goals
@@ -49,7 +49,7 @@ to new users.
49
49
  Volunteers are always welcome!
50
50
 
51
51
  ## Documentation
52
- - [Visual Language](https://solid.github.io/solid-panes/Documentation/VisualLanguage.html)
52
+ - [Visual Language](https://solidos.github.io/solid-panes/Documentation/VisualLanguage.html)
53
53
  - [Conventions](./Documentation/conventions.md)
54
54
 
55
55
  ## Development
@@ -57,13 +57,12 @@ To get started, make sure you have Node.js installed (for instance
57
57
  through https://github.com/nvm-sh/nvm), and:
58
58
  1. run
59
59
  ```sh
60
- git clone https://github.com/solid/solid-panes
60
+ git clone https://github.com/solidos/solid-panes
61
61
  cd solid-panes
62
62
  npm install
63
- npm run build-version
64
- npx webpack serve
63
+ npm run start
65
64
  ```
66
- 2. open your browser at http://localhost:9000
65
+ 2. a browser window should automatically open at http://localhost:9000, if for some reason it doesn't go ahead and manually navigate there.
67
66
  3. edit `dev/pane/index.ts` and change the color string constant at the end of line 61.
68
67
  4. wait about 5 seconds
69
68
  5. you'll see the color of the box and heading change in your browser
@@ -80,4 +79,4 @@ Here, just to show how it works, are how some RDF Classes map onto panes. Anythi
80
79
  contacts (A VCARD Address Book, Group, Individual, Organization) can be handled by the one contact
81
80
  pane. Any other pane which wants to deal with contacts can just use the pane within its own user interface.
82
81
 
83
- ![Mapping many classes on the L to panes on the R](https://solid.github.io/solid-panes/doc/images/panes-for-classes.svg)
82
+ ![Mapping many classes on the L to panes on the R](https://solidos.github.io/solid-panes/doc/images/panes-for-classes.svg)
package/dev/index.html CHANGED
File without changes
package/dev/loader.ts CHANGED
@@ -19,7 +19,7 @@ async function renderPane (uri: string) {
19
19
  store.fetcher.load(doc).then(resolve, reject)
20
20
  })
21
21
  const context = {
22
- // see https://github.com/solid/solid-panes/blob/005f90295d83e499fd626bd84aeb3df10135d5c1/src/index.ts#L30-L34
22
+ // see https://github.com/solidos/solid-panes/blob/005f90295d83e499fd626bd84aeb3df10135d5c1/src/index.ts#L30-L34
23
23
  dom: document,
24
24
  getOutliner,
25
25
  session: {
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
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -115,7 +115,7 @@ function setupUserTypesSection(container, dom) {
115
115
  var description = formContainer.appendChild(dom.createElement('p'));
116
116
  description.innerText = 'Here you can self-assign user types to help the data browser know which views you would like to access.';
117
117
  var userTypesLink = formContainer.appendChild(dom.createElement('a'));
118
- userTypesLink.href = 'https://github.com/solid/userguide/#role';
118
+ userTypesLink.href = 'https://github.com/solidos/userguide/#role';
119
119
  userTypesLink.innerText = 'Read more';
120
120
  var formArea = formContainer.appendChild(dom.createElement('div'));
121
121
  return formArea;
@@ -172,7 +172,7 @@ function generateDeletionLink(_x2, _x3) {
172
172
  *
173
173
  * This function infers the deletion link by assuming the URL structure of Node Solid server.
174
174
  * In the future, Solid will hopefully provide a standardised way of discovering the deletion link:
175
- * https://github.com/solid/data-interoperability-panel/issues/18
175
+ * https://github.com/solidos/data-interoperability-panel/issues/18
176
176
  *
177
177
  * If NSS is in multi-user mode (the case on inrupt.net and solid.community), the deletion URL for
178
178
  * vincent.dev.inrupt.net would be at dev.inrupt.net/account/delete. In single-user mode, the
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/dashboard/basicPreferences.ts"],"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"],"mappings":"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","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/solid/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/solid/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"],"file":"basicPreferences.js"}
1
+ {"version":3,"sources":["../../src/dashboard/basicPreferences.ts"],"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"],"mappings":";;;;;;;AACA;;AACA;;;;;;;;;;;AAIO,IAAMA,oBAAoC,GAAG;AAClDC,EAAAA,IAAI,EAAEC,eAAMC,QAAN,GAAiB,gCAD2B;AAElDC,EAAAA,IAAI,EAAE,kBAF4C;AAGlDC,EAAAA,KAAK,EAAE,eAAAC,QAAQ,EAAI;AACjB,WAAO,IAAP;AACD,GALiD;AAOlD;AACA;AACAC,EAAAA,MAAM,EAAE,gBAACC,OAAD,EAAUC,OAAV,EAAsB;AAC5B,QAAMC,GAAG,GAAGD,OAAO,CAACC,GAApB;AACA,QAAMC,KAAK,GAAGF,OAAO,CAACG,OAAR,CAAgBD,KAA9B;;AAEA,aAASE,aAAT,CAAwBC,EAAxB,EAAqCC,IAArC,EAAgD;AAC9C,UAAID,EAAJ,EAAQ;AACRE,MAAAA,SAAS,CAACC,WAAV,CAAsBC,iBAAQC,iBAAR,CAA0BT,GAA1B,EAA+BK,IAA/B,EAAqC,MAArC,CAAtB;AACD;;AAED,QAAMC,SAAS,GAAGN,GAAG,CAACU,aAAJ,CAAkB,KAAlB,CAAlB;AAEA,QAAMC,QAAQ,GAAGC,qBAAqB,CAACN,SAAD,EAAYN,GAAZ,CAAtC;;AAEA,aAASa,QAAT,CAAmBC,GAAnB,EAAmCC,MAAnC,EAAmD;AACjDD,MAAAA,GAAG,GAAGA,GAAG,CAACA,GAAJ,EAAN,CADiD,CACjC;;AAChB,UAAI,CAACb,KAAK,CAACe,KAAN,CAAYC,SAAZ,EAAuBA,SAAvB,EAAkCA,SAAlC,EAA6CH,GAA7C,CAAL,EAAwD;AACtD;AACA;AAAC,YAACI,aAAD,EAAeH,MAAf,EAAuBd,KAAvB,EAA8Ba,GAAG,CAACK,GAAlC,EAAuC,aAAvC,EAAsD,IAAtD,EAFqD,CAEO;AAC9D;AACF;;AAED,QAAMC,eAAe,GAAGnB,KAAK,CAACoB,GAAN,CACtB,oDADsB,CAAxB;AAGAR,IAAAA,QAAQ,CAACO,eAAD,EAAkBE,mBAAlB,CAAR;AAEA,QAAMC,aAAa,GAAGtB,KAAK,CAACoB,GAAN,CACpB,mDADoB,CAAtB;AAGAR,IAAAA,QAAQ,CAACU,aAAD,EAAgBC,YAAhB,CAAR;;AA7B4B,aA+BbC,QA/Ba;AAAA;AAAA;;AAAA;AAAA,0EA+B5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAC8BC,eAAMC,uBAAN,CAA8B;AACxD3B,kBAAAA,GAAG,EAAHA,GADwD;AAExD4B,kBAAAA,GAAG,EAAEtB;AAFmD,iBAA9B,CAD9B;;AAAA;AACQuB,gBAAAA,aADR;;AAAA,oBAKOA,aAAa,CAACC,eALrB;AAAA;AAAA;AAAA;;AAMI;AACAC,gBAAAA,OAAO,CAACC,GAAR,CACE,2EACAH,aAAa,CAACI,oBAFhB;AAPJ;;AAAA;AAaQC,gBAAAA,YAbR,GAauB1B,iBAAQ2B,UAAR,CACnBnC,GADmB,EAEnBW,QAFmB,EAGnB,EAHmB,EAInBkB,aAAa,CAACO,EAJK,EAKnBhB,eALmB,EAMnBS,aAAa,CAACC,eANK,EAOnB3B,aAPmB,CAbvB;AAsBE+B,gBAAAA,YAAY,CAACG,KAAb,CAAmBC,WAAnB,GAAiC,MAAjC;AAEMC,gBAAAA,uBAxBR,GAwBkCxC,OAAO,CAACG,OAAR,CAAgBsC,YAAhB,CAA6BC,MAA7B,CAAoC,qBAApC,CAxBlC;;AAyBE,oBAAIF,uBAAJ,EAA6B;AAC3BjC,kBAAAA,SAAS,CAACC,WAAV,CAAsBgC,uBAAuB,CAAC1C,MAAxB,CAA+B,IAA/B,EAAqCE,OAArC,CAAtB;AACD,iBA3BH,CA6BE;;;AACA2C,gBAAAA,gBAAgB,CAACpC,SAAD,EAAYL,KAAZ,EAAmB4B,aAAa,CAACO,EAAjC,EAAsCpC,GAAtC,CAAhB;;AA9BF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OA/B4B;AAAA;AAAA;;AAgE5ByB,IAAAA,QAAQ;AAER,WAAOnB,SAAP;AACD;AA5EiD,CAA7C;;;AA+EP,SAASM,qBAAT,CACEN,SADF,EAEEN,GAFF,EAGW;AACT,MAAM2C,aAAa,GAAGC,aAAa,CAACtC,SAAD,EAAYN,GAAZ,EAAiB,YAAjB,CAAnC;AAEA,MAAM6C,WAAW,GAAGF,aAAa,CAACpC,WAAd,CAA0BP,GAAG,CAACU,aAAJ,CAAkB,GAAlB,CAA1B,CAApB;AACAmC,EAAAA,WAAW,CAACC,SAAZ,GAAwB,yGAAxB;AAEA,MAAMC,aAAa,GAAGJ,aAAa,CAACpC,WAAd,CAA0BP,GAAG,CAACU,aAAJ,CAAkB,GAAlB,CAA1B,CAAtB;AACAqC,EAAAA,aAAa,CAACC,IAAd,GAAqB,4CAArB;AACAD,EAAAA,aAAa,CAACD,SAAd,GAA0B,WAA1B;AAEA,MAAMnC,QAAQ,GAAGgC,aAAa,CAACpC,WAAd,CAA0BP,GAAG,CAACU,aAAJ,CAAkB,KAAlB,CAA1B,CAAjB;AAEA,SAAOC,QAAP;AACD;;eAEcrB,oB,EAEf;;;;AAEA,SAASoD,gBAAT,CACEpC,SADF,EAEEL,KAFF,EAGEgD,OAHF,EAIEjD,GAJF,EAKQ;AACN,MAAMkD,OAAO,GAAGN,aAAa,CAACtC,SAAD,EAAYN,GAAZ,EAAiB,gBAAjB,CAA7B;AAEA,MAAMmD,cAAc,GAAGlD,KAAK,CAACmD,IAAN,CAAWH,OAAX,EAAoBI,YAAGC,KAAH,CAAS,SAAT,CAApB,EAAyC,IAAzC,EAA+CL,OAAO,CAACnC,GAAR,EAA/C,CAAvB;AACA,MAAMyC,UAAU,GAAGJ,cAAc,CAACK,GAAf,CAAmB,UAAAC,IAAI;AAAA,WAAIA,IAAI,CAACC,KAAT;AAAA,GAAvB,CAAnB;AAEA,MAAMC,IAAI,GAAGT,OAAO,CAAC3C,WAAR,CAAoBP,GAAG,CAACU,aAAJ,CAAkB,IAAlB,CAApB,CAAb;AAEA6C,EAAAA,UAAU,CAACK,OAAX;AAAA,uEAAmB,kBAAMC,MAAN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBACUC,oBAAoB,CAACD,MAAD,EAAS7D,GAAT,CAD9B;;AAAA;AACX+D,cAAAA,YADW;;AAEjB,kBAAIA,YAAJ,EAAkB;AACVC,gBAAAA,QADU,GACCL,IAAI,CAACpD,WAAL,CAAiBP,GAAG,CAACU,aAAJ,CAAkB,IAAlB,CAAjB,CADD;AAEhBsD,gBAAAA,QAAQ,CAACzD,WAAT,CAAqBwD,YAArB;AACD;;AALgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAnB;;AAAA;AAAA;AAAA;AAAA;AAOD;;SAEcD,oB;;;AAcf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;kFA5BA,kBACEG,SADF,EAEEjE,GAFF;AAAA;AAAA;AAAA;AAAA;AAAA;AAIQkE,YAAAA,IAJR,GAIelE,GAAG,CAACU,aAAJ,CAAkB,GAAlB,CAJf;AAKEwD,YAAAA,IAAI,CAACC,WAAL,oCAA6CF,SAA7C;AALF;AAAA,mBAM4BG,uBAAuB,CAACH,SAAD,CANnD;;AAAA;AAMQI,YAAAA,WANR;;AAAA,kBAOM,OAAOA,WAAP,KAAuB,QAP7B;AAAA;AAAA;AAAA;;AAAA,8CAQW,IARX;;AAAA;AAUEH,YAAAA,IAAI,CAAClB,IAAL,GAAYqB,WAAZ;AAVF,8CAWSH,IAXT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;SA6BeE,uB;;;;;qFAAf,kBACEP,MADF;AAAA;AAAA;AAAA;AAAA;AAAA;AAGQS,YAAAA,aAHR,GAGwB,IAAIC,GAAJ,CAAQV,MAAR,CAHxB;AAIQW,YAAAA,YAJR,GAIuB,IAAID,GAAJ,CAAQV,MAAR,CAJvB;AAKEW,YAAAA,YAAY,CAACC,QAAb,GAAwBH,aAAa,CAACG,QAAd,GAAyB,iBAAjD;AAEMC,YAAAA,aAPR,GAOwBF,YAAY,CAACG,QAAb,CAAsBC,KAAtB,CAA4B,GAA5B,CAPxB,EAQE;;AACAJ,YAAAA,YAAY,CAACG,QAAb,GAAwBD,aAAa,CAACG,KAAd,CAAoB,CAApB,EAAuBC,IAAvB,CAA4B,GAA5B,CAAxB;AATF;AAAA,mBAWqCC,KAAK,CAACP,YAAY,CAACxB,IAAd,EAAoB;AAC1DgC,cAAAA,MAAM,EAAE;AADkD,aAApB,CAX1C;;AAAA;AAWQC,YAAAA,oBAXR;;AAAA,iBAcMA,oBAAoB,CAAC7E,EAd3B;AAAA;AAAA;AAAA;;AAAA,8CAeWoE,YAAY,CAACxB,IAfxB;;AAAA;AAAA;AAAA,mBAkBsC+B,KAAK,CAACT,aAAa,CAACtB,IAAf,EAAqB;AAC5DgC,cAAAA,MAAM,EAAE;AADoD,aAArB,CAlB3C;;AAAA;AAkBQE,YAAAA,qBAlBR;;AAAA,iBAqBMA,qBAAqB,CAAC9E,EArB5B;AAAA;AAAA;AAAA;;AAAA,8CAsBWkE,aAAa,CAACtB,IAtBzB;;AAAA;AAAA,8CAwBS,IAxBT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;AA2BA,SAASJ,aAAT,CACEtC,SADF,EAEEN,GAFF,EAGEmF,KAHF,EAIW;AACT,MAAMjC,OAAO,GAAG5C,SAAS,CAACC,WAAV,CAAsBP,GAAG,CAACU,aAAJ,CAAkB,KAAlB,CAAtB,CAAhB;AACAwC,EAAAA,OAAO,CAACb,KAAR,CAAc+C,MAAd,GAAuB,qBAAvB;AACAlC,EAAAA,OAAO,CAACb,KAAR,CAAcgD,YAAd,GAA6B,OAA7B;AACAnC,EAAAA,OAAO,CAACb,KAAR,CAAciD,OAAd,GAAwB,OAAxB;AACApC,EAAAA,OAAO,CAACb,KAAR,CAAckD,SAAd,GAA0B,OAA1B;AAEA,MAAMC,YAAY,GAAGtC,OAAO,CAAC3C,WAAR,CAAoBP,GAAG,CAACU,aAAJ,CAAkB,IAAlB,CAApB,CAArB;AACA8E,EAAAA,YAAY,CAAC1C,SAAb,GAAyBqC,KAAzB;AAEA,SAAOjC,OAAP;AACD","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"],"file":"basicPreferences.js"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/lib/form/pane.js CHANGED
File without changes
File without changes
package/lib/global.d.js CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/lib/imagePane.js CHANGED
@@ -10,16 +10,16 @@ module.exports = {
10
10
  icon: UI.icons.originalIconBase + 'tango/22-image-x-generic.png',
11
11
  name: 'image',
12
12
  label: function label(subject, context) {
13
- var kb = context.session.store;
13
+ var store = context.session.store;
14
14
 
15
- if (!kb.anyStatementMatching(subject, UI.ns.rdf('type'), kb.sym('http://purl.org/dc/terms/Image'))) {
15
+ if (!store.anyStatementMatching(subject, UI.ns.rdf('type'), store.sym('http://purl.org/dc/terms/Image'))) {
16
16
  // NB: Not dc: namespace!
17
17
  return null;
18
18
  } // See also the source pane, which has lower precedence.
19
19
 
20
20
 
21
- var contentTypeMatch = function contentTypeMatch(kb, x, contentTypes) {
22
- var cts = kb.fetcher.getHeader(x, 'content-type');
21
+ var contentTypeMatch = function contentTypeMatch(store, x, contentTypes) {
22
+ var cts = store.fetcher.getHeader(x, 'content-type');
23
23
 
24
24
  if (cts) {
25
25
  for (var j = 0; j < cts.length; j++) {
@@ -36,7 +36,7 @@ module.exports = {
36
36
 
37
37
  var suppressed = ['application/pdf'];
38
38
 
39
- if (contentTypeMatch(kb, subject, suppressed)) {
39
+ if (contentTypeMatch(store, subject, suppressed)) {
40
40
  return null;
41
41
  }
42
42
 
@@ -44,10 +44,17 @@ module.exports = {
44
44
  },
45
45
  render: function render(subject, context) {
46
46
  var myDocument = context.dom;
47
+ var store = context.session.store;
47
48
  var div = myDocument.createElement('div');
48
49
  div.setAttribute('class', 'imageView');
49
- var img = myDocument.createElement('IMG');
50
- img.setAttribute('src', subject.uri); // w640 h480
50
+ var img = myDocument.createElement('IMG'); // get image with authenticated fetch
51
+
52
+ store.fetcher._fetch(subject.uri).then(function (response) {
53
+ return response.blob();
54
+ }).then(function (myBlob) {
55
+ var objectURL = URL.createObjectURL(myBlob);
56
+ img.setAttribute('src', objectURL); // w640 h480 //
57
+ });
51
58
 
52
59
  img.setAttribute('style', 'max-width: 100%; max-height: 100%;'); // div.style['max-width'] = '640'
53
60
  // div.style['max-height'] = '480'
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/imagePane.js"],"names":["UI","require","module","exports","icon","icons","originalIconBase","name","label","subject","context","kb","session","store","anyStatementMatching","ns","rdf","sym","contentTypeMatch","x","contentTypes","cts","fetcher","getHeader","j","length","k","indexOf","suppressed","render","myDocument","dom","div","createElement","setAttribute","img","uri","tr","appendChild"],"mappings":";;AAAA;AACA;AACA;AACA;AACA,IAAMA,EAAE,GAAGC,OAAO,CAAC,UAAD,CAAlB;;AAEAC,MAAM,CAACC,OAAP,GAAiB;AACfC,EAAAA,IAAI,EAAEJ,EAAE,CAACK,KAAH,CAASC,gBAAT,GAA4B,8BADnB;AAGfC,EAAAA,IAAI,EAAE,OAHS;AAKfC,EAAAA,KAAK,EAAE,eAAUC,OAAV,EAAmBC,OAAnB,EAA4B;AACjC,QAAMC,EAAE,GAAGD,OAAO,CAACE,OAAR,CAAgBC,KAA3B;;AACA,QACE,CAACF,EAAE,CAACG,oBAAH,CACCL,OADD,EAECT,EAAE,CAACe,EAAH,CAAMC,GAAN,CAAU,MAAV,CAFD,EAGCL,EAAE,CAACM,GAAH,CAAO,gCAAP,CAHD,CADH,EAME;AACA;AACA,aAAO,IAAP;AACD,KAXgC,CAajC;;;AAEA,QAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAUP,EAAV,EAAcQ,CAAd,EAAiBC,YAAjB,EAA+B;AACtD,UAAMC,GAAG,GAAGV,EAAE,CAACW,OAAH,CAAWC,SAAX,CAAqBJ,CAArB,EAAwB,cAAxB,CAAZ;;AACA,UAAIE,GAAJ,EAAS;AACP,aAAK,IAAIG,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,GAAG,CAACI,MAAxB,EAAgCD,CAAC,EAAjC,EAAqC;AACnC,eAAK,IAAIE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGN,YAAY,CAACK,MAAjC,EAAyCC,CAAC,EAA1C,EAA8C;AAC5C,gBAAIL,GAAG,CAACG,CAAD,CAAH,CAAOG,OAAP,CAAeP,YAAY,CAACM,CAAD,CAA3B,KAAmC,CAAvC,EAA0C;AACxC,qBAAO,IAAP;AACD;AACF;AACF;AACF;;AACD,aAAO,KAAP;AACD,KAZD;;AAcA,QAAME,UAAU,GAAG,CAAC,iBAAD,CAAnB;;AACA,QAAIV,gBAAgB,CAACP,EAAD,EAAKF,OAAL,EAAcmB,UAAd,CAApB,EAA+C;AAC7C,aAAO,IAAP;AACD;;AACD,WAAO,MAAP;AACD,GAvCc;AAyCfC,EAAAA,MAAM,EAAE,gBAAUpB,OAAV,EAAmBC,OAAnB,EAA4B;AAClC,QAAMoB,UAAU,GAAGpB,OAAO,CAACqB,GAA3B;AACA,QAAMC,GAAG,GAAGF,UAAU,CAACG,aAAX,CAAyB,KAAzB,CAAZ;AACAD,IAAAA,GAAG,CAACE,YAAJ,CAAiB,OAAjB,EAA0B,WAA1B;AACA,QAAMC,GAAG,GAAGL,UAAU,CAACG,aAAX,CAAyB,KAAzB,CAAZ;AACAE,IAAAA,GAAG,CAACD,YAAJ,CAAiB,KAAjB,EAAwBzB,OAAO,CAAC2B,GAAhC,EALkC,CAKG;;AACrCD,IAAAA,GAAG,CAACD,YAAJ,CAAiB,OAAjB,EAA0B,oCAA1B,EANkC,CAOlC;AACA;;AACA,QAAMG,EAAE,GAAGP,UAAU,CAACG,aAAX,CAAyB,IAAzB,CAAX,CATkC,CASQ;;AAC1CI,IAAAA,EAAE,CAACC,WAAH,CAAeH,GAAf;AACAH,IAAAA,GAAG,CAACM,WAAJ,CAAgBD,EAAhB;AACA,WAAOL,GAAP;AACD;AAtDc,CAAjB,C,CAyDA","sourcesContent":["/* Image Pane\n **\n ** This outline pane contains the document contents for an Image document\n */\nconst UI = require('solid-ui')\n\nmodule.exports = {\n icon: UI.icons.originalIconBase + 'tango/22-image-x-generic.png',\n\n name: 'image',\n\n label: function (subject, context) {\n const kb = context.session.store\n if (\n !kb.anyStatementMatching(\n subject,\n UI.ns.rdf('type'),\n kb.sym('http://purl.org/dc/terms/Image')\n )\n ) {\n // NB: Not dc: namespace!\n return null\n }\n\n // See also the source pane, which has lower precedence.\n\n const contentTypeMatch = function (kb, x, contentTypes) {\n const cts = kb.fetcher.getHeader(x, 'content-type')\n if (cts) {\n for (let j = 0; j < cts.length; j++) {\n for (let k = 0; k < contentTypes.length; k++) {\n if (cts[j].indexOf(contentTypes[k]) >= 0) {\n return true\n }\n }\n }\n }\n return false\n }\n\n const suppressed = ['application/pdf']\n if (contentTypeMatch(kb, subject, suppressed)) {\n return null\n }\n return 'view'\n },\n\n render: function (subject, context) {\n const myDocument = context.dom\n const div = myDocument.createElement('div')\n div.setAttribute('class', 'imageView')\n const img = myDocument.createElement('IMG')\n img.setAttribute('src', subject.uri) // w640 h480\n img.setAttribute('style', 'max-width: 100%; max-height: 100%;')\n // div.style['max-width'] = '640'\n // div.style['max-height'] = '480'\n const tr = myDocument.createElement('TR') // why need tr?\n tr.appendChild(img)\n div.appendChild(tr)\n return div\n }\n}\n\n// ends\n"],"file":"imagePane.js"}
1
+ {"version":3,"sources":["../src/imagePane.js"],"names":["UI","require","module","exports","icon","icons","originalIconBase","name","label","subject","context","store","session","anyStatementMatching","ns","rdf","sym","contentTypeMatch","x","contentTypes","cts","fetcher","getHeader","j","length","k","indexOf","suppressed","render","myDocument","dom","div","createElement","setAttribute","img","_fetch","uri","then","response","blob","myBlob","objectURL","URL","createObjectURL","tr","appendChild"],"mappings":"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","sourcesContent":["/* Image Pane\n **\n ** This outline pane contains the document contents for an Image document\n */\nconst UI = require('solid-ui')\n\nmodule.exports = {\n icon: UI.icons.originalIconBase + 'tango/22-image-x-generic.png',\n\n name: 'image',\n\n label: function (subject, context) {\n const store = context.session.store\n if (\n !store.anyStatementMatching(\n subject,\n UI.ns.rdf('type'),\n store.sym('http://purl.org/dc/terms/Image')\n )\n ) {\n // NB: Not dc: namespace!\n return null\n }\n\n // See also the source pane, which has lower precedence.\n\n const contentTypeMatch = function (store, x, contentTypes) {\n const cts = store.fetcher.getHeader(x, 'content-type')\n if (cts) {\n for (let j = 0; j < cts.length; j++) {\n for (let k = 0; k < contentTypes.length; k++) {\n if (cts[j].indexOf(contentTypes[k]) >= 0) {\n return true\n }\n }\n }\n }\n return false\n }\n\n const suppressed = ['application/pdf']\n if (contentTypeMatch(store, subject, suppressed)) {\n return null\n }\n return 'view'\n },\n\n render: function (subject, context) {\n const myDocument = context.dom\n const store = context.session.store\n const div = myDocument.createElement('div')\n div.setAttribute('class', 'imageView')\n const img = myDocument.createElement('IMG')\n\n // get image with authenticated fetch\n store.fetcher._fetch(subject.uri)\n .then(function(response) {\n return response.blob()\n })\n .then(function(myBlob) {\n const objectURL = URL.createObjectURL(myBlob)\n img.setAttribute('src', objectURL) // w640 h480 //\n })\n\n img.setAttribute('style', 'max-width: 100%; max-height: 100%;')\n // div.style['max-width'] = '640'\n // div.style['max-height'] = '480'\n const tr = myDocument.createElement('TR') // why need tr?\n tr.appendChild(img)\n div.appendChild(tr)\n return div\n }\n}\n\n// ends\n"],"file":"imagePane.js"}
package/lib/index.d.ts CHANGED
File without changes
File without changes
package/lib/index.js CHANGED
File without changes
package/lib/index.js.map CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -30,8 +30,8 @@ var LOG_OUT_MENU_ITEM = 'Log out';
30
30
  * URLS
31
31
  */
32
32
 
33
- var USER_GUIDE_MENU_URL = 'https://solid.github.io/userguide/';
34
- var REPORT_A_PROBLEM_MENU_URL = 'https://github.com/solid/solidos/issues';
33
+ var USER_GUIDE_MENU_URL = 'https://solidos.github.io/userguide/';
34
+ var REPORT_A_PROBLEM_MENU_URL = 'https://github.com/solidos/solidos/issues';
35
35
 
36
36
  function createHeader(_x, _x2) {
37
37
  return _createHeader.apply(this, arguments);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mainPage/header.ts"],"names":["HELP_MENU_ICON","icons","iconBase","SOLID_ICON_URL","USER_GUIDE_MENU_ITEM","REPORT_A_PROBLEM_MENU_ITEM","SHOW_YOUR_PROFILE_MENU_ITEM","LOG_OUT_MENU_ITEM","USER_GUIDE_MENU_URL","REPORT_A_PROBLEM_MENU_URL","createHeader","store","outliner","initHeader","setUserMenu","setHeaderOptions","helpMenuList","label","url","target","headerOptions","logo","helpIcon","showProfile","onclick","openUserProfile","logOut","authSession","logout","userMenuList","getMenuItems","concat","push","GotoSubject","authn","currentUser","undefined","location","reload","getDashboardItems","items","map","element","openDashboardPane","tabName","paneName","pane","showDashboard"],"mappings":"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","sourcesContent":["import { authSession, authn } from 'solid-logic'\nimport { icons, initHeader } from 'solid-ui'\n/**\n * menu icons\n*/\nconst HELP_MENU_ICON = icons.iconBase + 'noun_help.svg'\nconst SOLID_ICON_URL = 'https://solidproject.org/assets/img/solid-emblem.svg'\n\n/**\n * menu elements\n*/\nconst USER_GUIDE_MENU_ITEM = 'User guide'\nconst REPORT_A_PROBLEM_MENU_ITEM = 'Report a problem'\nconst SHOW_YOUR_PROFILE_MENU_ITEM = 'Show your profile'\nconst LOG_OUT_MENU_ITEM = 'Log out'\n/**\n * URLS\n */\nconst USER_GUIDE_MENU_URL = 'https://solid.github.io/userguide/'\nconst REPORT_A_PROBLEM_MENU_URL = 'https://github.com/solid/solidos/issues'\n\nexport async function createHeader (store, outliner) {\n initHeader(store, await setUserMenu(outliner), setHeaderOptions())\n}\n\nfunction setHeaderOptions () {\n const helpMenuList = [\n { label: USER_GUIDE_MENU_ITEM, url: USER_GUIDE_MENU_URL, target: '_blank' },\n { label: REPORT_A_PROBLEM_MENU_ITEM, url: REPORT_A_PROBLEM_MENU_URL, target: '_blank' }\n ]\n const headerOptions = { logo: SOLID_ICON_URL, helpIcon: HELP_MENU_ICON, helpMenuList: helpMenuList }\n\n return headerOptions\n}\n\nasync function setUserMenu (outliner: any) {\n const showProfile = {\n label: SHOW_YOUR_PROFILE_MENU_ITEM,\n onclick: () => openUserProfile(outliner)\n }\n\n const logOut = {\n label: LOG_OUT_MENU_ITEM,\n onclick: () => {\n authSession.logout()\n }\n }\n\n // the order of the menu is important here, show profile first and logout last\n let userMenuList = [showProfile]\n userMenuList = userMenuList.concat(await getMenuItems(outliner))\n userMenuList.push(logOut)\n\n return userMenuList\n}\n\nfunction openUserProfile (outliner: any) {\n outliner.GotoSubject(authn.currentUser(), true, undefined, true, undefined)\n location.reload()\n}\n\nasync function getMenuItems (outliner: any) {\n const items = await outliner.getDashboardItems()\n return items.map((element) => {\n return {\n label: element.label,\n onclick: () => openDashboardPane(outliner, element.tabName || element.paneName)\n }\n })\n}\n\nasync function openDashboardPane (outliner: any, pane: string): Promise<void> {\n outliner.showDashboard({\n pane\n })\n}\n"],"file":"header.js"}
1
+ {"version":3,"sources":["../../src/mainPage/header.ts"],"names":["HELP_MENU_ICON","icons","iconBase","SOLID_ICON_URL","USER_GUIDE_MENU_ITEM","REPORT_A_PROBLEM_MENU_ITEM","SHOW_YOUR_PROFILE_MENU_ITEM","LOG_OUT_MENU_ITEM","USER_GUIDE_MENU_URL","REPORT_A_PROBLEM_MENU_URL","createHeader","store","outliner","initHeader","setUserMenu","setHeaderOptions","helpMenuList","label","url","target","headerOptions","logo","helpIcon","showProfile","onclick","openUserProfile","logOut","authSession","logout","userMenuList","getMenuItems","concat","push","GotoSubject","authn","currentUser","undefined","location","reload","getDashboardItems","items","map","element","openDashboardPane","tabName","paneName","pane","showDashboard"],"mappings":"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","sourcesContent":["import { authSession, authn } from 'solid-logic'\nimport { icons, initHeader } from 'solid-ui'\n/**\n * menu icons\n*/\nconst HELP_MENU_ICON = icons.iconBase + 'noun_help.svg'\nconst SOLID_ICON_URL = 'https://solidproject.org/assets/img/solid-emblem.svg'\n\n/**\n * menu elements\n*/\nconst USER_GUIDE_MENU_ITEM = 'User guide'\nconst REPORT_A_PROBLEM_MENU_ITEM = 'Report a problem'\nconst SHOW_YOUR_PROFILE_MENU_ITEM = 'Show your profile'\nconst LOG_OUT_MENU_ITEM = 'Log out'\n/**\n * URLS\n */\nconst USER_GUIDE_MENU_URL = 'https://solidos.github.io/userguide/'\nconst REPORT_A_PROBLEM_MENU_URL = 'https://github.com/solidos/solidos/issues'\n\nexport async function createHeader (store, outliner) {\n initHeader(store, await setUserMenu(outliner), setHeaderOptions())\n}\n\nfunction setHeaderOptions () {\n const helpMenuList = [\n { label: USER_GUIDE_MENU_ITEM, url: USER_GUIDE_MENU_URL, target: '_blank' },\n { label: REPORT_A_PROBLEM_MENU_ITEM, url: REPORT_A_PROBLEM_MENU_URL, target: '_blank' }\n ]\n const headerOptions = { logo: SOLID_ICON_URL, helpIcon: HELP_MENU_ICON, helpMenuList: helpMenuList }\n\n return headerOptions\n}\n\nasync function setUserMenu (outliner: any) {\n const showProfile = {\n label: SHOW_YOUR_PROFILE_MENU_ITEM,\n onclick: () => openUserProfile(outliner)\n }\n\n const logOut = {\n label: LOG_OUT_MENU_ITEM,\n onclick: () => {\n authSession.logout()\n }\n }\n\n // the order of the menu is important here, show profile first and logout last\n let userMenuList = [showProfile]\n userMenuList = userMenuList.concat(await getMenuItems(outliner))\n userMenuList.push(logOut)\n\n return userMenuList\n}\n\nfunction openUserProfile (outliner: any) {\n outliner.GotoSubject(authn.currentUser(), true, undefined, true, undefined)\n location.reload()\n}\n\nasync function getMenuItems (outliner: any) {\n const items = await outliner.getDashboardItems()\n return items.map((element) => {\n return {\n label: element.label,\n onclick: () => openDashboardPane(outliner, element.tabName || element.paneName)\n }\n })\n}\n\nasync function openDashboardPane (outliner: any, pane: string): Promise<void> {\n outliner.showDashboard({\n pane\n })\n}\n"],"file":"header.js"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/lib/n3Pane.js CHANGED
File without changes
package/lib/n3Pane.js.map CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -60,7 +60,7 @@ describe('manager', function () {
60
60
  it('shows an expand icon', function () {
61
61
  var img = result.firstChild;
62
62
  expect(img.nodeName).toBe('IMG');
63
- expect(img).toHaveAttribute('src', 'https://solid.github.io/solid-ui/src/originalIcons/tbl-expand-trans.png');
63
+ expect(img).toHaveAttribute('src', 'https://solidos.github.io/solid-ui/src/originalIcons/tbl-expand-trans.png');
64
64
  });
65
65
  it('shows the node label', function () {
66
66
  expect(result).toHaveTextContent('namednode.example');
@@ -131,7 +131,7 @@ describe('manager', function () {
131
131
  it('shows an expand icon', function () {
132
132
  var img = result.firstChild;
133
133
  expect(img.nodeName).toBe('IMG');
134
- expect(img).toHaveAttribute('src', 'https://solid.github.io/solid-ui/src/originalIcons/tbl-expand-trans.png');
134
+ expect(img).toHaveAttribute('src', 'https://solidos.github.io/solid-ui/src/originalIcons/tbl-expand-trans.png');
135
135
  });
136
136
  it('shows the phone number', function () {
137
137
  expect(result).toHaveTextContent('+1-201-555-0123');
@@ -149,7 +149,7 @@ describe('manager', function () {
149
149
  it('is represented by phone icon', function () {
150
150
  var phoneIcon = phoneLink.lastChild;
151
151
  expect(phoneIcon.nodeName).toBe('IMG');
152
- expect(phoneIcon).toHaveAttribute('src', 'https://solid.github.io/solid-ui/src/originalIcons/silk/telephone.png');
152
+ expect(phoneIcon).toHaveAttribute('src', 'https://solidos.github.io/solid-ui/src/originalIcons/silk/telephone.png');
153
153
  });
154
154
  });
155
155
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/outline/manager.test.ts"],"names":["MockPane","render","subject","div","document","createElement","appendChild","createTextNode","uri","mockPaneRegistry","list","byName","describe","result","beforeAll","table","row","manager","OutlineManager","dom","session","paneRegistry","outlineObjectTD","it","expect","nodeName","toBe","toHaveAttribute","toHaveClass","toHaveStyle","img","firstChild","toHaveTextContent","label","linkIcon","beforeEach","lastChild","expand","click","parentNode","error","phoneLink","phoneIcon","not","text"],"mappings":"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","sourcesContent":["/* eslint-env jest */\nimport OutlineManager from './manager'\n\nimport { lit, NamedNode, sym, blankNode } from 'rdflib'\nimport { findByText, getByText } from '@testing-library/dom'\n\nconst MockPane = {\n render: (subject: NamedNode) => {\n const div = document.createElement('div')\n div.appendChild(document.createTextNode(`Mock Pane for ${subject.uri}`))\n return div\n }\n}\n\nconst mockPaneRegistry = {\n list: [],\n byName: () => MockPane\n}\n\ndescribe('manager', () => {\n describe('outline object td', () => {\n describe('for a named node', () => {\n let result\n beforeAll(() => {\n const table = document.createElement('table')\n const row = document.createElement('tr')\n table.appendChild(row)\n const manager = new OutlineManager({ dom: document, session: { paneRegistry: mockPaneRegistry } })\n result = manager.outlineObjectTD(sym('https://namednode.example/'), null, null, null)\n row.appendChild(result)\n })\n it('is a html td element', () => {\n expect(result.nodeName).toBe('TD')\n })\n it('about attribute refers to node', () => {\n expect(result).toHaveAttribute('about', '<https://namednode.example/>')\n })\n it('has class obj', () => {\n expect(result).toHaveClass('obj')\n })\n it('is selectable', () => {\n expect(result).toHaveAttribute('notselectable', 'false')\n })\n it('has style', () => {\n expect(result).toHaveStyle('margin: 0.2em; border: none; padding: 0; vertical-align: top;')\n })\n it('shows an expand icon', () => {\n const img = result.firstChild\n expect(img.nodeName).toBe('IMG')\n expect(img).toHaveAttribute('src', 'https://solid.github.io/solid-ui/src/originalIcons/tbl-expand-trans.png')\n })\n it('shows the node label', () => {\n expect(result).toHaveTextContent('namednode.example')\n })\n it('label is draggable', () => {\n const label = getByText(result, 'namednode.example')\n expect(label).toHaveAttribute('draggable', 'true')\n })\n describe('link icon', () => {\n let linkIcon\n beforeEach(() => {\n const label = getByText(result, 'namednode.example')\n linkIcon = label.lastChild\n })\n it('is linked to named node URI', () => {\n expect(linkIcon.nodeName).toBe('A')\n expect(linkIcon).toHaveAttribute('href', 'https://namednode.example/')\n })\n })\n describe('expanding', () => {\n it('renders relevant pane', async () => {\n const expand = result.firstChild\n expand.click()\n const error = await findByText(result.parentNode, /Mock Pane/)\n expect(error).toHaveTextContent('Mock Pane for https://namednode.example/')\n })\n })\n })\n\n describe('for a tel uri', () => {\n let result\n beforeAll(() => {\n const manager = new OutlineManager({ dom: document })\n result = manager.outlineObjectTD(sym('tel:+1-201-555-0123'), null, null, null)\n })\n it('is a html td element', () => {\n expect(result.nodeName).toBe('TD')\n })\n it('about attribute refers to tel uri', () => {\n expect(result).toHaveAttribute('about', '<tel:+1-201-555-0123>')\n })\n it('has class obj', () => {\n expect(result).toHaveClass('obj')\n })\n it('is selectable', () => {\n expect(result).toHaveAttribute('notselectable', 'false')\n })\n it('has style', () => {\n expect(result).toHaveStyle('margin: 0.2em; border: none; padding: 0; vertical-align: top;')\n })\n it('shows an expand icon', () => {\n const img = result.firstChild\n expect(img.nodeName).toBe('IMG')\n expect(img).toHaveAttribute('src', 'https://solid.github.io/solid-ui/src/originalIcons/tbl-expand-trans.png')\n })\n it('shows the phone number', () => {\n expect(result).toHaveTextContent('+1-201-555-0123')\n })\n describe('phone link', () => {\n let phoneLink\n beforeAll(() => {\n const label = getByText(result, '+1-201-555-0123')\n phoneLink = label.lastChild\n })\n it('is linked to tel uri', () => {\n expect(phoneLink.nodeName).toBe('A')\n expect(phoneLink).toHaveAttribute('href', 'tel:+1-201-555-0123')\n })\n it('is represented by phone icon', () => {\n const phoneIcon = phoneLink.lastChild\n expect(phoneIcon.nodeName).toBe('IMG')\n expect(phoneIcon).toHaveAttribute('src', 'https://solid.github.io/solid-ui/src/originalIcons/silk/telephone.png')\n })\n })\n })\n\n describe('for a literal', () => {\n let result\n beforeAll(() => {\n const manager = new OutlineManager({ dom: document })\n result = manager.outlineObjectTD(lit('some text'), null, null, null)\n })\n it('is a html td element', () => {\n expect(result.nodeName).toBe('TD')\n })\n it('has no about attribute', () => {\n expect(result).not.toHaveAttribute('about')\n })\n it('has class obj', () => {\n expect(result).toHaveClass('obj')\n })\n it('is selectable', () => {\n expect(result).toHaveAttribute('notselectable', 'false')\n })\n it('has style', () => {\n expect(result).toHaveStyle('margin: 0.2em; border: none; padding: 0; vertical-align: top;')\n })\n it('shows the literal text', () => {\n expect(result).toHaveTextContent('some text')\n })\n it('literal text preserves white space', () => {\n const text = getByText(result, 'some text')\n expect(text).toHaveStyle('white-space: pre-wrap;')\n })\n })\n\n describe('for a blank node', () => {\n let result\n beforeAll(() => {\n const manager = new OutlineManager({ dom: document })\n result = manager.outlineObjectTD(blankNode('blank-node'), null, null, null)\n })\n it('is a html td element', () => {\n expect(result.nodeName).toBe('TD')\n })\n it('has about attribute', () => {\n expect(result).toHaveAttribute('about', '_:blank-node')\n })\n it('has class obj', () => {\n expect(result).toHaveClass('obj')\n })\n it('is selectable', () => {\n expect(result).toHaveAttribute('notselectable', 'false')\n })\n it('has style', () => {\n expect(result).toHaveStyle('margin: 0.2em; border: none; padding: 0; vertical-align: top;')\n })\n it('shows 3 dots', () => {\n expect(result).toHaveTextContent('...')\n })\n })\n })\n})\n"],"file":"manager.test.js"}
1
+ {"version":3,"sources":["../../src/outline/manager.test.ts"],"names":["MockPane","render","subject","div","document","createElement","appendChild","createTextNode","uri","mockPaneRegistry","list","byName","describe","result","beforeAll","table","row","manager","OutlineManager","dom","session","paneRegistry","outlineObjectTD","it","expect","nodeName","toBe","toHaveAttribute","toHaveClass","toHaveStyle","img","firstChild","toHaveTextContent","label","linkIcon","beforeEach","lastChild","expand","click","parentNode","error","phoneLink","phoneIcon","not","text"],"mappings":";;AACA;;AAEA;;AACA;;;;;;;;AAEA,IAAMA,QAAQ,GAAG;AACfC,EAAAA,MAAM,EAAE,gBAACC,OAAD,EAAwB;AAC9B,QAAMC,GAAG,GAAGC,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAZ;AACAF,IAAAA,GAAG,CAACG,WAAJ,CAAgBF,QAAQ,CAACG,cAAT,yBAAyCL,OAAO,CAACM,GAAjD,EAAhB;AACA,WAAOL,GAAP;AACD;AALc,CAAjB;AAQA,IAAMM,gBAAgB,GAAG;AACvBC,EAAAA,IAAI,EAAE,EADiB;AAEvBC,EAAAA,MAAM,EAAE;AAAA,WAAMX,QAAN;AAAA;AAFe,CAAzB;AAKAY,QAAQ,CAAC,SAAD,EAAY,YAAM;AACxBA,EAAAA,QAAQ,CAAC,mBAAD,EAAsB,YAAM;AAClCA,IAAAA,QAAQ,CAAC,kBAAD,EAAqB,YAAM;AACjC,UAAIC,MAAJ;AACAC,MAAAA,SAAS,CAAC,YAAM;AACd,YAAMC,KAAK,GAAGX,QAAQ,CAACC,aAAT,CAAuB,OAAvB,CAAd;AACA,YAAMW,GAAG,GAAGZ,QAAQ,CAACC,aAAT,CAAuB,IAAvB,CAAZ;AACAU,QAAAA,KAAK,CAACT,WAAN,CAAkBU,GAAlB;AACA,YAAMC,OAAO,GAAG,IAAIC,mBAAJ,CAAmB;AAAEC,UAAAA,GAAG,EAAEf,QAAP;AAAiBgB,UAAAA,OAAO,EAAE;AAAEC,YAAAA,YAAY,EAAEZ;AAAhB;AAA1B,SAAnB,CAAhB;AACAI,QAAAA,MAAM,GAAGI,OAAO,CAACK,eAAR,CAAwB,iBAAI,4BAAJ,CAAxB,EAA2D,IAA3D,EAAiE,IAAjE,EAAuE,IAAvE,CAAT;AACAN,QAAAA,GAAG,CAACV,WAAJ,CAAgBO,MAAhB;AACD,OAPQ,CAAT;AAQAU,MAAAA,EAAE,CAAC,sBAAD,EAAyB,YAAM;AAC/BC,QAAAA,MAAM,CAACX,MAAM,CAACY,QAAR,CAAN,CAAwBC,IAAxB,CAA6B,IAA7B;AACD,OAFC,CAAF;AAGAH,MAAAA,EAAE,CAAC,gCAAD,EAAmC,YAAM;AACzCC,QAAAA,MAAM,CAACX,MAAD,CAAN,CAAec,eAAf,CAA+B,OAA/B,EAAwC,8BAAxC;AACD,OAFC,CAAF;AAGAJ,MAAAA,EAAE,CAAC,eAAD,EAAkB,YAAM;AACxBC,QAAAA,MAAM,CAACX,MAAD,CAAN,CAAee,WAAf,CAA2B,KAA3B;AACD,OAFC,CAAF;AAGAL,MAAAA,EAAE,CAAC,eAAD,EAAkB,YAAM;AACxBC,QAAAA,MAAM,CAACX,MAAD,CAAN,CAAec,eAAf,CAA+B,eAA/B,EAAgD,OAAhD;AACD,OAFC,CAAF;AAGAJ,MAAAA,EAAE,CAAC,WAAD,EAAc,YAAM;AACpBC,QAAAA,MAAM,CAACX,MAAD,CAAN,CAAegB,WAAf,CAA2B,+DAA3B;AACD,OAFC,CAAF;AAGAN,MAAAA,EAAE,CAAC,sBAAD,EAAyB,YAAM;AAC/B,YAAMO,GAAG,GAAGjB,MAAM,CAACkB,UAAnB;AACAP,QAAAA,MAAM,CAACM,GAAG,CAACL,QAAL,CAAN,CAAqBC,IAArB,CAA0B,KAA1B;AACAF,QAAAA,MAAM,CAACM,GAAD,CAAN,CAAYH,eAAZ,CAA4B,KAA5B,EAAmC,2EAAnC;AACD,OAJC,CAAF;AAKAJ,MAAAA,EAAE,CAAC,sBAAD,EAAyB,YAAM;AAC/BC,QAAAA,MAAM,CAACX,MAAD,CAAN,CAAemB,iBAAf,CAAiC,mBAAjC;AACD,OAFC,CAAF;AAGAT,MAAAA,EAAE,CAAC,oBAAD,EAAuB,YAAM;AAC7B,YAAMU,KAAK,GAAG,oBAAUpB,MAAV,EAAkB,mBAAlB,CAAd;AACAW,QAAAA,MAAM,CAACS,KAAD,CAAN,CAAcN,eAAd,CAA8B,WAA9B,EAA2C,MAA3C;AACD,OAHC,CAAF;AAIAf,MAAAA,QAAQ,CAAC,WAAD,EAAc,YAAM;AAC1B,YAAIsB,QAAJ;AACAC,QAAAA,UAAU,CAAC,YAAM;AACf,cAAMF,KAAK,GAAG,oBAAUpB,MAAV,EAAkB,mBAAlB,CAAd;AACAqB,UAAAA,QAAQ,GAAGD,KAAK,CAACG,SAAjB;AACD,SAHS,CAAV;AAIAb,QAAAA,EAAE,CAAC,6BAAD,EAAgC,YAAM;AACtCC,UAAAA,MAAM,CAACU,QAAQ,CAACT,QAAV,CAAN,CAA0BC,IAA1B,CAA+B,GAA/B;AACAF,UAAAA,MAAM,CAACU,QAAD,CAAN,CAAiBP,eAAjB,CAAiC,MAAjC,EAAyC,4BAAzC;AACD,SAHC,CAAF;AAID,OAVO,CAAR;AAWAf,MAAAA,QAAQ,CAAC,WAAD,EAAc,YAAM;AAC1BW,QAAAA,EAAE,CAAC,uBAAD,uEAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AACpBc,kBAAAA,MADoB,GACXxB,MAAM,CAACkB,UADI;AAE1BM,kBAAAA,MAAM,CAACC,KAAP;AAF0B;AAAA,yBAGN,qBAAWzB,MAAM,CAAC0B,UAAlB,EAA8B,WAA9B,CAHM;;AAAA;AAGpBC,kBAAAA,KAHoB;AAI1BhB,kBAAAA,MAAM,CAACgB,KAAD,CAAN,CAAcR,iBAAd,CAAgC,0CAAhC;;AAJ0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAA1B,GAAF;AAMD,OAPO,CAAR;AAQD,KAxDO,CAAR;AA0DApB,IAAAA,QAAQ,CAAC,eAAD,EAAkB,YAAM;AAC9B,UAAIC,MAAJ;AACAC,MAAAA,SAAS,CAAC,YAAM;AACd,YAAMG,OAAO,GAAG,IAAIC,mBAAJ,CAAmB;AAAEC,UAAAA,GAAG,EAAEf;AAAP,SAAnB,CAAhB;AACAS,QAAAA,MAAM,GAAGI,OAAO,CAACK,eAAR,CAAwB,iBAAI,qBAAJ,CAAxB,EAAoD,IAApD,EAA0D,IAA1D,EAAgE,IAAhE,CAAT;AACD,OAHQ,CAAT;AAIAC,MAAAA,EAAE,CAAC,sBAAD,EAAyB,YAAM;AAC/BC,QAAAA,MAAM,CAACX,MAAM,CAACY,QAAR,CAAN,CAAwBC,IAAxB,CAA6B,IAA7B;AACD,OAFC,CAAF;AAGAH,MAAAA,EAAE,CAAC,mCAAD,EAAsC,YAAM;AAC5CC,QAAAA,MAAM,CAACX,MAAD,CAAN,CAAec,eAAf,CAA+B,OAA/B,EAAwC,uBAAxC;AACD,OAFC,CAAF;AAGAJ,MAAAA,EAAE,CAAC,eAAD,EAAkB,YAAM;AACxBC,QAAAA,MAAM,CAACX,MAAD,CAAN,CAAee,WAAf,CAA2B,KAA3B;AACD,OAFC,CAAF;AAGAL,MAAAA,EAAE,CAAC,eAAD,EAAkB,YAAM;AACxBC,QAAAA,MAAM,CAACX,MAAD,CAAN,CAAec,eAAf,CAA+B,eAA/B,EAAgD,OAAhD;AACD,OAFC,CAAF;AAGAJ,MAAAA,EAAE,CAAC,WAAD,EAAc,YAAM;AACpBC,QAAAA,MAAM,CAACX,MAAD,CAAN,CAAegB,WAAf,CAA2B,+DAA3B;AACD,OAFC,CAAF;AAGAN,MAAAA,EAAE,CAAC,sBAAD,EAAyB,YAAM;AAC/B,YAAMO,GAAG,GAAGjB,MAAM,CAACkB,UAAnB;AACAP,QAAAA,MAAM,CAACM,GAAG,CAACL,QAAL,CAAN,CAAqBC,IAArB,CAA0B,KAA1B;AACAF,QAAAA,MAAM,CAACM,GAAD,CAAN,CAAYH,eAAZ,CAA4B,KAA5B,EAAmC,2EAAnC;AACD,OAJC,CAAF;AAKAJ,MAAAA,EAAE,CAAC,wBAAD,EAA2B,YAAM;AACjCC,QAAAA,MAAM,CAACX,MAAD,CAAN,CAAemB,iBAAf,CAAiC,iBAAjC;AACD,OAFC,CAAF;AAGApB,MAAAA,QAAQ,CAAC,YAAD,EAAe,YAAM;AAC3B,YAAI6B,SAAJ;AACA3B,QAAAA,SAAS,CAAC,YAAM;AACd,cAAMmB,KAAK,GAAG,oBAAUpB,MAAV,EAAkB,iBAAlB,CAAd;AACA4B,UAAAA,SAAS,GAAGR,KAAK,CAACG,SAAlB;AACD,SAHQ,CAAT;AAIAb,QAAAA,EAAE,CAAC,sBAAD,EAAyB,YAAM;AAC/BC,UAAAA,MAAM,CAACiB,SAAS,CAAChB,QAAX,CAAN,CAA2BC,IAA3B,CAAgC,GAAhC;AACAF,UAAAA,MAAM,CAACiB,SAAD,CAAN,CAAkBd,eAAlB,CAAkC,MAAlC,EAA0C,qBAA1C;AACD,SAHC,CAAF;AAIAJ,QAAAA,EAAE,CAAC,8BAAD,EAAiC,YAAM;AACvC,cAAMmB,SAAS,GAAGD,SAAS,CAACL,SAA5B;AACAZ,UAAAA,MAAM,CAACkB,SAAS,CAACjB,QAAX,CAAN,CAA2BC,IAA3B,CAAgC,KAAhC;AACAF,UAAAA,MAAM,CAACkB,SAAD,CAAN,CAAkBf,eAAlB,CAAkC,KAAlC,EAAyC,yEAAzC;AACD,SAJC,CAAF;AAKD,OAfO,CAAR;AAgBD,KA7CO,CAAR;AA+CAf,IAAAA,QAAQ,CAAC,eAAD,EAAkB,YAAM;AAC9B,UAAIC,MAAJ;AACAC,MAAAA,SAAS,CAAC,YAAM;AACd,YAAMG,OAAO,GAAG,IAAIC,mBAAJ,CAAmB;AAAEC,UAAAA,GAAG,EAAEf;AAAP,SAAnB,CAAhB;AACAS,QAAAA,MAAM,GAAGI,OAAO,CAACK,eAAR,CAAwB,iBAAI,WAAJ,CAAxB,EAA0C,IAA1C,EAAgD,IAAhD,EAAsD,IAAtD,CAAT;AACD,OAHQ,CAAT;AAIAC,MAAAA,EAAE,CAAC,sBAAD,EAAyB,YAAM;AAC/BC,QAAAA,MAAM,CAACX,MAAM,CAACY,QAAR,CAAN,CAAwBC,IAAxB,CAA6B,IAA7B;AACD,OAFC,CAAF;AAGAH,MAAAA,EAAE,CAAC,wBAAD,EAA2B,YAAM;AACjCC,QAAAA,MAAM,CAACX,MAAD,CAAN,CAAe8B,GAAf,CAAmBhB,eAAnB,CAAmC,OAAnC;AACD,OAFC,CAAF;AAGAJ,MAAAA,EAAE,CAAC,eAAD,EAAkB,YAAM;AACxBC,QAAAA,MAAM,CAACX,MAAD,CAAN,CAAee,WAAf,CAA2B,KAA3B;AACD,OAFC,CAAF;AAGAL,MAAAA,EAAE,CAAC,eAAD,EAAkB,YAAM;AACxBC,QAAAA,MAAM,CAACX,MAAD,CAAN,CAAec,eAAf,CAA+B,eAA/B,EAAgD,OAAhD;AACD,OAFC,CAAF;AAGAJ,MAAAA,EAAE,CAAC,WAAD,EAAc,YAAM;AACpBC,QAAAA,MAAM,CAACX,MAAD,CAAN,CAAegB,WAAf,CAA2B,+DAA3B;AACD,OAFC,CAAF;AAGAN,MAAAA,EAAE,CAAC,wBAAD,EAA2B,YAAM;AACjCC,QAAAA,MAAM,CAACX,MAAD,CAAN,CAAemB,iBAAf,CAAiC,WAAjC;AACD,OAFC,CAAF;AAGAT,MAAAA,EAAE,CAAC,oCAAD,EAAuC,YAAM;AAC7C,YAAMqB,IAAI,GAAG,oBAAU/B,MAAV,EAAkB,WAAlB,CAAb;AACAW,QAAAA,MAAM,CAACoB,IAAD,CAAN,CAAaf,WAAb,CAAyB,wBAAzB;AACD,OAHC,CAAF;AAID,KA5BO,CAAR;AA8BAjB,IAAAA,QAAQ,CAAC,kBAAD,EAAqB,YAAM;AACjC,UAAIC,MAAJ;AACAC,MAAAA,SAAS,CAAC,YAAM;AACd,YAAMG,OAAO,GAAG,IAAIC,mBAAJ,CAAmB;AAAEC,UAAAA,GAAG,EAAEf;AAAP,SAAnB,CAAhB;AACAS,QAAAA,MAAM,GAAGI,OAAO,CAACK,eAAR,CAAwB,uBAAU,YAAV,CAAxB,EAAiD,IAAjD,EAAuD,IAAvD,EAA6D,IAA7D,CAAT;AACD,OAHQ,CAAT;AAIAC,MAAAA,EAAE,CAAC,sBAAD,EAAyB,YAAM;AAC/BC,QAAAA,MAAM,CAACX,MAAM,CAACY,QAAR,CAAN,CAAwBC,IAAxB,CAA6B,IAA7B;AACD,OAFC,CAAF;AAGAH,MAAAA,EAAE,CAAC,qBAAD,EAAwB,YAAM;AAC9BC,QAAAA,MAAM,CAACX,MAAD,CAAN,CAAec,eAAf,CAA+B,OAA/B,EAAwC,cAAxC;AACD,OAFC,CAAF;AAGAJ,MAAAA,EAAE,CAAC,eAAD,EAAkB,YAAM;AACxBC,QAAAA,MAAM,CAACX,MAAD,CAAN,CAAee,WAAf,CAA2B,KAA3B;AACD,OAFC,CAAF;AAGAL,MAAAA,EAAE,CAAC,eAAD,EAAkB,YAAM;AACxBC,QAAAA,MAAM,CAACX,MAAD,CAAN,CAAec,eAAf,CAA+B,eAA/B,EAAgD,OAAhD;AACD,OAFC,CAAF;AAGAJ,MAAAA,EAAE,CAAC,WAAD,EAAc,YAAM;AACpBC,QAAAA,MAAM,CAACX,MAAD,CAAN,CAAegB,WAAf,CAA2B,+DAA3B;AACD,OAFC,CAAF;AAGAN,MAAAA,EAAE,CAAC,cAAD,EAAiB,YAAM;AACvBC,QAAAA,MAAM,CAACX,MAAD,CAAN,CAAemB,iBAAf,CAAiC,KAAjC;AACD,OAFC,CAAF;AAGD,KAxBO,CAAR;AAyBD,GAjKO,CAAR;AAkKD,CAnKO,CAAR","sourcesContent":["/* eslint-env jest */\nimport OutlineManager from './manager'\n\nimport { lit, NamedNode, sym, blankNode } from 'rdflib'\nimport { findByText, getByText } from '@testing-library/dom'\n\nconst MockPane = {\n render: (subject: NamedNode) => {\n const div = document.createElement('div')\n div.appendChild(document.createTextNode(`Mock Pane for ${subject.uri}`))\n return div\n }\n}\n\nconst mockPaneRegistry = {\n list: [],\n byName: () => MockPane\n}\n\ndescribe('manager', () => {\n describe('outline object td', () => {\n describe('for a named node', () => {\n let result\n beforeAll(() => {\n const table = document.createElement('table')\n const row = document.createElement('tr')\n table.appendChild(row)\n const manager = new OutlineManager({ dom: document, session: { paneRegistry: mockPaneRegistry } })\n result = manager.outlineObjectTD(sym('https://namednode.example/'), null, null, null)\n row.appendChild(result)\n })\n it('is a html td element', () => {\n expect(result.nodeName).toBe('TD')\n })\n it('about attribute refers to node', () => {\n expect(result).toHaveAttribute('about', '<https://namednode.example/>')\n })\n it('has class obj', () => {\n expect(result).toHaveClass('obj')\n })\n it('is selectable', () => {\n expect(result).toHaveAttribute('notselectable', 'false')\n })\n it('has style', () => {\n expect(result).toHaveStyle('margin: 0.2em; border: none; padding: 0; vertical-align: top;')\n })\n it('shows an expand icon', () => {\n const img = result.firstChild\n expect(img.nodeName).toBe('IMG')\n expect(img).toHaveAttribute('src', 'https://solidos.github.io/solid-ui/src/originalIcons/tbl-expand-trans.png')\n })\n it('shows the node label', () => {\n expect(result).toHaveTextContent('namednode.example')\n })\n it('label is draggable', () => {\n const label = getByText(result, 'namednode.example')\n expect(label).toHaveAttribute('draggable', 'true')\n })\n describe('link icon', () => {\n let linkIcon\n beforeEach(() => {\n const label = getByText(result, 'namednode.example')\n linkIcon = label.lastChild\n })\n it('is linked to named node URI', () => {\n expect(linkIcon.nodeName).toBe('A')\n expect(linkIcon).toHaveAttribute('href', 'https://namednode.example/')\n })\n })\n describe('expanding', () => {\n it('renders relevant pane', async () => {\n const expand = result.firstChild\n expand.click()\n const error = await findByText(result.parentNode, /Mock Pane/)\n expect(error).toHaveTextContent('Mock Pane for https://namednode.example/')\n })\n })\n })\n\n describe('for a tel uri', () => {\n let result\n beforeAll(() => {\n const manager = new OutlineManager({ dom: document })\n result = manager.outlineObjectTD(sym('tel:+1-201-555-0123'), null, null, null)\n })\n it('is a html td element', () => {\n expect(result.nodeName).toBe('TD')\n })\n it('about attribute refers to tel uri', () => {\n expect(result).toHaveAttribute('about', '<tel:+1-201-555-0123>')\n })\n it('has class obj', () => {\n expect(result).toHaveClass('obj')\n })\n it('is selectable', () => {\n expect(result).toHaveAttribute('notselectable', 'false')\n })\n it('has style', () => {\n expect(result).toHaveStyle('margin: 0.2em; border: none; padding: 0; vertical-align: top;')\n })\n it('shows an expand icon', () => {\n const img = result.firstChild\n expect(img.nodeName).toBe('IMG')\n expect(img).toHaveAttribute('src', 'https://solidos.github.io/solid-ui/src/originalIcons/tbl-expand-trans.png')\n })\n it('shows the phone number', () => {\n expect(result).toHaveTextContent('+1-201-555-0123')\n })\n describe('phone link', () => {\n let phoneLink\n beforeAll(() => {\n const label = getByText(result, '+1-201-555-0123')\n phoneLink = label.lastChild\n })\n it('is linked to tel uri', () => {\n expect(phoneLink.nodeName).toBe('A')\n expect(phoneLink).toHaveAttribute('href', 'tel:+1-201-555-0123')\n })\n it('is represented by phone icon', () => {\n const phoneIcon = phoneLink.lastChild\n expect(phoneIcon.nodeName).toBe('IMG')\n expect(phoneIcon).toHaveAttribute('src', 'https://solidos.github.io/solid-ui/src/originalIcons/silk/telephone.png')\n })\n })\n })\n\n describe('for a literal', () => {\n let result\n beforeAll(() => {\n const manager = new OutlineManager({ dom: document })\n result = manager.outlineObjectTD(lit('some text'), null, null, null)\n })\n it('is a html td element', () => {\n expect(result.nodeName).toBe('TD')\n })\n it('has no about attribute', () => {\n expect(result).not.toHaveAttribute('about')\n })\n it('has class obj', () => {\n expect(result).toHaveClass('obj')\n })\n it('is selectable', () => {\n expect(result).toHaveAttribute('notselectable', 'false')\n })\n it('has style', () => {\n expect(result).toHaveStyle('margin: 0.2em; border: none; padding: 0; vertical-align: top;')\n })\n it('shows the literal text', () => {\n expect(result).toHaveTextContent('some text')\n })\n it('literal text preserves white space', () => {\n const text = getByText(result, 'some text')\n expect(text).toHaveStyle('white-space: pre-wrap;')\n })\n })\n\n describe('for a blank node', () => {\n let result\n beforeAll(() => {\n const manager = new OutlineManager({ dom: document })\n result = manager.outlineObjectTD(blankNode('blank-node'), null, null, null)\n })\n it('is a html td element', () => {\n expect(result.nodeName).toBe('TD')\n })\n it('has about attribute', () => {\n expect(result).toHaveAttribute('about', '_:blank-node')\n })\n it('has class obj', () => {\n expect(result).toHaveClass('obj')\n })\n it('is selectable', () => {\n expect(result).toHaveAttribute('notselectable', 'false')\n })\n it('has style', () => {\n expect(result).toHaveStyle('margin: 0.2em; border: none; padding: 0; vertical-align: top;')\n })\n it('shows 3 dots', () => {\n expect(result).toHaveTextContent('...')\n })\n })\n })\n})\n"],"file":"manager.test.js"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes