solid-panes 3.5.30 → 3.5.31-eef22dd6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (309) hide show
  1. package/.babelrc +0 -0
  2. package/.eslintignore +0 -0
  3. package/.eslintrc +0 -0
  4. package/.github/workflows/ci.yml +21 -2
  5. package/.nvmrc +0 -0
  6. package/Documentation/VisualLanguage.html +0 -0
  7. package/Documentation/conventions.md +0 -0
  8. package/LICENSE.md +0 -0
  9. package/README.md +0 -0
  10. package/dev/index.html +0 -0
  11. package/dev/loader.ts +0 -0
  12. package/dev/pane/index.ts +0 -0
  13. package/doc/images/panes-for-classes.epgz +0 -0
  14. package/doc/images/panes-for-classes.svg +0 -0
  15. package/jest.config.js +0 -0
  16. package/jest.setup.ts +0 -0
  17. package/lib/RDFXMLPane.js +0 -0
  18. package/lib/RDFXMLPane.js.map +1 -1
  19. package/lib/argument/argumentPane.js +0 -0
  20. package/lib/argument/argumentPane.js.map +1 -1
  21. package/lib/attach/attachPane.js +0 -0
  22. package/lib/attach/attachPane.js.map +1 -1
  23. package/lib/audio/audioPane.js +0 -0
  24. package/lib/audio/audioPane.js.map +1 -1
  25. package/lib/classInstancePane.js +0 -0
  26. package/lib/classInstancePane.js.map +1 -1
  27. package/lib/dashboard/basicPreferences.d.ts +0 -0
  28. package/lib/dashboard/basicPreferences.d.ts.map +0 -0
  29. package/lib/dashboard/basicPreferences.js +0 -0
  30. package/lib/dashboard/basicPreferences.js.map +1 -1
  31. package/lib/dashboard/dashboardPane.d.ts +0 -0
  32. package/lib/dashboard/dashboardPane.d.ts.map +0 -0
  33. package/lib/dashboard/dashboardPane.js +0 -0
  34. package/lib/dashboard/dashboardPane.js.map +1 -1
  35. package/lib/dashboard/homepage.d.ts +0 -0
  36. package/lib/dashboard/homepage.d.ts.map +0 -0
  37. package/lib/dashboard/homepage.js +0 -0
  38. package/lib/dashboard/homepage.js.map +1 -1
  39. package/lib/dataContentPane.js +0 -0
  40. package/lib/dataContentPane.js.map +1 -1
  41. package/lib/defaultPane.js +0 -0
  42. package/lib/defaultPane.js.map +1 -1
  43. package/lib/dokieli/dokieliPane.js +0 -0
  44. package/lib/dokieli/dokieliPane.js.map +1 -1
  45. package/lib/dokieli/new.js +0 -0
  46. package/lib/dokieli/new.js.map +0 -0
  47. package/lib/form/pane.js +0 -0
  48. package/lib/form/pane.js.map +1 -1
  49. package/lib/global.d.js +0 -0
  50. package/lib/global.d.js.map +0 -0
  51. package/lib/home/homePane.d.ts +0 -0
  52. package/lib/home/homePane.d.ts.map +0 -0
  53. package/lib/home/homePane.js +0 -0
  54. package/lib/home/homePane.js.map +1 -1
  55. package/lib/humanReadablePane.js +0 -0
  56. package/lib/humanReadablePane.js.map +1 -1
  57. package/lib/imagePane.js +0 -0
  58. package/lib/imagePane.js.map +1 -1
  59. package/lib/index.d.ts +0 -0
  60. package/lib/index.d.ts.map +0 -0
  61. package/lib/index.js +0 -0
  62. package/lib/index.js.map +1 -1
  63. package/lib/internal/internalPane.d.ts +0 -0
  64. package/lib/internal/internalPane.d.ts.map +0 -0
  65. package/lib/internal/internalPane.js +0 -0
  66. package/lib/internal/internalPane.js.map +1 -1
  67. package/lib/mainPage/footer.d.ts +0 -0
  68. package/lib/mainPage/footer.d.ts.map +0 -0
  69. package/lib/mainPage/footer.js +0 -0
  70. package/lib/mainPage/footer.js.map +1 -1
  71. package/lib/mainPage/header.d.ts +0 -0
  72. package/lib/mainPage/header.d.ts.map +0 -0
  73. package/lib/mainPage/header.js +0 -0
  74. package/lib/mainPage/header.js.map +1 -1
  75. package/lib/mainPage/index.d.ts +0 -0
  76. package/lib/mainPage/index.d.ts.map +0 -0
  77. package/lib/mainPage/index.js +0 -0
  78. package/lib/mainPage/index.js.map +1 -1
  79. package/lib/microblogPane/microblogPane.js +0 -0
  80. package/lib/microblogPane/microblogPane.js.map +1 -1
  81. package/lib/n3Pane.js +0 -0
  82. package/lib/n3Pane.js.map +1 -1
  83. package/lib/outline/context.d.ts +0 -0
  84. package/lib/outline/context.d.ts.map +0 -0
  85. package/lib/outline/context.js +0 -0
  86. package/lib/outline/context.js.map +1 -1
  87. package/lib/outline/licenseOptions.js +0 -0
  88. package/lib/outline/licenseOptions.js.map +1 -1
  89. package/lib/outline/manager.js +0 -0
  90. package/lib/outline/manager.js.map +1 -1
  91. package/lib/outline/manager.test.js +0 -0
  92. package/lib/outline/manager.test.js.map +1 -1
  93. package/lib/outline/outlineIcons.js +0 -0
  94. package/lib/outline/outlineIcons.js.map +1 -1
  95. package/lib/outline/propertyViews.d.ts +0 -0
  96. package/lib/outline/propertyViews.d.ts.map +0 -0
  97. package/lib/outline/propertyViews.js +0 -0
  98. package/lib/outline/propertyViews.js.map +1 -1
  99. package/lib/outline/propertyViews.test.js +0 -0
  100. package/lib/outline/propertyViews.test.js.map +1 -1
  101. package/lib/outline/queryByExample.js +0 -0
  102. package/lib/outline/queryByExample.js.map +1 -1
  103. package/lib/outline/userInput.js +0 -0
  104. package/lib/outline/userInput.js.map +1 -1
  105. package/lib/outline/viewAsImage.d.ts +0 -0
  106. package/lib/outline/viewAsImage.d.ts.map +0 -0
  107. package/lib/outline/viewAsImage.js +0 -0
  108. package/lib/outline/viewAsImage.js.map +1 -1
  109. package/lib/outline/viewAsMbox.d.ts +0 -0
  110. package/lib/outline/viewAsMbox.d.ts.map +0 -0
  111. package/lib/outline/viewAsMbox.js +0 -0
  112. package/lib/outline/viewAsMbox.js.map +1 -1
  113. package/lib/pad/padPane.d.ts +0 -0
  114. package/lib/pad/padPane.d.ts.map +0 -0
  115. package/lib/pad/padPane.js +0 -0
  116. package/lib/pad/padPane.js.map +1 -1
  117. package/lib/playlist/playlistPane.js +0 -0
  118. package/lib/playlist/playlistPane.js.map +1 -1
  119. package/lib/profile/editProfile.view.d.ts +0 -0
  120. package/lib/profile/editProfile.view.d.ts.map +0 -0
  121. package/lib/profile/editProfile.view.js +0 -0
  122. package/lib/profile/editProfile.view.js.map +1 -1
  123. package/lib/profile/profile.dom.d.ts +0 -0
  124. package/lib/profile/profile.dom.d.ts.map +0 -0
  125. package/lib/profile/profile.dom.js +0 -0
  126. package/lib/profile/profile.dom.js.map +1 -1
  127. package/lib/registerPanes.js +0 -0
  128. package/lib/registerPanes.js.map +1 -1
  129. package/lib/schedule/formsForSchedule.js +0 -0
  130. package/lib/schedule/formsForSchedule.js.map +0 -0
  131. package/lib/schedule/schedulePane.js +0 -0
  132. package/lib/schedule/schedulePane.js.map +1 -1
  133. package/lib/sharing/sharingPane.d.ts +0 -0
  134. package/lib/sharing/sharingPane.d.ts.map +0 -0
  135. package/lib/sharing/sharingPane.js +0 -0
  136. package/lib/sharing/sharingPane.js.map +1 -1
  137. package/lib/slideshow/slideshowPane.js +0 -0
  138. package/lib/slideshow/slideshowPane.js.map +1 -1
  139. package/lib/socialPane.js +0 -0
  140. package/lib/socialPane.js.map +1 -1
  141. package/lib/tabbed/tabbedPane.d.ts +0 -0
  142. package/lib/tabbed/tabbedPane.d.ts.map +0 -0
  143. package/lib/tabbed/tabbedPane.js +0 -0
  144. package/lib/tabbed/tabbedPane.js.map +1 -1
  145. package/lib/tableViewPane.js +0 -0
  146. package/lib/tableViewPane.js.map +1 -1
  147. package/lib/test-import-export/common.js +0 -0
  148. package/lib/test-import-export/common.js.map +1 -1
  149. package/lib/test-import-export/edit-importer.js +0 -0
  150. package/lib/test-import-export/edit-importer.js.map +1 -1
  151. package/lib/test-import-export/testImportExport.js +0 -0
  152. package/lib/test-import-export/testImportExport.js.map +0 -0
  153. package/lib/transaction/pane.js +0 -0
  154. package/lib/transaction/pane.js.map +1 -1
  155. package/lib/transaction/period.js +0 -0
  156. package/lib/transaction/period.js.map +1 -1
  157. package/lib/trip/tripPane.js +0 -0
  158. package/lib/trip/tripPane.js.map +1 -1
  159. package/lib/trustedApplications/trustedApplications.dom.d.ts +0 -0
  160. package/lib/trustedApplications/trustedApplications.dom.d.ts.map +0 -0
  161. package/lib/trustedApplications/trustedApplications.dom.js +0 -0
  162. package/lib/trustedApplications/trustedApplications.dom.js.map +1 -1
  163. package/lib/trustedApplications/trustedApplications.test.js +0 -0
  164. package/lib/trustedApplications/trustedApplications.test.js.map +1 -1
  165. package/lib/trustedApplications/trustedApplications.utils.d.ts +0 -0
  166. package/lib/trustedApplications/trustedApplications.utils.d.ts.map +0 -0
  167. package/lib/trustedApplications/trustedApplications.utils.js +0 -0
  168. package/lib/trustedApplications/trustedApplications.utils.js.map +1 -1
  169. package/lib/trustedApplications/trustedApplications.view.d.ts +0 -0
  170. package/lib/trustedApplications/trustedApplications.view.d.ts.map +0 -0
  171. package/lib/trustedApplications/trustedApplications.view.js +0 -0
  172. package/lib/trustedApplications/trustedApplications.view.js.map +1 -1
  173. package/lib/types.d.ts +0 -0
  174. package/lib/types.d.ts.map +0 -0
  175. package/lib/types.js +0 -0
  176. package/lib/types.js.map +0 -0
  177. package/lib/ui/pane.js +0 -0
  178. package/lib/ui/pane.js.map +1 -1
  179. package/lib/versionInfo.d.ts +0 -0
  180. package/lib/versionInfo.d.ts.map +0 -0
  181. package/lib/versionInfo.js +14 -14
  182. package/lib/versionInfo.js.map +1 -1
  183. package/lib/video/videoPane.js +0 -0
  184. package/lib/video/videoPane.js.map +1 -1
  185. package/package.json +17 -17
  186. package/src/RDFXMLPane.js +0 -0
  187. package/src/argument/argumentPane.js +0 -0
  188. package/src/argument/argument_icon_v04.jpg +0 -0
  189. package/src/argument/icon_argument.png +0 -0
  190. package/src/argument/transparentyingyang.png +0 -0
  191. package/src/attach/attachPane.js +0 -0
  192. package/src/attach/tbl-paperclip-128.png +0 -0
  193. package/src/attach/tbl-paperclip-22.png +0 -0
  194. package/src/attach/tbl-paperclip-22a.png +0 -0
  195. package/src/audio/audioPane.js +0 -0
  196. package/src/chatPreferencesForm.ttl +0 -0
  197. package/src/classInstancePane.js +0 -0
  198. package/src/dashboard/basicPreferences.ts +0 -0
  199. package/src/dashboard/dashboardPane.ts +0 -0
  200. package/src/dashboard/homepage.ts +0 -0
  201. package/src/dashboard/languages/codes.html +0 -0
  202. package/src/dashboard/languages/codes.xml +0 -0
  203. package/src/dashboard/languages/codes2.txt +0 -0
  204. package/src/dashboard/languages/foo +0 -0
  205. package/src/dashboard/languages/foo.ttl +0 -0
  206. package/src/dashboard/languages/get-language-names.sh +0 -0
  207. package/src/dashboard/ontologyData.ttl +0 -0
  208. package/src/dashboard/preferencesFormText.ttl +0 -0
  209. package/src/dataContentPane.js +0 -0
  210. package/src/defaultPane.js +0 -0
  211. package/src/dokieli/Makefile +0 -0
  212. package/src/dokieli/dokieliPane.js +0 -0
  213. package/src/dokieli/new.html +0 -0
  214. package/src/dokieli/new.js +0 -0
  215. package/src/form/form-22.png +0 -0
  216. package/src/form/form-b-22.png +0 -0
  217. package/src/form/form.graffle +0 -0
  218. package/src/form/form.png +0 -0
  219. package/src/form/pane.js +0 -0
  220. package/src/form/psuedocode-notes.txt +0 -0
  221. package/src/global.d.ts +0 -0
  222. package/src/home/homePane.ts +0 -0
  223. package/src/humanReadablePane.js +0 -0
  224. package/src/imagePane.js +0 -0
  225. package/src/index.ts +0 -0
  226. package/src/internal/internalPane.ts +0 -0
  227. package/src/mainPage/footer.ts +0 -0
  228. package/src/mainPage/header.ts +0 -0
  229. package/src/mainPage/index.ts +0 -0
  230. package/src/meeting/Makefile +0 -0
  231. package/src/meeting/test/meeting1/Actions/actions.ttl +0 -0
  232. package/src/meeting/test/meeting1/Actions/config.ttl +0 -0
  233. package/src/meeting/test/meeting1/Actions/state.ttl +0 -0
  234. package/src/meeting/test/meeting1/Schedule/details.ttl +0 -0
  235. package/src/meeting/test/meeting1/Schedule/details.ttl.acl +0 -0
  236. package/src/meeting/test/meeting1/Schedule/forms.ttl +0 -0
  237. package/src/meeting/test/meeting1/Schedule/forms.ttl.acl +0 -0
  238. package/src/meeting/test/meeting1/Schedule/index.html +0 -0
  239. package/src/meeting/test/meeting1/Schedule/index.html.acl +0 -0
  240. package/src/meeting/test/meeting1/Schedule/results.ttl +0 -0
  241. package/src/meeting/test/meeting1/Schedule/results.ttl.acl +0 -0
  242. package/src/meeting/test/meeting1/SharedNotes/pad.ttl +0 -0
  243. package/src/meeting/test/meeting1/chat/chat.ttl +0 -0
  244. package/src/meeting/test/meeting1/details.ttl +0 -0
  245. package/src/meeting/test/meeting1/pad/pad.ttl +0 -0
  246. package/src/microblogPane/mbStyle.css +0 -0
  247. package/src/microblogPane/microblogPane.js +0 -0
  248. package/src/n3Pane.js +0 -0
  249. package/src/outline/context.ts +0 -0
  250. package/src/outline/licenseOptions.js +0 -0
  251. package/src/outline/manager.js +0 -0
  252. package/src/outline/manager.test.ts +0 -0
  253. package/src/outline/outlineIcons.js +0 -0
  254. package/src/outline/propertyViews.test.ts +0 -0
  255. package/src/outline/propertyViews.ts +0 -0
  256. package/src/outline/queryByExample.js +0 -0
  257. package/src/outline/userInput.js +0 -0
  258. package/src/outline/viewAsImage.ts +0 -0
  259. package/src/outline/viewAsMbox.ts +0 -0
  260. package/src/pad/images/ColourOff.ai +0 -0
  261. package/src/pad/images/ColourOff.png +0 -0
  262. package/src/pad/images/ColourOn.ai +0 -0
  263. package/src/pad/images/ColourOn.png +0 -0
  264. package/src/pad/padPane.ts +0 -0
  265. package/src/playlist/playlistPane.js +0 -0
  266. package/src/profile/editProfile.view.ts +0 -0
  267. package/src/profile/profile.dom.ts +0 -0
  268. package/src/profile/profileFormText.ttl +0 -0
  269. package/src/registerPanes.js +0 -0
  270. package/src/schedule/Makefile +0 -0
  271. package/src/schedule/formsForSchedule.js +0 -0
  272. package/src/schedule/formsForSchedule.ttl +0 -0
  273. package/src/schedule/schedulePane.js +0 -0
  274. package/src/sharing/sharingPane.ts +0 -0
  275. package/src/slideshow/slideshowPane.js +0 -0
  276. package/src/socialPane.js +0 -0
  277. package/src/style/tabbedtab.css +0 -0
  278. package/src/tabbed/tabbedPane.ts +0 -0
  279. package/src/tableViewPane.js +0 -0
  280. package/src/test-import-export/common.js +0 -0
  281. package/src/test-import-export/edit-importer.js +0 -0
  282. package/src/test-import-export/testImportExport.js +0 -0
  283. package/src/transaction/068010-3d-transparent-glass-icon-alphanumeric-dollar-sign.png +0 -0
  284. package/src/transaction/075988-3d-transparent-glass-icon-business-currency-british-pound-sc35.png +0 -0
  285. package/src/transaction/22-pixel-068010-3d-transparent-glass-icon-alphanumeric-dollar-sign.png +0 -0
  286. package/src/transaction/pane.js +0 -0
  287. package/src/transaction/period.js +0 -0
  288. package/src/transaction/thumbs_075987-3d-transparent-glass-icon-business-creditcard2.png +0 -0
  289. package/src/transaction/thumbs_075989-3d-transparent-glass-icon-business-currency-cent-sc35.png +0 -0
  290. package/src/trip/tripPane.js +0 -0
  291. package/src/trustedApplications/__snapshots__/trustedApplications.test.ts.snap +0 -0
  292. package/src/trustedApplications/trustedApplications.dom.ts +0 -0
  293. package/src/trustedApplications/trustedApplications.test.ts +0 -0
  294. package/src/trustedApplications/trustedApplications.utils.ts +0 -0
  295. package/src/trustedApplications/trustedApplications.view.ts +0 -0
  296. package/src/types.ts +0 -0
  297. package/src/ui/22-builder.png +0 -0
  298. package/src/ui/builder.graffle +0 -0
  299. package/src/ui/builder.png +0 -0
  300. package/src/ui/builder2.png +0 -0
  301. package/src/ui/pane.js +0 -0
  302. package/src/versionInfo.ts +14 -14
  303. package/src/video/videoPane.js +0 -0
  304. package/timestamp.sh +0 -0
  305. package/travis/bumpversion.js +0 -0
  306. package/tsconfig.json +0 -0
  307. package/typings/raw-loader.d.ts +0 -0
  308. package/typings/solid-namespace/index.d.ts +0 -0
  309. package/webpack.config.js +0 -0
File without changes
File without changes
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"viewAsImage.js","names":["dom","viewAsImage","obj","img","UI","utils","AJARImage","uri","label","setAttribute"],"sources":["../../src/outline/viewAsImage.ts"],"sourcesContent":["import * as UI from 'solid-ui'\n\nexport default (dom) => function viewAsImage (obj) {\n const img = UI.utils.AJARImage(\n obj.uri,\n UI.utils.label(obj),\n UI.utils.label(obj),\n dom\n )\n img.setAttribute('class', 'outlineImage')\n return img\n}\n"],"mappings":";;;;;;;AAAA;AAA8B;AAAA;AAAA,eAEf,kBAACA,GAAG;EAAA,OAAK,SAASC,WAAW,CAAEC,GAAG,EAAE;IACjD,IAAMC,GAAG,GAAGC,EAAE,CAACC,KAAK,CAACC,SAAS,CAC5BJ,GAAG,CAACK,GAAG,EACPH,EAAE,CAACC,KAAK,CAACG,KAAK,CAACN,GAAG,CAAC,EACnBE,EAAE,CAACC,KAAK,CAACG,KAAK,CAACN,GAAG,CAAC,EACnBF,GAAG,CACJ;IACDG,GAAG,CAACM,YAAY,CAAC,OAAO,EAAE,cAAc,CAAC;IACzC,OAAON,GAAG;EACZ,CAAC;AAAA;AAAA"}
1
+ {"version":3,"file":"viewAsImage.js","names":["UI","_interopRequireWildcard","require","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_default","dom","viewAsImage","img","utils","AJARImage","uri","label","setAttribute","exports"],"sources":["../../src/outline/viewAsImage.ts"],"sourcesContent":["import * as UI from 'solid-ui'\n\nexport default (dom) => function viewAsImage (obj) {\n const img = UI.utils.AJARImage(\n obj.uri,\n UI.utils.label(obj),\n UI.utils.label(obj),\n dom\n )\n img.setAttribute('class', 'outlineImage')\n return img\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,EAAA,GAAAC,uBAAA,CAAAC,OAAA;AAA8B,SAAAC,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAH,wBAAAO,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAE,OAAA,CAAAF,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,cAAAN,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAAA,IAAAW,QAAA,GAEf,SAAAA,SAACC,GAAG;EAAA,OAAK,SAASC,WAAWA,CAAEnB,GAAG,EAAE;IACjD,IAAMoB,GAAG,GAAG5B,EAAE,CAAC6B,KAAK,CAACC,SAAS,CAC5BtB,GAAG,CAACuB,GAAG,EACP/B,EAAE,CAAC6B,KAAK,CAACG,KAAK,CAACxB,GAAG,CAAC,EACnBR,EAAE,CAAC6B,KAAK,CAACG,KAAK,CAACxB,GAAG,CAAC,EACnBkB,GAAG,CACJ;IACDE,GAAG,CAACK,YAAY,CAAC,OAAO,EAAE,cAAc,CAAC;IACzC,OAAOL,GAAG;EACZ,CAAC;AAAA;AAAAM,OAAA,cAAAT,QAAA"}
File without changes
File without changes
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"viewAsMbox.js","names":["dom","viewAsMbox","obj","anchor","createElement","address","termType","uri","value","index","indexOf","slice","setAttribute","appendChild","createTextNode"],"sources":["../../src/outline/viewAsMbox.ts"],"sourcesContent":["export default (dom) => function viewAsMbox (obj) {\n const anchor = dom.createElement('a')\n // previous implementation assumed email address was Literal. fixed.\n\n // FOAF mboxs must NOT be literals -- must be mailto: URIs.\n\n let address = obj.termType === 'NamedNode' ? obj.uri : obj.value // this way for now\n // if (!address) return viewAsBoringDefault(obj)\n const index = address.indexOf('mailto:')\n address = index >= 0 ? address.slice(index + 7) : address\n anchor.setAttribute('href', 'mailto:' + address)\n anchor.appendChild(dom.createTextNode(address))\n return anchor\n}\n"],"mappings":";;;;;;eAAe,kBAACA,GAAG;EAAA,OAAK,SAASC,UAAU,CAAEC,GAAG,EAAE;IAChD,IAAMC,MAAM,GAAGH,GAAG,CAACI,aAAa,CAAC,GAAG,CAAC;IACrC;;IAEA;;IAEA,IAAIC,OAAO,GAAGH,GAAG,CAACI,QAAQ,KAAK,WAAW,GAAGJ,GAAG,CAACK,GAAG,GAAGL,GAAG,CAACM,KAAK,EAAC;IACjE;IACA,IAAMC,KAAK,GAAGJ,OAAO,CAACK,OAAO,CAAC,SAAS,CAAC;IACxCL,OAAO,GAAGI,KAAK,IAAI,CAAC,GAAGJ,OAAO,CAACM,KAAK,CAACF,KAAK,GAAG,CAAC,CAAC,GAAGJ,OAAO;IACzDF,MAAM,CAACS,YAAY,CAAC,MAAM,EAAE,SAAS,GAAGP,OAAO,CAAC;IAChDF,MAAM,CAACU,WAAW,CAACb,GAAG,CAACc,cAAc,CAACT,OAAO,CAAC,CAAC;IAC/C,OAAOF,MAAM;EACf,CAAC;AAAA;AAAA"}
1
+ {"version":3,"file":"viewAsMbox.js","names":["_default","dom","viewAsMbox","obj","anchor","createElement","address","termType","uri","value","index","indexOf","slice","setAttribute","appendChild","createTextNode","exports"],"sources":["../../src/outline/viewAsMbox.ts"],"sourcesContent":["export default (dom) => function viewAsMbox (obj) {\n const anchor = dom.createElement('a')\n // previous implementation assumed email address was Literal. fixed.\n\n // FOAF mboxs must NOT be literals -- must be mailto: URIs.\n\n let address = obj.termType === 'NamedNode' ? obj.uri : obj.value // this way for now\n // if (!address) return viewAsBoringDefault(obj)\n const index = address.indexOf('mailto:')\n address = index >= 0 ? address.slice(index + 7) : address\n anchor.setAttribute('href', 'mailto:' + address)\n anchor.appendChild(dom.createTextNode(address))\n return anchor\n}\n"],"mappings":";;;;;;eAAe,SAAAA,SAACC,GAAG;EAAA,OAAK,SAASC,UAAUA,CAAEC,GAAG,EAAE;IAChD,IAAMC,MAAM,GAAGH,GAAG,CAACI,aAAa,CAAC,GAAG,CAAC;IACrC;;IAEA;;IAEA,IAAIC,OAAO,GAAGH,GAAG,CAACI,QAAQ,KAAK,WAAW,GAAGJ,GAAG,CAACK,GAAG,GAAGL,GAAG,CAACM,KAAK,EAAC;IACjE;IACA,IAAMC,KAAK,GAAGJ,OAAO,CAACK,OAAO,CAAC,SAAS,CAAC;IACxCL,OAAO,GAAGI,KAAK,IAAI,CAAC,GAAGJ,OAAO,CAACM,KAAK,CAACF,KAAK,GAAG,CAAC,CAAC,GAAGJ,OAAO;IACzDF,MAAM,CAACS,YAAY,CAAC,MAAM,EAAE,SAAS,GAAGP,OAAO,CAAC;IAChDF,MAAM,CAACU,WAAW,CAACb,GAAG,CAACc,cAAc,CAACT,OAAO,CAAC,CAAC;IAC/C,OAAOF,MAAM;EACf,CAAC;AAAA;AAAAY,OAAA,cAAAhB,QAAA"}
File without changes
File without changes
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"padPane.js","names":["paneDef","icon","icons","iconBase","name","audience","ns","solid","label","subject","context","t","session","store","findTypeURIs","mintClass","pad","mintNew","newPaneOptions","updater","me","uri","Error","newInstance","sym","newBase","newPadDoc","doc","add","rdf","dc","Date","chunk","sioc","Promise","resolve","reject","put","statementsMatching","undefined","uri2","ok","message","render","paneOptions","dom","complainIfBad","div","appendChild","widgets","errorMessageBlock","clearElement","ele","firstChild","removeChild","genACLtext","docURI","aclURI","allWrite","g","graph","auth","Namespace","a","acl","foaf","serialize","setACL","callbackFunction","aclDoc","any","fetcher","aclText","webOperation","data","contentType","then","err","load","newInstanceButton","button","createElement","textContent","addEventListener","showBootstrap","spawnArea","thisInstance","container","noun","appDetails","login","newAppInstance","workspace","initializeNewInstanceInWorkspace","NamedNode","p","baseField","setAttribute","size","autocomplete","_e","value","slice","initializeNewInstanceAtBase","ws","space","split","log","error","appPathSegment","now","getTime","here","base","newIndexDoc","toBeCopied","local","agenda","f","length","item","fun","copyItem","push","newURI","console","setThatACL","shift","webCopy","authn","checkUser","webId","createNewPadDataFile","PAD","padDoc","_uri2","body","innerHTML","showResults","exists","currentUser","title","vcard","solo","window","document","options","padEle","notepad","naviMain","partipationTarget","meeting","manageParticipation","naviMiddle2","setRefreshHandler","reloadAndSync","loadPadData","nowOrWhenFetched","response","status","holds","wf","naviMiddle3","structure","naviLoginoutTR","naviTop","naviMiddle","naviMiddle1","naviStatus","statusArea","naviSpawn","naviMenu","timingArea"],"sources":["../../src/pad/padPane.ts"],"sourcesContent":["import { icons, ns, pad, widgets, login } from 'solid-ui'\nimport { authn, AppDetails } from 'solid-logic'\nimport { graph, log, NamedNode, Namespace, sym, serialize, Store } from 'rdflib'\nimport { PaneDefinition } from 'pane-registry'\n/* pad Pane\n **\n */\n\nconst paneDef: PaneDefinition = {\n // icon: (module.__dirname || __dirname) + 'images/ColourOn.png',\n icon: icons.iconBase + 'noun_79217.svg',\n\n name: 'pad',\n\n audience: [ns.solid('PowerUser')],\n\n // Does the subject deserve an pad pane?\n label: function (subject, context) {\n const t = (context.session.store as Store).findTypeURIs(subject)\n if (t['http://www.w3.org/ns/pim/pad#Notepad']) {\n return 'pad'\n }\n return null // No under other circumstances\n },\n\n mintClass: ns.pad('Notepad'),\n\n mintNew: function (context, newPaneOptions: any) {\n const store = context.session.store as Store\n const updater = store.updater\n if (newPaneOptions.me && !newPaneOptions.me.uri) {\n throw new Error('notepad mintNew: Invalid userid')\n }\n\n const newInstance = (newPaneOptions.newInstance =\n newPaneOptions.newInstance ||\n store.sym(newPaneOptions.newBase + 'index.ttl#this'))\n // const newInstance = kb.sym(newBase + 'pad.ttl#thisPad');\n const newPadDoc = newInstance.doc()\n\n store.add(newInstance, ns.rdf('type'), ns.pad('Notepad'), newPadDoc)\n store.add(newInstance, ns.dc('title'), 'Shared Notes', newPadDoc)\n store.add(newInstance, ns.dc('created'), new Date() as any, newPadDoc) // @@ TODO Remove casting\n if (newPaneOptions.me) {\n store.add(newInstance, ns.dc('author'), newPaneOptions.me, newPadDoc)\n }\n // kb.add(newInstance, ns.pad('next'), newInstance, newPadDoc);\n // linked list empty @@\n const chunk = store.sym(newInstance.uri + '_line0')\n store.add(newInstance, ns.pad('next'), chunk, newPadDoc) // Linked list has one entry\n store.add(chunk, ns.pad('next'), newInstance, newPadDoc)\n store.add(chunk, ns.dc('author'), newPaneOptions.me, newPadDoc)\n store.add(chunk, ns.sioc('content'), '', newPadDoc)\n\n return new Promise(function (resolve, reject) {\n if (!updater) {\n reject(new Error('Have no updater'))\n return\n }\n updater.put(\n newPadDoc,\n store.statementsMatching(undefined, undefined, undefined, newPadDoc),\n 'text/turtle',\n function (uri2, ok, message) {\n if (ok) {\n resolve(newPaneOptions)\n } else {\n reject(\n new Error('FAILED to save new tool at: ' + uri2 + ' : ' + message)\n )\n }\n }\n )\n })\n },\n // and follow instructions there\n // @@ TODO Set better type for paneOptions\n render: function (subject, context, paneOptions: any) {\n const dom = context.dom\n const store = context.session.store as Store\n // Utility functions\n const complainIfBad = function (ok: boolean, message: string) {\n if (!ok) {\n div.appendChild(widgets.errorMessageBlock(dom, message, 'pink'))\n }\n }\n\n const clearElement = function (ele: HTMLElement) {\n while (ele.firstChild) {\n ele.removeChild(ele.firstChild)\n }\n return ele\n }\n\n // Access control\n\n // Two constiations of ACL for this app, public read and public read/write\n // In all cases owner has read write control\n const genACLtext = function (\n docURI: string,\n aclURI: string,\n allWrite: boolean\n ) {\n const g = graph()\n const auth = Namespace('http://www.w3.org/ns/auth/acl#')\n let a = g.sym(aclURI + '#a1')\n const acl = g.sym(aclURI)\n const doc = g.sym(docURI)\n g.add(a, ns.rdf('type'), auth('Authorization'), acl)\n g.add(a, auth('accessTo'), doc, acl)\n g.add(a, auth('agent'), me, acl)\n g.add(a, auth('mode'), auth('Read'), acl)\n g.add(a, auth('mode'), auth('Write'), acl)\n g.add(a, auth('mode'), auth('Control'), acl)\n\n a = g.sym(aclURI + '#a2')\n g.add(a, ns.rdf('type'), auth('Authorization'), acl)\n g.add(a, auth('accessTo'), doc, acl)\n g.add(a, auth('agentClass'), ns.foaf('Agent'), acl)\n g.add(a, auth('mode'), auth('Read'), acl)\n if (allWrite) {\n g.add(a, auth('mode'), auth('Write'), acl)\n }\n // TODO: Figure out why `serialize` isn't on the type definition according to TypeScript:\n return serialize(acl, g, aclURI, 'text/turtle')\n }\n\n /**\n * @param docURI\n * @param allWrite\n * @param callbackFunction\n *\n * @returns {Promise<Response>}\n */\n const setACL = function setACL (\n docURI: string,\n allWrite: boolean,\n callbackFunction: Function\n ) {\n const aclDoc = store.any(\n sym(docURI),\n sym('http://www.iana.org/assignments/link-relations/acl')\n ) as NamedNode // @@ check that this get set by web.js\n if (!fetcher) {\n throw new Error('Have no fetcher')\n }\n if (aclDoc) {\n // Great we already know where it is\n const aclText = genACLtext(docURI, aclDoc.uri, allWrite)\n return fetcher\n .webOperation('PUT', aclDoc.uri, {\n data: aclText,\n contentType: 'text/turtle'\n })\n .then(() => callbackFunction(true))\n .catch(err => {\n callbackFunction(false, err.message)\n })\n } else {\n return fetcher\n .load(docURI)\n .catch((err: Error) => {\n callbackFunction(false, 'Getting headers for ACL: ' + err)\n })\n .then(() => {\n const aclDoc = store.any(\n sym(docURI),\n sym('http://www.iana.org/assignments/link-relations/acl')\n ) as NamedNode\n\n if (!aclDoc) {\n // complainIfBad(false, \"No Link rel=ACL header for \" + docURI);\n throw new Error('No Link rel=ACL header for ' + docURI)\n }\n\n const aclText = genACLtext(docURI, aclDoc.uri, allWrite)\n\n return fetcher.webOperation('PUT', aclDoc.uri, {\n data: aclText,\n contentType: 'text/turtle'\n })\n })\n .then(() => callbackFunction(true))\n .catch(err => {\n callbackFunction(false, err.message)\n })\n }\n }\n\n // Reproduction: spawn a new instance\n //\n // Viral growth path: user of app decides to make another instance\n const newInstanceButton = function () {\n const button = div.appendChild(dom.createElement('button'))\n button.textContent = 'Start another pad'\n button.addEventListener('click', function () {\n return showBootstrap(subject, spawnArea, 'pad')\n })\n return button\n }\n\n // Option of either using the workspace system or just typing in a URI\n const showBootstrap = function showBootstrap (\n thisInstance: any,\n container: HTMLElement,\n noun: string\n ) {\n const div = clearElement(container)\n const appDetails = { noun: 'notepad' } as AppDetails\n div.appendChild(\n login.newAppInstance(dom, appDetails, (workspace: string | null, newBase) => {\n // FIXME: not sure if this will work at all, just\n // trying to get the types to match - Michiel.\n return initializeNewInstanceInWorkspace(new NamedNode(workspace || newBase))\n })\n )\n\n div.appendChild(dom.createElement('hr')) // @@\n\n const p = div.appendChild(dom.createElement('p'))\n p.textContent =\n 'Where would you like to store the data for the ' +\n noun +\n '? ' +\n 'Give the URL of the directory where you would like the data stored.'\n const baseField = div.appendChild(dom.createElement('input'))\n baseField.setAttribute('type', 'text')\n baseField.size = 80 // really a string\n ;(baseField as any).label = 'base URL'\n baseField.autocomplete = 'on'\n\n div.appendChild(dom.createElement('br')) // @@\n\n const button = div.appendChild(dom.createElement('button'))\n button.textContent = 'Start new ' + noun + ' at this URI'\n button.addEventListener('click', function (_e) {\n let newBase = baseField.value\n if (newBase.slice(-1) !== '/') {\n newBase += '/'\n }\n initializeNewInstanceAtBase(thisInstance, newBase)\n })\n }\n\n // Create new document files for new instance of app\n const initializeNewInstanceInWorkspace = function (ws: NamedNode) {\n // @@ TODO Clean up type for newBase\n let newBase: any = store.any(ws, ns.space('uriPrefix'))\n if (!newBase) {\n newBase = ws.uri.split('#')[0]\n } else {\n newBase = newBase.value\n }\n if (newBase.slice(-1) !== '/') {\n log.error(appPathSegment + ': No / at end of uriPrefix ' + newBase) // @@ paramater?\n newBase = newBase + '/'\n }\n const now = new Date()\n newBase += appPathSegment + '/id' + now.getTime() + '/' // unique id\n\n initializeNewInstanceAtBase(thisInstance, newBase)\n }\n\n const initializeNewInstanceAtBase = function (\n thisInstance: any,\n newBase: string\n ) {\n const here = sym(thisInstance.uri.split('#')[0])\n const base = here // @@ ???\n\n const newPadDoc = store.sym(newBase + 'pad.ttl')\n const newIndexDoc = store.sym(newBase + 'index.html')\n\n const toBeCopied = [{ local: 'index.html', contentType: 'text/html' }]\n\n const newInstance = store.sym(newPadDoc.uri + '#thisPad')\n\n // log.debug(\"\\n Ready to put \" + kb.statementsMatching(undefined, undefined, undefined, there)); //@@\n\n const agenda: Function[] = []\n\n let f // @@ This needs some form of visible progress bar\n for (f = 0; f < toBeCopied.length; f++) {\n const item = toBeCopied[f]\n const fun = function copyItem (item: any) {\n agenda.push(function () {\n const newURI = newBase + item.local\n console.log('Copying ' + base + item.local + ' to ' + newURI)\n\n const setThatACL = function () {\n setACL(newURI, false, function (ok: boolean, message: string) {\n if (!ok) {\n complainIfBad(\n ok,\n 'FAILED to set ACL ' + newURI + ' : ' + message\n )\n console.log('FAILED to set ACL ' + newURI + ' : ' + message)\n } else {\n agenda.shift()!() // beware too much nesting\n }\n })\n }\n if (!store.fetcher) {\n throw new Error('Store has no fetcher')\n }\n store.fetcher\n .webCopy(\n base + item.local,\n newBase + item.local,\n item.contentType\n )\n .then(() => authn.checkUser())\n .then(webId => {\n me = webId\n\n setThatACL()\n })\n .catch(err => {\n console.log(\n 'FAILED to copy ' + base + item.local + ' : ' + err.message\n )\n complainIfBad(\n false,\n 'FAILED to copy ' + base + item.local + ' : ' + err.message\n )\n })\n })\n }\n fun(item)\n }\n\n agenda.push(function createNewPadDataFile () {\n store.add(newInstance, ns.rdf('type'), PAD('Notepad'), newPadDoc)\n\n // TODO @@ Remove casting of add\n store.add(\n newInstance,\n ns.dc('created'),\n new Date() as any, // @@ TODO Remove casting\n newPadDoc\n )\n if (me) {\n store.add(newInstance, ns.dc('author'), me, newPadDoc)\n }\n store.add(newInstance, PAD('next'), newInstance, newPadDoc) // linked list empty\n\n // Keep a paper trail @@ Revisit when we have non-public ones @@ Privacy\n store.add(newInstance, ns.space('inspiration'), thisInstance, padDoc)\n store.add(newInstance, ns.space('inspiration'), thisInstance, newPadDoc)\n if (!updater) {\n throw new Error('Have no updater')\n }\n updater.put(\n newPadDoc,\n store.statementsMatching(undefined, undefined, undefined, newPadDoc),\n 'text/turtle',\n function (_uri2, ok, message) {\n if (ok) {\n agenda.shift()!()\n } else {\n complainIfBad(\n ok,\n 'FAILED to save new notepad at: ' +\n newPadDoc.uri +\n ' : ' +\n message\n )\n console.log(\n 'FAILED to save new notepad at: ' +\n newPadDoc.uri +\n ' : ' +\n message\n )\n }\n }\n )\n })\n\n agenda.push(function () {\n setACL(newPadDoc.uri, true, function (ok: boolean, body: string) {\n complainIfBad(\n ok,\n 'Failed to set Read-Write ACL on pad data file: ' + body\n )\n if (ok) agenda.shift()!()\n })\n })\n\n agenda.push(function () {\n // give the user links to the new app\n\n const p = div.appendChild(dom.createElement('p'))\n p.setAttribute('style', 'font-size: 140%;')\n p.innerHTML =\n \"Your <a href='\" +\n newIndexDoc.uri +\n \"'><b>new notepad</b></a> is ready. \" +\n \"<br/><br/><a href='\" +\n newIndexDoc.uri +\n \"'>Go to new pad</a>\"\n })\n\n agenda.shift()!()\n // Created new data files.\n }\n\n // Update on incoming changes\n const showResults = function (exists: boolean) {\n console.log('showResults()')\n\n me = authn.currentUser()\n\n authn.checkUser().then((webId: unknown) => {\n me = webId as string\n })\n\n const title =\n store.any(subject, ns.dc('title')) || store.any(subject, ns.vcard('fn'))\n if (paneOptions.solo && typeof window !== 'undefined' && title) {\n window.document.title = title.value\n }\n options.exists = exists\n padEle = pad.notepad(dom, padDoc, subject, me, options)\n naviMain.appendChild(padEle)\n\n const partipationTarget =\n store.any(subject, ns.meeting('parentMeeting')) || subject\n pad.manageParticipation(\n dom,\n naviMiddle2,\n padDoc,\n partipationTarget as any,\n me,\n options\n )\n if (!store.updater) {\n throw new Error('Store has no updater')\n }\n\n store.updater.setRefreshHandler(padDoc, padEle.reloadAndSync) // initiated =\n }\n\n // Read or create empty data file\n const loadPadData = function () {\n if (!fetcher) {\n throw new Error('Have no fetcher')\n }\n fetcher.nowOrWhenFetched(padDoc.uri, undefined, function (\n ok: boolean,\n body: string,\n response: any\n ) {\n if (!ok) {\n if (response.status === 404) {\n // / Check explicitly for 404 error\n console.log('Initializing results file ' + padDoc)\n if (!updater) {\n throw new Error('Have no updater')\n }\n updater.put(padDoc, [], 'text/turtle', function (\n _uri2,\n ok,\n message\n ) {\n if (ok) {\n clearElement(naviMain)\n showResults(false)\n } else {\n complainIfBad(\n ok,\n 'FAILED to create results file at: ' +\n padDoc.uri +\n ' : ' +\n message\n )\n console.log(\n 'FAILED to craete results file at: ' +\n padDoc.uri +\n ' : ' +\n message\n )\n }\n })\n } else {\n // Other error, not 404 -- do not try to overwite the file\n complainIfBad(ok, 'FAILED to read results file: ' + body)\n }\n } else {\n // Happy read\n clearElement(naviMain)\n if (store.holds(subject, ns.rdf('type'), ns.wf('TemplateInstance'))) {\n showBootstrap(subject, naviMain, 'pad')\n }\n showResults(true)\n naviMiddle3.appendChild(newInstanceButton())\n }\n })\n }\n\n // Body of Pane\n const appPathSegment = 'app-pad.timbl.com' // how to allocate this string and connect to\n\n const fetcher = store.fetcher\n const updater = store.updater\n let me: any\n\n const PAD = Namespace('http://www.w3.org/ns/pim/pad#')\n\n const thisInstance = subject\n const padDoc = subject.doc()\n\n let padEle\n\n const div = dom.createElement('div')\n\n // Build the DOM\n const structure = div.appendChild(dom.createElement('table')) // @@ make responsive style\n structure.setAttribute(\n 'style',\n 'background-color: white; min-width: 94%; margin-right:3% margin-left: 3%; min-height: 13em;'\n )\n\n const naviLoginoutTR = structure.appendChild(dom.createElement('tr'))\n naviLoginoutTR.appendChild(dom.createElement('td')) // naviLoginout1\n naviLoginoutTR.appendChild(dom.createElement('td'))\n naviLoginoutTR.appendChild(dom.createElement('td'))\n\n const naviTop = structure.appendChild(dom.createElement('tr')) // stuff\n const naviMain = naviTop.appendChild(dom.createElement('td'))\n naviMain.setAttribute('colspan', '3')\n\n const naviMiddle = structure.appendChild(dom.createElement('tr')) // controls\n const naviMiddle1 = naviMiddle.appendChild(dom.createElement('td'))\n const naviMiddle2 = naviMiddle.appendChild(dom.createElement('td'))\n const naviMiddle3 = naviMiddle.appendChild(dom.createElement('td'))\n\n const naviStatus = structure.appendChild(dom.createElement('tr')) // status etc\n const statusArea = naviStatus.appendChild(dom.createElement('div'))\n\n const naviSpawn = structure.appendChild(dom.createElement('tr')) // create new\n const spawnArea = naviSpawn.appendChild(dom.createElement('div'))\n\n const naviMenu = structure.appendChild(dom.createElement('tr'))\n naviMenu.setAttribute('class', 'naviMenu')\n // naviMenu.setAttribute('style', 'margin-top: 3em;');\n naviMenu.appendChild(dom.createElement('td')) // naviLeft\n naviMenu.appendChild(dom.createElement('td'))\n naviMenu.appendChild(dom.createElement('td'))\n\n const options: any = { statusArea: statusArea, timingArea: naviMiddle1 }\n\n loadPadData()\n\n return div\n }\n}\n// ends\n\nexport default paneDef\n"],"mappings":";;;;;;AAAA;AACA;AACA;AAEA;AACA;AACA;;AAEA,IAAMA,OAAuB,GAAG;EAC9B;EACAC,IAAI,EAAEC,cAAK,CAACC,QAAQ,GAAG,gBAAgB;EAEvCC,IAAI,EAAE,KAAK;EAEXC,QAAQ,EAAE,CAACC,WAAE,CAACC,KAAK,CAAC,WAAW,CAAC,CAAC;EAEjC;EACAC,KAAK,EAAE,eAAUC,OAAO,EAAEC,OAAO,EAAE;IACjC,IAAMC,CAAC,GAAID,OAAO,CAACE,OAAO,CAACC,KAAK,CAAWC,YAAY,CAACL,OAAO,CAAC;IAChE,IAAIE,CAAC,CAAC,sCAAsC,CAAC,EAAE;MAC7C,OAAO,KAAK;IACd;IACA,OAAO,IAAI,EAAC;EACd,CAAC;;EAEDI,SAAS,EAAET,WAAE,CAACU,GAAG,CAAC,SAAS,CAAC;EAE5BC,OAAO,EAAE,iBAAUP,OAAO,EAAEQ,cAAmB,EAAE;IAC/C,IAAML,KAAK,GAAGH,OAAO,CAACE,OAAO,CAACC,KAAc;IAC5C,IAAMM,OAAO,GAAGN,KAAK,CAACM,OAAO;IAC7B,IAAID,cAAc,CAACE,EAAE,IAAI,CAACF,cAAc,CAACE,EAAE,CAACC,GAAG,EAAE;MAC/C,MAAM,IAAIC,KAAK,CAAC,kCAAkC,CAAC;IACrD;IAEA,IAAMC,WAAW,GAAIL,cAAc,CAACK,WAAW,GAC7CL,cAAc,CAACK,WAAW,IAC1BV,KAAK,CAACW,GAAG,CAACN,cAAc,CAACO,OAAO,GAAG,gBAAgB,CAAE;IACvD;IACA,IAAMC,SAAS,GAAGH,WAAW,CAACI,GAAG,EAAE;IAEnCd,KAAK,CAACe,GAAG,CAACL,WAAW,EAAEjB,WAAE,CAACuB,GAAG,CAAC,MAAM,CAAC,EAAEvB,WAAE,CAACU,GAAG,CAAC,SAAS,CAAC,EAAEU,SAAS,CAAC;IACpEb,KAAK,CAACe,GAAG,CAACL,WAAW,EAAEjB,WAAE,CAACwB,EAAE,CAAC,OAAO,CAAC,EAAE,cAAc,EAAEJ,SAAS,CAAC;IACjEb,KAAK,CAACe,GAAG,CAACL,WAAW,EAAEjB,WAAE,CAACwB,EAAE,CAAC,SAAS,CAAC,EAAE,IAAIC,IAAI,EAAE,EAASL,SAAS,CAAC,EAAC;IACvE,IAAIR,cAAc,CAACE,EAAE,EAAE;MACrBP,KAAK,CAACe,GAAG,CAACL,WAAW,EAAEjB,WAAE,CAACwB,EAAE,CAAC,QAAQ,CAAC,EAAEZ,cAAc,CAACE,EAAE,EAAEM,SAAS,CAAC;IACvE;IACA;IACA;IACA,IAAMM,KAAK,GAAGnB,KAAK,CAACW,GAAG,CAACD,WAAW,CAACF,GAAG,GAAG,QAAQ,CAAC;IACnDR,KAAK,CAACe,GAAG,CAACL,WAAW,EAAEjB,WAAE,CAACU,GAAG,CAAC,MAAM,CAAC,EAAEgB,KAAK,EAAEN,SAAS,CAAC,EAAC;IACzDb,KAAK,CAACe,GAAG,CAACI,KAAK,EAAE1B,WAAE,CAACU,GAAG,CAAC,MAAM,CAAC,EAAEO,WAAW,EAAEG,SAAS,CAAC;IACxDb,KAAK,CAACe,GAAG,CAACI,KAAK,EAAE1B,WAAE,CAACwB,EAAE,CAAC,QAAQ,CAAC,EAAEZ,cAAc,CAACE,EAAE,EAAEM,SAAS,CAAC;IAC/Db,KAAK,CAACe,GAAG,CAACI,KAAK,EAAE1B,WAAE,CAAC2B,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAEP,SAAS,CAAC;IAEnD,OAAO,IAAIQ,OAAO,CAAC,UAAUC,OAAO,EAAEC,MAAM,EAAE;MAC5C,IAAI,CAACjB,OAAO,EAAE;QACZiB,MAAM,CAAC,IAAId,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACpC;MACF;MACAH,OAAO,CAACkB,GAAG,CACTX,SAAS,EACTb,KAAK,CAACyB,kBAAkB,CAACC,SAAS,EAAEA,SAAS,EAAEA,SAAS,EAAEb,SAAS,CAAC,EACpE,aAAa,EACb,UAAUc,IAAI,EAAEC,EAAE,EAAEC,OAAO,EAAE;QAC3B,IAAID,EAAE,EAAE;UACNN,OAAO,CAACjB,cAAc,CAAC;QACzB,CAAC,MAAM;UACLkB,MAAM,CACJ,IAAId,KAAK,CAAC,8BAA8B,GAAGkB,IAAI,GAAG,KAAK,GAAGE,OAAO,CAAC,CACnE;QACH;MACF,CAAC,CACF;IACH,CAAC,CAAC;EACJ,CAAC;EACD;EACA;EACAC,MAAM,EAAE,gBAAUlC,OAAO,EAAEC,OAAO,EAAEkC,WAAgB,EAAE;IACpD,IAAMC,GAAG,GAAGnC,OAAO,CAACmC,GAAG;IACvB,IAAMhC,KAAK,GAAGH,OAAO,CAACE,OAAO,CAACC,KAAc;IAC5C;IACA,IAAMiC,aAAa,GAAG,SAAhBA,aAAa,CAAaL,EAAW,EAAEC,OAAe,EAAE;MAC5D,IAAI,CAACD,EAAE,EAAE;QACPM,GAAG,CAACC,WAAW,CAACC,gBAAO,CAACC,iBAAiB,CAACL,GAAG,EAAEH,OAAO,EAAE,MAAM,CAAC,CAAC;MAClE;IACF,CAAC;IAED,IAAMS,YAAY,GAAG,SAAfA,YAAY,CAAaC,GAAgB,EAAE;MAC/C,OAAOA,GAAG,CAACC,UAAU,EAAE;QACrBD,GAAG,CAACE,WAAW,CAACF,GAAG,CAACC,UAAU,CAAC;MACjC;MACA,OAAOD,GAAG;IACZ,CAAC;;IAED;;IAEA;IACA;IACA,IAAMG,UAAU,GAAG,SAAbA,UAAU,CACdC,MAAc,EACdC,MAAc,EACdC,QAAiB,EACjB;MACA,IAAMC,CAAC,GAAG,IAAAC,aAAK,GAAE;MACjB,IAAMC,IAAI,GAAG,IAAAC,iBAAS,EAAC,gCAAgC,CAAC;MACxD,IAAIC,CAAC,GAAGJ,CAAC,CAACnC,GAAG,CAACiC,MAAM,GAAG,KAAK,CAAC;MAC7B,IAAMO,GAAG,GAAGL,CAAC,CAACnC,GAAG,CAACiC,MAAM,CAAC;MACzB,IAAM9B,GAAG,GAAGgC,CAAC,CAACnC,GAAG,CAACgC,MAAM,CAAC;MACzBG,CAAC,CAAC/B,GAAG,CAACmC,CAAC,EAAEzD,WAAE,CAACuB,GAAG,CAAC,MAAM,CAAC,EAAEgC,IAAI,CAAC,eAAe,CAAC,EAAEG,GAAG,CAAC;MACpDL,CAAC,CAAC/B,GAAG,CAACmC,CAAC,EAAEF,IAAI,CAAC,UAAU,CAAC,EAAElC,GAAG,EAAEqC,GAAG,CAAC;MACpCL,CAAC,CAAC/B,GAAG,CAACmC,CAAC,EAAEF,IAAI,CAAC,OAAO,CAAC,EAAEzC,EAAE,EAAE4C,GAAG,CAAC;MAChCL,CAAC,CAAC/B,GAAG,CAACmC,CAAC,EAAEF,IAAI,CAAC,MAAM,CAAC,EAAEA,IAAI,CAAC,MAAM,CAAC,EAAEG,GAAG,CAAC;MACzCL,CAAC,CAAC/B,GAAG,CAACmC,CAAC,EAAEF,IAAI,CAAC,MAAM,CAAC,EAAEA,IAAI,CAAC,OAAO,CAAC,EAAEG,GAAG,CAAC;MAC1CL,CAAC,CAAC/B,GAAG,CAACmC,CAAC,EAAEF,IAAI,CAAC,MAAM,CAAC,EAAEA,IAAI,CAAC,SAAS,CAAC,EAAEG,GAAG,CAAC;MAE5CD,CAAC,GAAGJ,CAAC,CAACnC,GAAG,CAACiC,MAAM,GAAG,KAAK,CAAC;MACzBE,CAAC,CAAC/B,GAAG,CAACmC,CAAC,EAAEzD,WAAE,CAACuB,GAAG,CAAC,MAAM,CAAC,EAAEgC,IAAI,CAAC,eAAe,CAAC,EAAEG,GAAG,CAAC;MACpDL,CAAC,CAAC/B,GAAG,CAACmC,CAAC,EAAEF,IAAI,CAAC,UAAU,CAAC,EAAElC,GAAG,EAAEqC,GAAG,CAAC;MACpCL,CAAC,CAAC/B,GAAG,CAACmC,CAAC,EAAEF,IAAI,CAAC,YAAY,CAAC,EAAEvD,WAAE,CAAC2D,IAAI,CAAC,OAAO,CAAC,EAAED,GAAG,CAAC;MACnDL,CAAC,CAAC/B,GAAG,CAACmC,CAAC,EAAEF,IAAI,CAAC,MAAM,CAAC,EAAEA,IAAI,CAAC,MAAM,CAAC,EAAEG,GAAG,CAAC;MACzC,IAAIN,QAAQ,EAAE;QACZC,CAAC,CAAC/B,GAAG,CAACmC,CAAC,EAAEF,IAAI,CAAC,MAAM,CAAC,EAAEA,IAAI,CAAC,OAAO,CAAC,EAAEG,GAAG,CAAC;MAC5C;MACA;MACA,OAAO,IAAAE,iBAAS,EAACF,GAAG,EAAEL,CAAC,EAAEF,MAAM,EAAE,aAAa,CAAC;IACjD,CAAC;;IAED;AACJ;AACA;AACA;AACA;AACA;AACA;IACI,IAAMU,MAAM,GAAG,SAASA,MAAM,CAC5BX,MAAc,EACdE,QAAiB,EACjBU,gBAA0B,EAC1B;MACA,IAAMC,MAAM,GAAGxD,KAAK,CAACyD,GAAG,CACtB,IAAA9C,WAAG,EAACgC,MAAM,CAAC,EACX,IAAAhC,WAAG,EAAC,oDAAoD,CAAC,CAC7C,EAAC;MACf,IAAI,CAAC+C,OAAO,EAAE;QACZ,MAAM,IAAIjD,KAAK,CAAC,iBAAiB,CAAC;MACpC;MACA,IAAI+C,MAAM,EAAE;QACV;QACA,IAAMG,OAAO,GAAGjB,UAAU,CAACC,MAAM,EAAEa,MAAM,CAAChD,GAAG,EAAEqC,QAAQ,CAAC;QACxD,OAAOa,OAAO,CACXE,YAAY,CAAC,KAAK,EAAEJ,MAAM,CAAChD,GAAG,EAAE;UAC/BqD,IAAI,EAAEF,OAAO;UACbG,WAAW,EAAE;QACf,CAAC,CAAC,CACDC,IAAI,CAAC;UAAA,OAAMR,gBAAgB,CAAC,IAAI,CAAC;QAAA,EAAC,SAC7B,CAAC,UAAAS,GAAG,EAAI;UACZT,gBAAgB,CAAC,KAAK,EAAES,GAAG,CAACnC,OAAO,CAAC;QACtC,CAAC,CAAC;MACN,CAAC,MAAM;QACL,OAAO6B,OAAO,CACXO,IAAI,CAACtB,MAAM,CAAC,SACP,CAAC,UAACqB,GAAU,EAAK;UACrBT,gBAAgB,CAAC,KAAK,EAAE,2BAA2B,GAAGS,GAAG,CAAC;QAC5D,CAAC,CAAC,CACDD,IAAI,CAAC,YAAM;UACV,IAAMP,MAAM,GAAGxD,KAAK,CAACyD,GAAG,CACtB,IAAA9C,WAAG,EAACgC,MAAM,CAAC,EACX,IAAAhC,WAAG,EAAC,oDAAoD,CAAC,CAC7C;UAEd,IAAI,CAAC6C,MAAM,EAAE;YACX;YACA,MAAM,IAAI/C,KAAK,CAAC,6BAA6B,GAAGkC,MAAM,CAAC;UACzD;UAEA,IAAMgB,OAAO,GAAGjB,UAAU,CAACC,MAAM,EAAEa,MAAM,CAAChD,GAAG,EAAEqC,QAAQ,CAAC;UAExD,OAAOa,OAAO,CAACE,YAAY,CAAC,KAAK,EAAEJ,MAAM,CAAChD,GAAG,EAAE;YAC7CqD,IAAI,EAAEF,OAAO;YACbG,WAAW,EAAE;UACf,CAAC,CAAC;QACJ,CAAC,CAAC,CACDC,IAAI,CAAC;UAAA,OAAMR,gBAAgB,CAAC,IAAI,CAAC;QAAA,EAAC,SAC7B,CAAC,UAAAS,GAAG,EAAI;UACZT,gBAAgB,CAAC,KAAK,EAAES,GAAG,CAACnC,OAAO,CAAC;QACtC,CAAC,CAAC;MACN;IACF,CAAC;;IAED;IACA;IACA;IACA,IAAMqC,iBAAiB,GAAG,SAApBA,iBAAiB,GAAe;MACpC,IAAMC,MAAM,GAAGjC,GAAG,CAACC,WAAW,CAACH,GAAG,CAACoC,aAAa,CAAC,QAAQ,CAAC,CAAC;MAC3DD,MAAM,CAACE,WAAW,GAAG,mBAAmB;MACxCF,MAAM,CAACG,gBAAgB,CAAC,OAAO,EAAE,YAAY;QAC3C,OAAOC,aAAa,CAAC3E,OAAO,EAAE4E,SAAS,EAAE,KAAK,CAAC;MACjD,CAAC,CAAC;MACF,OAAOL,MAAM;IACf,CAAC;;IAED;IACA,IAAMI,aAAa,GAAG,SAASA,aAAa,CAC1CE,YAAiB,EACjBC,SAAsB,EACtBC,IAAY,EACZ;MACA,IAAMzC,GAAG,GAAGI,YAAY,CAACoC,SAAS,CAAC;MACnC,IAAME,UAAU,GAAG;QAAED,IAAI,EAAE;MAAU,CAAe;MACpDzC,GAAG,CAACC,WAAW,CACb0C,cAAK,CAACC,cAAc,CAAC9C,GAAG,EAAE4C,UAAU,EAAE,UAACG,SAAwB,EAAEnE,OAAO,EAAK;QAC3E;QACA;QACA,OAAOoE,gCAAgC,CAAC,IAAIC,iBAAS,CAACF,SAAS,IAAInE,OAAO,CAAC,CAAC;MAC9E,CAAC,CAAC,CACH;MAEDsB,GAAG,CAACC,WAAW,CAACH,GAAG,CAACoC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAC;;MAEzC,IAAMc,CAAC,GAAGhD,GAAG,CAACC,WAAW,CAACH,GAAG,CAACoC,aAAa,CAAC,GAAG,CAAC,CAAC;MACjDc,CAAC,CAACb,WAAW,GACX,iDAAiD,GACjDM,IAAI,GACJ,KAAK,GACL,qEAAqE;MACvE,IAAMQ,SAAS,GAAGjD,GAAG,CAACC,WAAW,CAACH,GAAG,CAACoC,aAAa,CAAC,OAAO,CAAC,CAAC;MAC7De,SAAS,CAACC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC;MACtCD,SAAS,CAACE,IAAI,GAAG,EAAE,CAAC;MAAA;MAClBF,SAAS,CAASxF,KAAK,GAAG,UAAU;MACtCwF,SAAS,CAACG,YAAY,GAAG,IAAI;MAE7BpD,GAAG,CAACC,WAAW,CAACH,GAAG,CAACoC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAC;;MAEzC,IAAMD,MAAM,GAAGjC,GAAG,CAACC,WAAW,CAACH,GAAG,CAACoC,aAAa,CAAC,QAAQ,CAAC,CAAC;MAC3DD,MAAM,CAACE,WAAW,GAAG,YAAY,GAAGM,IAAI,GAAG,cAAc;MACzDR,MAAM,CAACG,gBAAgB,CAAC,OAAO,EAAE,UAAUiB,EAAE,EAAE;QAC7C,IAAI3E,OAAO,GAAGuE,SAAS,CAACK,KAAK;QAC7B,IAAI5E,OAAO,CAAC6E,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;UAC7B7E,OAAO,IAAI,GAAG;QAChB;QACA8E,2BAA2B,CAACjB,YAAY,EAAE7D,OAAO,CAAC;MACpD,CAAC,CAAC;IACJ,CAAC;;IAED;IACA,IAAMoE,gCAAgC,GAAG,SAAnCA,gCAAgC,CAAaW,EAAa,EAAE;MAChE;MACA,IAAI/E,OAAY,GAAGZ,KAAK,CAACyD,GAAG,CAACkC,EAAE,EAAElG,WAAE,CAACmG,KAAK,CAAC,WAAW,CAAC,CAAC;MACvD,IAAI,CAAChF,OAAO,EAAE;QACZA,OAAO,GAAG+E,EAAE,CAACnF,GAAG,CAACqF,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;MAChC,CAAC,MAAM;QACLjF,OAAO,GAAGA,OAAO,CAAC4E,KAAK;MACzB;MACA,IAAI5E,OAAO,CAAC6E,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;QAC7BK,WAAG,CAACC,KAAK,CAACC,cAAc,GAAG,6BAA6B,GAAGpF,OAAO,CAAC,EAAC;QACpEA,OAAO,GAAGA,OAAO,GAAG,GAAG;MACzB;MACA,IAAMqF,GAAG,GAAG,IAAI/E,IAAI,EAAE;MACtBN,OAAO,IAAIoF,cAAc,GAAG,KAAK,GAAGC,GAAG,CAACC,OAAO,EAAE,GAAG,GAAG,EAAC;;MAExDR,2BAA2B,CAACjB,YAAY,EAAE7D,OAAO,CAAC;IACpD,CAAC;IAED,IAAM8E,2BAA2B,GAAG,SAA9BA,2BAA2B,CAC/BjB,YAAiB,EACjB7D,OAAe,EACf;MACA,IAAMuF,IAAI,GAAG,IAAAxF,WAAG,EAAC8D,YAAY,CAACjE,GAAG,CAACqF,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;MAChD,IAAMO,IAAI,GAAGD,IAAI,EAAC;;MAElB,IAAMtF,SAAS,GAAGb,KAAK,CAACW,GAAG,CAACC,OAAO,GAAG,SAAS,CAAC;MAChD,IAAMyF,WAAW,GAAGrG,KAAK,CAACW,GAAG,CAACC,OAAO,GAAG,YAAY,CAAC;MAErD,IAAM0F,UAAU,GAAG,CAAC;QAAEC,KAAK,EAAE,YAAY;QAAEzC,WAAW,EAAE;MAAY,CAAC,CAAC;MAEtE,IAAMpD,WAAW,GAAGV,KAAK,CAACW,GAAG,CAACE,SAAS,CAACL,GAAG,GAAG,UAAU,CAAC;;MAEzD;;MAEA,IAAMgG,MAAkB,GAAG,EAAE;MAE7B,IAAIC,CAAC,EAAC;MACN,KAAKA,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,UAAU,CAACI,MAAM,EAAED,CAAC,EAAE,EAAE;QACtC,IAAME,IAAI,GAAGL,UAAU,CAACG,CAAC,CAAC;QAC1B,IAAMG,GAAG,GAAG,SAASC,QAAQ,CAAEF,IAAS,EAAE;UACxCH,MAAM,CAACM,IAAI,CAAC,YAAY;YACtB,IAAMC,MAAM,GAAGnG,OAAO,GAAG+F,IAAI,CAACJ,KAAK;YACnCS,OAAO,CAAClB,GAAG,CAAC,UAAU,GAAGM,IAAI,GAAGO,IAAI,CAACJ,KAAK,GAAG,MAAM,GAAGQ,MAAM,CAAC;YAE7D,IAAME,UAAU,GAAG,SAAbA,UAAU,GAAe;cAC7B3D,MAAM,CAACyD,MAAM,EAAE,KAAK,EAAE,UAAUnF,EAAW,EAAEC,OAAe,EAAE;gBAC5D,IAAI,CAACD,EAAE,EAAE;kBACPK,aAAa,CACXL,EAAE,EACF,oBAAoB,GAAGmF,MAAM,GAAG,KAAK,GAAGlF,OAAO,CAChD;kBACDmF,OAAO,CAAClB,GAAG,CAAC,oBAAoB,GAAGiB,MAAM,GAAG,KAAK,GAAGlF,OAAO,CAAC;gBAC9D,CAAC,MAAM;kBACL2E,MAAM,CAACU,KAAK,EAAE,EAAG,EAAC;gBACpB;cACF,CAAC,CAAC;YACJ,CAAC;;YACD,IAAI,CAAClH,KAAK,CAAC0D,OAAO,EAAE;cAClB,MAAM,IAAIjD,KAAK,CAAC,sBAAsB,CAAC;YACzC;YACAT,KAAK,CAAC0D,OAAO,CACVyD,OAAO,CACNf,IAAI,GAAGO,IAAI,CAACJ,KAAK,EACjB3F,OAAO,GAAG+F,IAAI,CAACJ,KAAK,EACpBI,IAAI,CAAC7C,WAAW,CACjB,CACAC,IAAI,CAAC;cAAA,OAAMqD,iBAAK,CAACC,SAAS,EAAE;YAAA,EAAC,CAC7BtD,IAAI,CAAC,UAAAuD,KAAK,EAAI;cACb/G,EAAE,GAAG+G,KAAK;cAEVL,UAAU,EAAE;YACd,CAAC,CAAC,SACI,CAAC,UAAAjD,GAAG,EAAI;cACZgD,OAAO,CAAClB,GAAG,CACT,iBAAiB,GAAGM,IAAI,GAAGO,IAAI,CAACJ,KAAK,GAAG,KAAK,GAAGvC,GAAG,CAACnC,OAAO,CAC5D;cACDI,aAAa,CACX,KAAK,EACL,iBAAiB,GAAGmE,IAAI,GAAGO,IAAI,CAACJ,KAAK,GAAG,KAAK,GAAGvC,GAAG,CAACnC,OAAO,CAC5D;YACH,CAAC,CAAC;UACN,CAAC,CAAC;QACJ,CAAC;QACD+E,GAAG,CAACD,IAAI,CAAC;MACX;MAEAH,MAAM,CAACM,IAAI,CAAC,SAASS,oBAAoB,GAAI;QAC3CvH,KAAK,CAACe,GAAG,CAACL,WAAW,EAAEjB,WAAE,CAACuB,GAAG,CAAC,MAAM,CAAC,EAAEwG,GAAG,CAAC,SAAS,CAAC,EAAE3G,SAAS,CAAC;;QAEjE;QACAb,KAAK,CAACe,GAAG,CACPL,WAAW,EACXjB,WAAE,CAACwB,EAAE,CAAC,SAAS,CAAC,EAChB,IAAIC,IAAI,EAAE;QAAS;QACnBL,SAAS,CACV;QACD,IAAIN,EAAE,EAAE;UACNP,KAAK,CAACe,GAAG,CAACL,WAAW,EAAEjB,WAAE,CAACwB,EAAE,CAAC,QAAQ,CAAC,EAAEV,EAAE,EAAEM,SAAS,CAAC;QACxD;QACAb,KAAK,CAACe,GAAG,CAACL,WAAW,EAAE8G,GAAG,CAAC,MAAM,CAAC,EAAE9G,WAAW,EAAEG,SAAS,CAAC,EAAC;;QAE5D;QACAb,KAAK,CAACe,GAAG,CAACL,WAAW,EAAEjB,WAAE,CAACmG,KAAK,CAAC,aAAa,CAAC,EAAEnB,YAAY,EAAEgD,MAAM,CAAC;QACrEzH,KAAK,CAACe,GAAG,CAACL,WAAW,EAAEjB,WAAE,CAACmG,KAAK,CAAC,aAAa,CAAC,EAAEnB,YAAY,EAAE5D,SAAS,CAAC;QACxE,IAAI,CAACP,OAAO,EAAE;UACZ,MAAM,IAAIG,KAAK,CAAC,iBAAiB,CAAC;QACpC;QACAH,OAAO,CAACkB,GAAG,CACTX,SAAS,EACTb,KAAK,CAACyB,kBAAkB,CAACC,SAAS,EAAEA,SAAS,EAAEA,SAAS,EAAEb,SAAS,CAAC,EACpE,aAAa,EACb,UAAU6G,KAAK,EAAE9F,EAAE,EAAEC,OAAO,EAAE;UAC5B,IAAID,EAAE,EAAE;YACN4E,MAAM,CAACU,KAAK,EAAE,EAAG;UACnB,CAAC,MAAM;YACLjF,aAAa,CACXL,EAAE,EACF,iCAAiC,GAC/Bf,SAAS,CAACL,GAAG,GACb,KAAK,GACLqB,OAAO,CACV;YACDmF,OAAO,CAAClB,GAAG,CACT,iCAAiC,GAC/BjF,SAAS,CAACL,GAAG,GACb,KAAK,GACLqB,OAAO,CACV;UACH;QACF,CAAC,CACF;MACH,CAAC,CAAC;MAEF2E,MAAM,CAACM,IAAI,CAAC,YAAY;QACtBxD,MAAM,CAACzC,SAAS,CAACL,GAAG,EAAE,IAAI,EAAE,UAAUoB,EAAW,EAAE+F,IAAY,EAAE;UAC/D1F,aAAa,CACXL,EAAE,EACF,iDAAiD,GAAG+F,IAAI,CACzD;UACD,IAAI/F,EAAE,EAAE4E,MAAM,CAACU,KAAK,EAAE,EAAG;QAC3B,CAAC,CAAC;MACJ,CAAC,CAAC;MAEFV,MAAM,CAACM,IAAI,CAAC,YAAY;QACtB;;QAEA,IAAM5B,CAAC,GAAGhD,GAAG,CAACC,WAAW,CAACH,GAAG,CAACoC,aAAa,CAAC,GAAG,CAAC,CAAC;QACjDc,CAAC,CAACE,YAAY,CAAC,OAAO,EAAE,kBAAkB,CAAC;QAC3CF,CAAC,CAAC0C,SAAS,GACT,gBAAgB,GAChBvB,WAAW,CAAC7F,GAAG,GACf,qCAAqC,GACrC,qBAAqB,GACrB6F,WAAW,CAAC7F,GAAG,GACf,qBAAqB;MACzB,CAAC,CAAC;MAEFgG,MAAM,CAACU,KAAK,EAAE,EAAG;MACjB;IACF,CAAC;;IAED;IACA,IAAMW,WAAW,GAAG,SAAdA,WAAW,CAAaC,MAAe,EAAE;MAC7Cd,OAAO,CAAClB,GAAG,CAAC,eAAe,CAAC;MAE5BvF,EAAE,GAAG6G,iBAAK,CAACW,WAAW,EAAE;MAExBX,iBAAK,CAACC,SAAS,EAAE,CAACtD,IAAI,CAAC,UAACuD,KAAc,EAAK;QACzC/G,EAAE,GAAG+G,KAAe;MACtB,CAAC,CAAC;MAEF,IAAMU,KAAK,GACThI,KAAK,CAACyD,GAAG,CAAC7D,OAAO,EAAEH,WAAE,CAACwB,EAAE,CAAC,OAAO,CAAC,CAAC,IAAIjB,KAAK,CAACyD,GAAG,CAAC7D,OAAO,EAAEH,WAAE,CAACwI,KAAK,CAAC,IAAI,CAAC,CAAC;MAC1E,IAAIlG,WAAW,CAACmG,IAAI,IAAI,OAAOC,MAAM,KAAK,WAAW,IAAIH,KAAK,EAAE;QAC9DG,MAAM,CAACC,QAAQ,CAACJ,KAAK,GAAGA,KAAK,CAACxC,KAAK;MACrC;MACA6C,OAAO,CAACP,MAAM,GAAGA,MAAM;MACvBQ,MAAM,GAAGnI,YAAG,CAACoI,OAAO,CAACvG,GAAG,EAAEyF,MAAM,EAAE7H,OAAO,EAAEW,EAAE,EAAE8H,OAAO,CAAC;MACvDG,QAAQ,CAACrG,WAAW,CAACmG,MAAM,CAAC;MAE5B,IAAMG,iBAAiB,GACrBzI,KAAK,CAACyD,GAAG,CAAC7D,OAAO,EAAEH,WAAE,CAACiJ,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI9I,OAAO;MAC5DO,YAAG,CAACwI,mBAAmB,CACrB3G,GAAG,EACH4G,WAAW,EACXnB,MAAM,EACNgB,iBAAiB,EACjBlI,EAAE,EACF8H,OAAO,CACR;MACD,IAAI,CAACrI,KAAK,CAACM,OAAO,EAAE;QAClB,MAAM,IAAIG,KAAK,CAAC,sBAAsB,CAAC;MACzC;MAEAT,KAAK,CAACM,OAAO,CAACuI,iBAAiB,CAACpB,MAAM,EAAEa,MAAM,CAACQ,aAAa,CAAC,EAAC;IAChE,CAAC;;IAED;IACA,IAAMC,WAAW,GAAG,SAAdA,WAAW,GAAe;MAC9B,IAAI,CAACrF,OAAO,EAAE;QACZ,MAAM,IAAIjD,KAAK,CAAC,iBAAiB,CAAC;MACpC;MACAiD,OAAO,CAACsF,gBAAgB,CAACvB,MAAM,CAACjH,GAAG,EAAEkB,SAAS,EAAE,UAC9CE,EAAW,EACX+F,IAAY,EACZsB,QAAa,EACb;QACA,IAAI,CAACrH,EAAE,EAAE;UACP,IAAIqH,QAAQ,CAACC,MAAM,KAAK,GAAG,EAAE;YAC3B;YACAlC,OAAO,CAAClB,GAAG,CAAC,4BAA4B,GAAG2B,MAAM,CAAC;YAClD,IAAI,CAACnH,OAAO,EAAE;cACZ,MAAM,IAAIG,KAAK,CAAC,iBAAiB,CAAC;YACpC;YACAH,OAAO,CAACkB,GAAG,CAACiG,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE,UACrCC,KAAK,EACL9F,EAAE,EACFC,OAAO,EACP;cACA,IAAID,EAAE,EAAE;gBACNU,YAAY,CAACkG,QAAQ,CAAC;gBACtBX,WAAW,CAAC,KAAK,CAAC;cACpB,CAAC,MAAM;gBACL5F,aAAa,CACXL,EAAE,EACF,oCAAoC,GAClC6F,MAAM,CAACjH,GAAG,GACV,KAAK,GACLqB,OAAO,CACV;gBACDmF,OAAO,CAAClB,GAAG,CACT,oCAAoC,GAClC2B,MAAM,CAACjH,GAAG,GACV,KAAK,GACLqB,OAAO,CACV;cACH;YACF,CAAC,CAAC;UACJ,CAAC,MAAM;YACL;YACAI,aAAa,CAACL,EAAE,EAAE,+BAA+B,GAAG+F,IAAI,CAAC;UAC3D;QACF,CAAC,MAAM;UACL;UACArF,YAAY,CAACkG,QAAQ,CAAC;UACtB,IAAIxI,KAAK,CAACmJ,KAAK,CAACvJ,OAAO,EAAEH,WAAE,CAACuB,GAAG,CAAC,MAAM,CAAC,EAAEvB,WAAE,CAAC2J,EAAE,CAAC,kBAAkB,CAAC,CAAC,EAAE;YACnE7E,aAAa,CAAC3E,OAAO,EAAE4I,QAAQ,EAAE,KAAK,CAAC;UACzC;UACAX,WAAW,CAAC,IAAI,CAAC;UACjBwB,WAAW,CAAClH,WAAW,CAAC+B,iBAAiB,EAAE,CAAC;QAC9C;MACF,CAAC,CAAC;IACJ,CAAC;;IAED;IACA,IAAM8B,cAAc,GAAG,mBAAmB,EAAC;;IAE3C,IAAMtC,OAAO,GAAG1D,KAAK,CAAC0D,OAAO;IAC7B,IAAMpD,OAAO,GAAGN,KAAK,CAACM,OAAO;IAC7B,IAAIC,EAAO;IAEX,IAAMiH,GAAG,GAAG,IAAAvE,iBAAS,EAAC,+BAA+B,CAAC;IAEtD,IAAMwB,YAAY,GAAG7E,OAAO;IAC5B,IAAM6H,MAAM,GAAG7H,OAAO,CAACkB,GAAG,EAAE;IAE5B,IAAIwH,MAAM;IAEV,IAAMpG,GAAG,GAAGF,GAAG,CAACoC,aAAa,CAAC,KAAK,CAAC;;IAEpC;IACA,IAAMkF,SAAS,GAAGpH,GAAG,CAACC,WAAW,CAACH,GAAG,CAACoC,aAAa,CAAC,OAAO,CAAC,CAAC,EAAC;IAC9DkF,SAAS,CAAClE,YAAY,CACpB,OAAO,EACP,6FAA6F,CAC9F;IAED,IAAMmE,cAAc,GAAGD,SAAS,CAACnH,WAAW,CAACH,GAAG,CAACoC,aAAa,CAAC,IAAI,CAAC,CAAC;IACrEmF,cAAc,CAACpH,WAAW,CAACH,GAAG,CAACoC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAC;IACpDmF,cAAc,CAACpH,WAAW,CAACH,GAAG,CAACoC,aAAa,CAAC,IAAI,CAAC,CAAC;IACnDmF,cAAc,CAACpH,WAAW,CAACH,GAAG,CAACoC,aAAa,CAAC,IAAI,CAAC,CAAC;IAEnD,IAAMoF,OAAO,GAAGF,SAAS,CAACnH,WAAW,CAACH,GAAG,CAACoC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAC;IAC/D,IAAMoE,QAAQ,GAAGgB,OAAO,CAACrH,WAAW,CAACH,GAAG,CAACoC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC7DoE,QAAQ,CAACpD,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC;IAErC,IAAMqE,UAAU,GAAGH,SAAS,CAACnH,WAAW,CAACH,GAAG,CAACoC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAC;IAClE,IAAMsF,WAAW,GAAGD,UAAU,CAACtH,WAAW,CAACH,GAAG,CAACoC,aAAa,CAAC,IAAI,CAAC,CAAC;IACnE,IAAMwE,WAAW,GAAGa,UAAU,CAACtH,WAAW,CAACH,GAAG,CAACoC,aAAa,CAAC,IAAI,CAAC,CAAC;IACnE,IAAMiF,WAAW,GAAGI,UAAU,CAACtH,WAAW,CAACH,GAAG,CAACoC,aAAa,CAAC,IAAI,CAAC,CAAC;IAEnE,IAAMuF,UAAU,GAAGL,SAAS,CAACnH,WAAW,CAACH,GAAG,CAACoC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAC;IAClE,IAAMwF,UAAU,GAAGD,UAAU,CAACxH,WAAW,CAACH,GAAG,CAACoC,aAAa,CAAC,KAAK,CAAC,CAAC;IAEnE,IAAMyF,SAAS,GAAGP,SAAS,CAACnH,WAAW,CAACH,GAAG,CAACoC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAC;IACjE,IAAMI,SAAS,GAAGqF,SAAS,CAAC1H,WAAW,CAACH,GAAG,CAACoC,aAAa,CAAC,KAAK,CAAC,CAAC;IAEjE,IAAM0F,QAAQ,GAAGR,SAAS,CAACnH,WAAW,CAACH,GAAG,CAACoC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC/D0F,QAAQ,CAAC1E,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC;IAC1C;IACA0E,QAAQ,CAAC3H,WAAW,CAACH,GAAG,CAACoC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAC;IAC9C0F,QAAQ,CAAC3H,WAAW,CAACH,GAAG,CAACoC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC7C0F,QAAQ,CAAC3H,WAAW,CAACH,GAAG,CAACoC,aAAa,CAAC,IAAI,CAAC,CAAC;IAE7C,IAAMiE,OAAY,GAAG;MAAEuB,UAAU,EAAEA,UAAU;MAAEG,UAAU,EAAEL;IAAY,CAAC;IAExEX,WAAW,EAAE;IAEb,OAAO7G,GAAG;EACZ;AACF,CAAC;AACD;AAAA,eAEe/C,OAAO;AAAA"}
1
+ {"version":3,"file":"padPane.js","names":["_solidUi","require","_solidLogic","_rdflib","paneDef","icon","icons","iconBase","name","audience","ns","solid","label","subject","context","t","session","store","findTypeURIs","mintClass","pad","mintNew","newPaneOptions","updater","me","uri","Error","newInstance","sym","newBase","newPadDoc","doc","add","rdf","dc","Date","chunk","sioc","Promise","resolve","reject","put","statementsMatching","undefined","uri2","ok","message","render","paneOptions","dom","complainIfBad","div","appendChild","widgets","errorMessageBlock","clearElement","ele","firstChild","removeChild","genACLtext","docURI","aclURI","allWrite","g","graph","auth","Namespace","a","acl","foaf","serialize","setACL","callbackFunction","aclDoc","any","fetcher","aclText","webOperation","data","contentType","then","err","load","newInstanceButton","button","createElement","textContent","addEventListener","showBootstrap","spawnArea","thisInstance","container","noun","appDetails","login","newAppInstance","workspace","initializeNewInstanceInWorkspace","NamedNode","p","baseField","setAttribute","size","autocomplete","_e","value","slice","initializeNewInstanceAtBase","ws","space","split","log","error","appPathSegment","now","getTime","here","base","newIndexDoc","toBeCopied","local","agenda","f","length","item","fun","copyItem","push","newURI","console","setThatACL","shift","webCopy","authn","checkUser","webId","createNewPadDataFile","PAD","padDoc","_uri2","body","innerHTML","showResults","exists","currentUser","title","vcard","solo","window","document","options","padEle","notepad","naviMain","partipationTarget","meeting","manageParticipation","naviMiddle2","setRefreshHandler","reloadAndSync","loadPadData","nowOrWhenFetched","response","status","holds","wf","naviMiddle3","structure","naviLoginoutTR","naviTop","naviMiddle","naviMiddle1","naviStatus","statusArea","naviSpawn","naviMenu","timingArea","_default","exports"],"sources":["../../src/pad/padPane.ts"],"sourcesContent":["import { icons, ns, pad, widgets, login } from 'solid-ui'\nimport { authn, AppDetails } from 'solid-logic'\nimport { graph, log, NamedNode, Namespace, sym, serialize, Store } from 'rdflib'\nimport { PaneDefinition } from 'pane-registry'\n/* pad Pane\n **\n */\n\nconst paneDef: PaneDefinition = {\n // icon: (module.__dirname || __dirname) + 'images/ColourOn.png',\n icon: icons.iconBase + 'noun_79217.svg',\n\n name: 'pad',\n\n audience: [ns.solid('PowerUser')],\n\n // Does the subject deserve an pad pane?\n label: function (subject, context) {\n const t = (context.session.store as Store).findTypeURIs(subject)\n if (t['http://www.w3.org/ns/pim/pad#Notepad']) {\n return 'pad'\n }\n return null // No under other circumstances\n },\n\n mintClass: ns.pad('Notepad'),\n\n mintNew: function (context, newPaneOptions: any) {\n const store = context.session.store as Store\n const updater = store.updater\n if (newPaneOptions.me && !newPaneOptions.me.uri) {\n throw new Error('notepad mintNew: Invalid userid')\n }\n\n const newInstance = (newPaneOptions.newInstance =\n newPaneOptions.newInstance ||\n store.sym(newPaneOptions.newBase + 'index.ttl#this'))\n // const newInstance = kb.sym(newBase + 'pad.ttl#thisPad');\n const newPadDoc = newInstance.doc()\n\n store.add(newInstance, ns.rdf('type'), ns.pad('Notepad'), newPadDoc)\n store.add(newInstance, ns.dc('title'), 'Shared Notes', newPadDoc)\n store.add(newInstance, ns.dc('created'), new Date() as any, newPadDoc) // @@ TODO Remove casting\n if (newPaneOptions.me) {\n store.add(newInstance, ns.dc('author'), newPaneOptions.me, newPadDoc)\n }\n // kb.add(newInstance, ns.pad('next'), newInstance, newPadDoc);\n // linked list empty @@\n const chunk = store.sym(newInstance.uri + '_line0')\n store.add(newInstance, ns.pad('next'), chunk, newPadDoc) // Linked list has one entry\n store.add(chunk, ns.pad('next'), newInstance, newPadDoc)\n store.add(chunk, ns.dc('author'), newPaneOptions.me, newPadDoc)\n store.add(chunk, ns.sioc('content'), '', newPadDoc)\n\n return new Promise(function (resolve, reject) {\n if (!updater) {\n reject(new Error('Have no updater'))\n return\n }\n updater.put(\n newPadDoc,\n store.statementsMatching(undefined, undefined, undefined, newPadDoc),\n 'text/turtle',\n function (uri2, ok, message) {\n if (ok) {\n resolve(newPaneOptions)\n } else {\n reject(\n new Error('FAILED to save new tool at: ' + uri2 + ' : ' + message)\n )\n }\n }\n )\n })\n },\n // and follow instructions there\n // @@ TODO Set better type for paneOptions\n render: function (subject, context, paneOptions: any) {\n const dom = context.dom\n const store = context.session.store as Store\n // Utility functions\n const complainIfBad = function (ok: boolean, message: string) {\n if (!ok) {\n div.appendChild(widgets.errorMessageBlock(dom, message, 'pink'))\n }\n }\n\n const clearElement = function (ele: HTMLElement) {\n while (ele.firstChild) {\n ele.removeChild(ele.firstChild)\n }\n return ele\n }\n\n // Access control\n\n // Two constiations of ACL for this app, public read and public read/write\n // In all cases owner has read write control\n const genACLtext = function (\n docURI: string,\n aclURI: string,\n allWrite: boolean\n ) {\n const g = graph()\n const auth = Namespace('http://www.w3.org/ns/auth/acl#')\n let a = g.sym(aclURI + '#a1')\n const acl = g.sym(aclURI)\n const doc = g.sym(docURI)\n g.add(a, ns.rdf('type'), auth('Authorization'), acl)\n g.add(a, auth('accessTo'), doc, acl)\n g.add(a, auth('agent'), me, acl)\n g.add(a, auth('mode'), auth('Read'), acl)\n g.add(a, auth('mode'), auth('Write'), acl)\n g.add(a, auth('mode'), auth('Control'), acl)\n\n a = g.sym(aclURI + '#a2')\n g.add(a, ns.rdf('type'), auth('Authorization'), acl)\n g.add(a, auth('accessTo'), doc, acl)\n g.add(a, auth('agentClass'), ns.foaf('Agent'), acl)\n g.add(a, auth('mode'), auth('Read'), acl)\n if (allWrite) {\n g.add(a, auth('mode'), auth('Write'), acl)\n }\n // TODO: Figure out why `serialize` isn't on the type definition according to TypeScript:\n return serialize(acl, g, aclURI, 'text/turtle')\n }\n\n /**\n * @param docURI\n * @param allWrite\n * @param callbackFunction\n *\n * @returns {Promise<Response>}\n */\n const setACL = function setACL (\n docURI: string,\n allWrite: boolean,\n callbackFunction: Function\n ) {\n const aclDoc = store.any(\n sym(docURI),\n sym('http://www.iana.org/assignments/link-relations/acl')\n ) as NamedNode // @@ check that this get set by web.js\n if (!fetcher) {\n throw new Error('Have no fetcher')\n }\n if (aclDoc) {\n // Great we already know where it is\n const aclText = genACLtext(docURI, aclDoc.uri, allWrite)\n return fetcher\n .webOperation('PUT', aclDoc.uri, {\n data: aclText,\n contentType: 'text/turtle'\n })\n .then(() => callbackFunction(true))\n .catch(err => {\n callbackFunction(false, err.message)\n })\n } else {\n return fetcher\n .load(docURI)\n .catch((err: Error) => {\n callbackFunction(false, 'Getting headers for ACL: ' + err)\n })\n .then(() => {\n const aclDoc = store.any(\n sym(docURI),\n sym('http://www.iana.org/assignments/link-relations/acl')\n ) as NamedNode\n\n if (!aclDoc) {\n // complainIfBad(false, \"No Link rel=ACL header for \" + docURI);\n throw new Error('No Link rel=ACL header for ' + docURI)\n }\n\n const aclText = genACLtext(docURI, aclDoc.uri, allWrite)\n\n return fetcher.webOperation('PUT', aclDoc.uri, {\n data: aclText,\n contentType: 'text/turtle'\n })\n })\n .then(() => callbackFunction(true))\n .catch(err => {\n callbackFunction(false, err.message)\n })\n }\n }\n\n // Reproduction: spawn a new instance\n //\n // Viral growth path: user of app decides to make another instance\n const newInstanceButton = function () {\n const button = div.appendChild(dom.createElement('button'))\n button.textContent = 'Start another pad'\n button.addEventListener('click', function () {\n return showBootstrap(subject, spawnArea, 'pad')\n })\n return button\n }\n\n // Option of either using the workspace system or just typing in a URI\n const showBootstrap = function showBootstrap (\n thisInstance: any,\n container: HTMLElement,\n noun: string\n ) {\n const div = clearElement(container)\n const appDetails = { noun: 'notepad' } as AppDetails\n div.appendChild(\n login.newAppInstance(dom, appDetails, (workspace: string | null, newBase) => {\n // FIXME: not sure if this will work at all, just\n // trying to get the types to match - Michiel.\n return initializeNewInstanceInWorkspace(new NamedNode(workspace || newBase))\n })\n )\n\n div.appendChild(dom.createElement('hr')) // @@\n\n const p = div.appendChild(dom.createElement('p'))\n p.textContent =\n 'Where would you like to store the data for the ' +\n noun +\n '? ' +\n 'Give the URL of the directory where you would like the data stored.'\n const baseField = div.appendChild(dom.createElement('input'))\n baseField.setAttribute('type', 'text')\n baseField.size = 80 // really a string\n ;(baseField as any).label = 'base URL'\n baseField.autocomplete = 'on'\n\n div.appendChild(dom.createElement('br')) // @@\n\n const button = div.appendChild(dom.createElement('button'))\n button.textContent = 'Start new ' + noun + ' at this URI'\n button.addEventListener('click', function (_e) {\n let newBase = baseField.value\n if (newBase.slice(-1) !== '/') {\n newBase += '/'\n }\n initializeNewInstanceAtBase(thisInstance, newBase)\n })\n }\n\n // Create new document files for new instance of app\n const initializeNewInstanceInWorkspace = function (ws: NamedNode) {\n // @@ TODO Clean up type for newBase\n let newBase: any = store.any(ws, ns.space('uriPrefix'))\n if (!newBase) {\n newBase = ws.uri.split('#')[0]\n } else {\n newBase = newBase.value\n }\n if (newBase.slice(-1) !== '/') {\n log.error(appPathSegment + ': No / at end of uriPrefix ' + newBase) // @@ paramater?\n newBase = newBase + '/'\n }\n const now = new Date()\n newBase += appPathSegment + '/id' + now.getTime() + '/' // unique id\n\n initializeNewInstanceAtBase(thisInstance, newBase)\n }\n\n const initializeNewInstanceAtBase = function (\n thisInstance: any,\n newBase: string\n ) {\n const here = sym(thisInstance.uri.split('#')[0])\n const base = here // @@ ???\n\n const newPadDoc = store.sym(newBase + 'pad.ttl')\n const newIndexDoc = store.sym(newBase + 'index.html')\n\n const toBeCopied = [{ local: 'index.html', contentType: 'text/html' }]\n\n const newInstance = store.sym(newPadDoc.uri + '#thisPad')\n\n // log.debug(\"\\n Ready to put \" + kb.statementsMatching(undefined, undefined, undefined, there)); //@@\n\n const agenda: Function[] = []\n\n let f // @@ This needs some form of visible progress bar\n for (f = 0; f < toBeCopied.length; f++) {\n const item = toBeCopied[f]\n const fun = function copyItem (item: any) {\n agenda.push(function () {\n const newURI = newBase + item.local\n console.log('Copying ' + base + item.local + ' to ' + newURI)\n\n const setThatACL = function () {\n setACL(newURI, false, function (ok: boolean, message: string) {\n if (!ok) {\n complainIfBad(\n ok,\n 'FAILED to set ACL ' + newURI + ' : ' + message\n )\n console.log('FAILED to set ACL ' + newURI + ' : ' + message)\n } else {\n agenda.shift()!() // beware too much nesting\n }\n })\n }\n if (!store.fetcher) {\n throw new Error('Store has no fetcher')\n }\n store.fetcher\n .webCopy(\n base + item.local,\n newBase + item.local,\n item.contentType\n )\n .then(() => authn.checkUser())\n .then(webId => {\n me = webId\n\n setThatACL()\n })\n .catch(err => {\n console.log(\n 'FAILED to copy ' + base + item.local + ' : ' + err.message\n )\n complainIfBad(\n false,\n 'FAILED to copy ' + base + item.local + ' : ' + err.message\n )\n })\n })\n }\n fun(item)\n }\n\n agenda.push(function createNewPadDataFile () {\n store.add(newInstance, ns.rdf('type'), PAD('Notepad'), newPadDoc)\n\n // TODO @@ Remove casting of add\n store.add(\n newInstance,\n ns.dc('created'),\n new Date() as any, // @@ TODO Remove casting\n newPadDoc\n )\n if (me) {\n store.add(newInstance, ns.dc('author'), me, newPadDoc)\n }\n store.add(newInstance, PAD('next'), newInstance, newPadDoc) // linked list empty\n\n // Keep a paper trail @@ Revisit when we have non-public ones @@ Privacy\n store.add(newInstance, ns.space('inspiration'), thisInstance, padDoc)\n store.add(newInstance, ns.space('inspiration'), thisInstance, newPadDoc)\n if (!updater) {\n throw new Error('Have no updater')\n }\n updater.put(\n newPadDoc,\n store.statementsMatching(undefined, undefined, undefined, newPadDoc),\n 'text/turtle',\n function (_uri2, ok, message) {\n if (ok) {\n agenda.shift()!()\n } else {\n complainIfBad(\n ok,\n 'FAILED to save new notepad at: ' +\n newPadDoc.uri +\n ' : ' +\n message\n )\n console.log(\n 'FAILED to save new notepad at: ' +\n newPadDoc.uri +\n ' : ' +\n message\n )\n }\n }\n )\n })\n\n agenda.push(function () {\n setACL(newPadDoc.uri, true, function (ok: boolean, body: string) {\n complainIfBad(\n ok,\n 'Failed to set Read-Write ACL on pad data file: ' + body\n )\n if (ok) agenda.shift()!()\n })\n })\n\n agenda.push(function () {\n // give the user links to the new app\n\n const p = div.appendChild(dom.createElement('p'))\n p.setAttribute('style', 'font-size: 140%;')\n p.innerHTML =\n \"Your <a href='\" +\n newIndexDoc.uri +\n \"'><b>new notepad</b></a> is ready. \" +\n \"<br/><br/><a href='\" +\n newIndexDoc.uri +\n \"'>Go to new pad</a>\"\n })\n\n agenda.shift()!()\n // Created new data files.\n }\n\n // Update on incoming changes\n const showResults = function (exists: boolean) {\n console.log('showResults()')\n\n me = authn.currentUser()\n\n authn.checkUser().then((webId: unknown) => {\n me = webId as string\n })\n\n const title =\n store.any(subject, ns.dc('title')) || store.any(subject, ns.vcard('fn'))\n if (paneOptions.solo && typeof window !== 'undefined' && title) {\n window.document.title = title.value\n }\n options.exists = exists\n padEle = pad.notepad(dom, padDoc, subject, me, options)\n naviMain.appendChild(padEle)\n\n const partipationTarget =\n store.any(subject, ns.meeting('parentMeeting')) || subject\n pad.manageParticipation(\n dom,\n naviMiddle2,\n padDoc,\n partipationTarget as any,\n me,\n options\n )\n if (!store.updater) {\n throw new Error('Store has no updater')\n }\n\n store.updater.setRefreshHandler(padDoc, padEle.reloadAndSync) // initiated =\n }\n\n // Read or create empty data file\n const loadPadData = function () {\n if (!fetcher) {\n throw new Error('Have no fetcher')\n }\n fetcher.nowOrWhenFetched(padDoc.uri, undefined, function (\n ok: boolean,\n body: string,\n response: any\n ) {\n if (!ok) {\n if (response.status === 404) {\n // / Check explicitly for 404 error\n console.log('Initializing results file ' + padDoc)\n if (!updater) {\n throw new Error('Have no updater')\n }\n updater.put(padDoc, [], 'text/turtle', function (\n _uri2,\n ok,\n message\n ) {\n if (ok) {\n clearElement(naviMain)\n showResults(false)\n } else {\n complainIfBad(\n ok,\n 'FAILED to create results file at: ' +\n padDoc.uri +\n ' : ' +\n message\n )\n console.log(\n 'FAILED to craete results file at: ' +\n padDoc.uri +\n ' : ' +\n message\n )\n }\n })\n } else {\n // Other error, not 404 -- do not try to overwite the file\n complainIfBad(ok, 'FAILED to read results file: ' + body)\n }\n } else {\n // Happy read\n clearElement(naviMain)\n if (store.holds(subject, ns.rdf('type'), ns.wf('TemplateInstance'))) {\n showBootstrap(subject, naviMain, 'pad')\n }\n showResults(true)\n naviMiddle3.appendChild(newInstanceButton())\n }\n })\n }\n\n // Body of Pane\n const appPathSegment = 'app-pad.timbl.com' // how to allocate this string and connect to\n\n const fetcher = store.fetcher\n const updater = store.updater\n let me: any\n\n const PAD = Namespace('http://www.w3.org/ns/pim/pad#')\n\n const thisInstance = subject\n const padDoc = subject.doc()\n\n let padEle\n\n const div = dom.createElement('div')\n\n // Build the DOM\n const structure = div.appendChild(dom.createElement('table')) // @@ make responsive style\n structure.setAttribute(\n 'style',\n 'background-color: white; min-width: 94%; margin-right:3% margin-left: 3%; min-height: 13em;'\n )\n\n const naviLoginoutTR = structure.appendChild(dom.createElement('tr'))\n naviLoginoutTR.appendChild(dom.createElement('td')) // naviLoginout1\n naviLoginoutTR.appendChild(dom.createElement('td'))\n naviLoginoutTR.appendChild(dom.createElement('td'))\n\n const naviTop = structure.appendChild(dom.createElement('tr')) // stuff\n const naviMain = naviTop.appendChild(dom.createElement('td'))\n naviMain.setAttribute('colspan', '3')\n\n const naviMiddle = structure.appendChild(dom.createElement('tr')) // controls\n const naviMiddle1 = naviMiddle.appendChild(dom.createElement('td'))\n const naviMiddle2 = naviMiddle.appendChild(dom.createElement('td'))\n const naviMiddle3 = naviMiddle.appendChild(dom.createElement('td'))\n\n const naviStatus = structure.appendChild(dom.createElement('tr')) // status etc\n const statusArea = naviStatus.appendChild(dom.createElement('div'))\n\n const naviSpawn = structure.appendChild(dom.createElement('tr')) // create new\n const spawnArea = naviSpawn.appendChild(dom.createElement('div'))\n\n const naviMenu = structure.appendChild(dom.createElement('tr'))\n naviMenu.setAttribute('class', 'naviMenu')\n // naviMenu.setAttribute('style', 'margin-top: 3em;');\n naviMenu.appendChild(dom.createElement('td')) // naviLeft\n naviMenu.appendChild(dom.createElement('td'))\n naviMenu.appendChild(dom.createElement('td'))\n\n const options: any = { statusArea: statusArea, timingArea: naviMiddle1 }\n\n loadPadData()\n\n return div\n }\n}\n// ends\n\nexport default paneDef\n"],"mappings":"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"}
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"playlistPane.js","names":["ns","UI","icon","icons","iconBase","name","audience","solid","label","subject","context","kb","session","store","anyStatementMatching","rdf","sym","render","myDocument","dom","isVideo","src","_index","html5","youtube","match","vimeo","dailymotion","vk","link","contents","uri","a","createElement","setAttribute","appendChild","addEventListener","widgets","openHrefInOutlineMode","text","str","createTextNode","obj","any","$rdf","index","video","div","img","replace","value","descDiv","sl","statementsMatching","slots","i","length","push","parseInt","object","pIndex","indexOf","nIndex","prev","split","indexDiv","innerHTML","next","tr"],"sources":["../../src/playlist/playlistPane.js"],"sourcesContent":["/* Playlist Pane\n **\n ** This pane allows playlists and playlists slots to be viewed\n ** seeAlso: http://smiy.sourceforge.net/pbo/spec/playbackontology.html\n */\n import * as UI from 'solid-ui'\n import * as $rdf from 'rdflib'\nconst ns = UI.ns\n\nexport default {\n icon: UI.icons.iconBase + 'noun_1619.svg',\n\n name: 'playlistSlot',\n\n audience: [ns.solid('PowerUser')],\n\n label: function (subject, context) {\n const kb = context.session.store\n\n if (\n !kb.anyStatementMatching(\n subject,\n UI.ns.rdf('type'),\n kb.sym('http://purl.org/ontology/pbo/core#PlaylistSlot')\n )\n ) {\n return null\n }\n\n return 'playlist slot'\n },\n\n render: function (subject, context) {\n const myDocument = context.dom\n function isVideo (src, _index) {\n if (!src) {\n return {\n html5: true\n }\n }\n\n const youtube = src.match(\n /\\/\\/(?:www\\.)?youtu(?:\\.be|be\\.com)\\/(?:watch\\?v=|embed\\/)?([a-z0-9\\-_%]+)/i\n )\n const vimeo = src.match(/\\/\\/(?:www\\.)?vimeo.com\\/([0-9a-z\\-_]+)/i)\n const dailymotion = src.match(/\\/\\/(?:www\\.)?dai.ly\\/([0-9a-z\\-_]+)/i)\n const vk = src.match(\n /\\/\\/(?:www\\.)?(?:vk\\.com|vkontakte\\.ru)\\/(?:video_ext\\.php\\?)(.*)/i\n )\n\n if (youtube) {\n return {\n youtube: youtube\n }\n } else if (vimeo) {\n return {\n vimeo: vimeo\n }\n } else if (dailymotion) {\n return {\n dailymotion: dailymotion\n }\n } else if (vk) {\n return {\n vk: vk\n }\n }\n }\n\n const link = function (contents, uri) {\n if (!uri) return contents\n const a = myDocument.createElement('a')\n a.setAttribute('href', uri)\n a.appendChild(contents)\n a.addEventListener('click', UI.widgets.openHrefInOutlineMode, true)\n return a\n }\n\n const text = function (str) {\n return myDocument.createTextNode(str)\n }\n\n const kb = context.session.store\n const obj = kb.any(\n subject,\n $rdf.sym('http://purl.org/ontology/pbo/core#playlist_item')\n )\n let index = kb.any(\n subject,\n $rdf.sym('http://purl.org/ontology/olo/core#index')\n )\n\n let uri = obj.uri\n const video = isVideo(uri)\n\n const div = myDocument.createElement('div')\n let img\n if (video && video.youtube) {\n uri = uri.replace('watch?v=', 'embed/')\n div.setAttribute('class', 'imageView')\n img = myDocument.createElement('IFRAME')\n img.setAttribute('src', uri)\n img.setAttribute('width', 560)\n img.setAttribute('height', 315)\n img.setAttribute('frameborder', 0)\n img.setAttribute('style', 'max-width: 850px; max-height: 100%;')\n img.setAttribute('allowfullscreen', 'true')\n } else {\n div.setAttribute('class', 'imageView')\n img = myDocument.createElement('IMG')\n img.setAttribute('src', obj.value)\n img.setAttribute('width', 560)\n img.setAttribute('height', 315)\n img.setAttribute('style', 'max-width: 560; max-height: 315;')\n }\n\n let descDiv\n if (index) {\n const sl = kb.statementsMatching(\n null,\n $rdf.sym('http://purl.org/ontology/olo/core#index')\n )\n const slots = []\n for (let i = 0; i < sl.length; i++) {\n if (sl[i]) {\n slots.push(parseInt(sl[i].object.value, 10))\n }\n }\n\n index = parseInt(index.value, 10)\n descDiv = myDocument.createElement('div')\n\n const pIndex =\n slots[(slots.indexOf(index) - 1 + slots.length) % slots.length]\n const nIndex =\n slots[(slots.indexOf(index) + 1 + slots.length) % slots.length]\n\n const prev = link(text('<<'), subject.uri.split('#')[0] + '#' + pIndex)\n\n descDiv.appendChild(prev)\n\n const indexDiv = myDocument.createElement('span')\n indexDiv.innerHTML = ' Playlist slot : ' + index + ' '\n\n descDiv.appendChild(indexDiv)\n\n const next = link(text('>>'), subject.uri.split('#')[0] + '#' + nIndex)\n descDiv.appendChild(next)\n }\n\n const tr = myDocument.createElement('TR') // why need tr?\n tr.appendChild(img)\n if (descDiv) {\n tr.appendChild(descDiv)\n }\n div.appendChild(tr)\n return div\n }\n}\n\n// ends\n"],"mappings":"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"}
1
+ {"version":3,"file":"playlistPane.js","names":["UI","_interopRequireWildcard","require","$rdf","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ns","_default","icon","icons","iconBase","name","audience","solid","label","subject","context","kb","session","store","anyStatementMatching","rdf","sym","render","myDocument","dom","isVideo","src","_index","html5","youtube","match","vimeo","dailymotion","vk","link","contents","uri","a","createElement","setAttribute","appendChild","addEventListener","widgets","openHrefInOutlineMode","text","str","createTextNode","any","index","video","div","img","replace","value","descDiv","sl","statementsMatching","slots","i","length","push","parseInt","object","pIndex","indexOf","nIndex","prev","split","indexDiv","innerHTML","next","tr","exports"],"sources":["../../src/playlist/playlistPane.js"],"sourcesContent":["/* Playlist Pane\n **\n ** This pane allows playlists and playlists slots to be viewed\n ** seeAlso: http://smiy.sourceforge.net/pbo/spec/playbackontology.html\n */\n import * as UI from 'solid-ui'\n import * as $rdf from 'rdflib'\nconst ns = UI.ns\n\nexport default {\n icon: UI.icons.iconBase + 'noun_1619.svg',\n\n name: 'playlistSlot',\n\n audience: [ns.solid('PowerUser')],\n\n label: function (subject, context) {\n const kb = context.session.store\n\n if (\n !kb.anyStatementMatching(\n subject,\n UI.ns.rdf('type'),\n kb.sym('http://purl.org/ontology/pbo/core#PlaylistSlot')\n )\n ) {\n return null\n }\n\n return 'playlist slot'\n },\n\n render: function (subject, context) {\n const myDocument = context.dom\n function isVideo (src, _index) {\n if (!src) {\n return {\n html5: true\n }\n }\n\n const youtube = src.match(\n /\\/\\/(?:www\\.)?youtu(?:\\.be|be\\.com)\\/(?:watch\\?v=|embed\\/)?([a-z0-9\\-_%]+)/i\n )\n const vimeo = src.match(/\\/\\/(?:www\\.)?vimeo.com\\/([0-9a-z\\-_]+)/i)\n const dailymotion = src.match(/\\/\\/(?:www\\.)?dai.ly\\/([0-9a-z\\-_]+)/i)\n const vk = src.match(\n /\\/\\/(?:www\\.)?(?:vk\\.com|vkontakte\\.ru)\\/(?:video_ext\\.php\\?)(.*)/i\n )\n\n if (youtube) {\n return {\n youtube: youtube\n }\n } else if (vimeo) {\n return {\n vimeo: vimeo\n }\n } else if (dailymotion) {\n return {\n dailymotion: dailymotion\n }\n } else if (vk) {\n return {\n vk: vk\n }\n }\n }\n\n const link = function (contents, uri) {\n if (!uri) return contents\n const a = myDocument.createElement('a')\n a.setAttribute('href', uri)\n a.appendChild(contents)\n a.addEventListener('click', UI.widgets.openHrefInOutlineMode, true)\n return a\n }\n\n const text = function (str) {\n return myDocument.createTextNode(str)\n }\n\n const kb = context.session.store\n const obj = kb.any(\n subject,\n $rdf.sym('http://purl.org/ontology/pbo/core#playlist_item')\n )\n let index = kb.any(\n subject,\n $rdf.sym('http://purl.org/ontology/olo/core#index')\n )\n\n let uri = obj.uri\n const video = isVideo(uri)\n\n const div = myDocument.createElement('div')\n let img\n if (video && video.youtube) {\n uri = uri.replace('watch?v=', 'embed/')\n div.setAttribute('class', 'imageView')\n img = myDocument.createElement('IFRAME')\n img.setAttribute('src', uri)\n img.setAttribute('width', 560)\n img.setAttribute('height', 315)\n img.setAttribute('frameborder', 0)\n img.setAttribute('style', 'max-width: 850px; max-height: 100%;')\n img.setAttribute('allowfullscreen', 'true')\n } else {\n div.setAttribute('class', 'imageView')\n img = myDocument.createElement('IMG')\n img.setAttribute('src', obj.value)\n img.setAttribute('width', 560)\n img.setAttribute('height', 315)\n img.setAttribute('style', 'max-width: 560; max-height: 315;')\n }\n\n let descDiv\n if (index) {\n const sl = kb.statementsMatching(\n null,\n $rdf.sym('http://purl.org/ontology/olo/core#index')\n )\n const slots = []\n for (let i = 0; i < sl.length; i++) {\n if (sl[i]) {\n slots.push(parseInt(sl[i].object.value, 10))\n }\n }\n\n index = parseInt(index.value, 10)\n descDiv = myDocument.createElement('div')\n\n const pIndex =\n slots[(slots.indexOf(index) - 1 + slots.length) % slots.length]\n const nIndex =\n slots[(slots.indexOf(index) + 1 + slots.length) % slots.length]\n\n const prev = link(text('<<'), subject.uri.split('#')[0] + '#' + pIndex)\n\n descDiv.appendChild(prev)\n\n const indexDiv = myDocument.createElement('span')\n indexDiv.innerHTML = ' Playlist slot : ' + index + ' '\n\n descDiv.appendChild(indexDiv)\n\n const next = link(text('>>'), subject.uri.split('#')[0] + '#' + nIndex)\n descDiv.appendChild(next)\n }\n\n const tr = myDocument.createElement('TR') // why need tr?\n tr.appendChild(img)\n if (descDiv) {\n tr.appendChild(descDiv)\n }\n div.appendChild(tr)\n return div\n }\n}\n\n// ends\n"],"mappings":"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"}
File without changes
File without changes
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"editProfile.view.js","names":["highlightColor","style","editProfileView","global","icon","icons","iconBase","name","label","render","subject","context","dom","store","session","complainIfBad","ok","mess","div","appendChild","widgets","errorMessageBlock","renderProfileForm","preferencesForm","sym","preferencesFormDoc","doc","holds","undefined","parse","profileFormText","uri","appendForm","editableProfile","createElement","setAttribute","table","main","bottom","statusArea","comment","str","p","textContent","heading","h","profileContext","me","login","ensureLoadedProfile","then","theContext","profile","updater","Error","any","ns","solid","editable","paneDiv","attachmentList","modify","predicate","foaf","noun","error"],"sources":["../../src/profile/editProfile.view.ts"],"sourcesContent":["/**\n * Profile Editing App Pane\n *\n * Unlike view panes, this is available any place whatever the real subject,\n * and allows the user to edit their own profile.\n *\n * Usage: paneRegistry.register('profile/profilePane')\n * or standalone script adding onto existing mashlib.\n */\n\nimport { PaneDefinition } from 'pane-registry'\nimport { NamedNode, parse, Store, sym } from 'rdflib'\nimport { icons, login, ns, style, widgets } from 'solid-ui'\nimport { paneDiv } from './profile.dom'\nimport profileFormText from './profileFormText.ttl'\n\nconst highlightColor = style.highlightColor || '#7C4DFF'\n\nconst editProfileView: PaneDefinition = {\n global: true,\n\n icon: icons.iconBase + 'noun_492246.svg',\n\n name: 'editProfile',\n\n label: () => null,\n\n render: function (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 div.appendChild(widgets.errorMessageBlock(dom, mess, '#fee'))\n }\n\n function renderProfileForm (div: HTMLElement, subject: NamedNode) {\n const preferencesForm = sym('https://solidos.github.io/solid-panes/dashboard/profileStyle.ttl#this')\n const preferencesFormDoc = preferencesForm.doc()\n if (!store.holds(undefined, undefined, undefined, preferencesFormDoc)) {\n // If not loaded already\n parse(profileFormText, store, preferencesFormDoc.uri, 'text/turtle', () => null) // Load form directly\n }\n\n widgets.appendForm(\n dom,\n div,\n {},\n subject,\n preferencesForm,\n editableProfile,\n complainIfBad\n )\n } // renderProfileForm\n\n const div = dom.createElement('div')\n let editableProfile: NamedNode | null\n div.setAttribute('style', `border: 0.3em solid ${highlightColor}; border-radius: 0.5em; padding: 0.7em; margin-top:0.7em;`)\n\n const table = div.appendChild(dom.createElement('table'))\n // const top = table.appendChild(dom.createElement('tr'))\n const main = table.appendChild(dom.createElement('tr'))\n const bottom = table.appendChild(dom.createElement('tr'))\n const statusArea = bottom.appendChild(dom.createElement('div'))\n statusArea.setAttribute('style', 'padding: 0.7em;')\n\n function comment (str: string) {\n const p = main.appendChild(dom.createElement('p'))\n p.setAttribute('style', 'padding: 1em;')\n p.textContent = str\n return p\n }\n\n function heading (str: string) {\n const h = main.appendChild(dom.createElement('h3'))\n h.setAttribute('style', 'color:' + highlightColor + ';')\n h.textContent = str\n return h\n }\n\n const profileContext = {\n dom: dom,\n div: main,\n statusArea: statusArea,\n me: null\n }\n login.ensureLoadedProfile(profileContext)\n .then(theContext => {\n const me = theContext.me!\n\n heading('Edit your public profile')\n\n const profile = me.doc()\n if (!store.updater) {\n throw new Error('Store has no updater')\n }\n if (store.any(me, ns.solid('editableProfile'))) {\n editableProfile = store.any(me as any, ns.solid('editableProfile')) as NamedNode\n } else if (store.updater.editable(profile.uri, store)) {\n editableProfile = profile\n } else {\n statusArea.appendChild(widgets.errorMessageBlock(dom, `⚠️ Your profile ${profile} is not editable, so we cannot do much here.`, 'straw'))\n return\n }\n\n comment(`Everything you put here will be public.\n There will be other places to record private things.`)\n\n heading('Your contact information')\n\n main.appendChild(paneDiv(context, me, 'contact'))\n\n\n heading('People you know who have WebIDs')\n\n comment(`This is your public social network.\n Only put people here to whom you are happy to be publicly connected.\n (You can always keep private track of friends and family in your contacts.)`)\n\n // TODO: would be useful to explain what it means to \"drag people\"\n // what is it that is being dragged?\n // is there a way to search for people (or things to drag) on this page?\n if (editableProfile) {\n comment('Drag people onto the target below to add people.')\n }\n\n widgets.attachmentList(dom, me, main, {\n doc: profile,\n modify: !!editableProfile,\n predicate: ns.foaf('knows'),\n noun: 'friend'\n })\n\n heading('Communities you participate in')\n\n comment(`These are organizations and projects (etc) whose stuff you share`)\n\n // TODO: would be useful to explain what it means to \"drag organizations\"\n // what is it that is being dragged?\n // is there a way to search for people (or things to drag) on this page?\n // Also provide a way of using cut and paste\n if (editableProfile) {\n comment('Drag organizations onto the target below to add organizations.')\n }\n\n widgets.attachmentList(dom, me, main, {\n doc: profile,\n modify: !!editableProfile,\n predicate: ns.solid('community'),\n noun: 'community'\n })\n\n // heading('The style of your public profile') headings are in form now\n renderProfileForm(main, me)\n\n heading('Thank you for filling your profile.')\n }).catch(error => {\n statusArea.appendChild(widgets.errorMessageBlock(dom, error, '#fee'))\n })\n return div\n }\n}\n\nexport default editProfileView\n"],"mappings":"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"}
1
+ {"version":3,"file":"editProfile.view.js","names":["_rdflib","require","_solidUi","_profile","profileFormText","highlightColor","style","editProfileView","global","icon","icons","iconBase","name","label","render","subject","context","dom","store","session","complainIfBad","ok","mess","div","appendChild","widgets","errorMessageBlock","renderProfileForm","preferencesForm","sym","preferencesFormDoc","doc","holds","undefined","parse","uri","appendForm","editableProfile","createElement","setAttribute","concat","table","main","bottom","statusArea","comment","str","p","textContent","heading","h","profileContext","me","login","ensureLoadedProfile","then","theContext","profile","updater","Error","any","ns","solid","editable","paneDiv","attachmentList","modify","predicate","foaf","noun","error","_default","exports"],"sources":["../../src/profile/editProfile.view.ts"],"sourcesContent":["/**\n * Profile Editing App Pane\n *\n * Unlike view panes, this is available any place whatever the real subject,\n * and allows the user to edit their own profile.\n *\n * Usage: paneRegistry.register('profile/profilePane')\n * or standalone script adding onto existing mashlib.\n */\n\nimport { PaneDefinition } from 'pane-registry'\nimport { NamedNode, parse, Store, sym } from 'rdflib'\nimport { icons, login, ns, style, widgets } from 'solid-ui'\nimport { paneDiv } from './profile.dom'\nimport profileFormText from './profileFormText.ttl'\n\nconst highlightColor = style.highlightColor || '#7C4DFF'\n\nconst editProfileView: PaneDefinition = {\n global: true,\n\n icon: icons.iconBase + 'noun_492246.svg',\n\n name: 'editProfile',\n\n label: () => null,\n\n render: function (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 div.appendChild(widgets.errorMessageBlock(dom, mess, '#fee'))\n }\n\n function renderProfileForm (div: HTMLElement, subject: NamedNode) {\n const preferencesForm = sym('https://solidos.github.io/solid-panes/dashboard/profileStyle.ttl#this')\n const preferencesFormDoc = preferencesForm.doc()\n if (!store.holds(undefined, undefined, undefined, preferencesFormDoc)) {\n // If not loaded already\n parse(profileFormText, store, preferencesFormDoc.uri, 'text/turtle', () => null) // Load form directly\n }\n\n widgets.appendForm(\n dom,\n div,\n {},\n subject,\n preferencesForm,\n editableProfile,\n complainIfBad\n )\n } // renderProfileForm\n\n const div = dom.createElement('div')\n let editableProfile: NamedNode | null\n div.setAttribute('style', `border: 0.3em solid ${highlightColor}; border-radius: 0.5em; padding: 0.7em; margin-top:0.7em;`)\n\n const table = div.appendChild(dom.createElement('table'))\n // const top = table.appendChild(dom.createElement('tr'))\n const main = table.appendChild(dom.createElement('tr'))\n const bottom = table.appendChild(dom.createElement('tr'))\n const statusArea = bottom.appendChild(dom.createElement('div'))\n statusArea.setAttribute('style', 'padding: 0.7em;')\n\n function comment (str: string) {\n const p = main.appendChild(dom.createElement('p'))\n p.setAttribute('style', 'padding: 1em;')\n p.textContent = str\n return p\n }\n\n function heading (str: string) {\n const h = main.appendChild(dom.createElement('h3'))\n h.setAttribute('style', 'color:' + highlightColor + ';')\n h.textContent = str\n return h\n }\n\n const profileContext = {\n dom: dom,\n div: main,\n statusArea: statusArea,\n me: null\n }\n login.ensureLoadedProfile(profileContext)\n .then(theContext => {\n const me = theContext.me!\n\n heading('Edit your public profile')\n\n const profile = me.doc()\n if (!store.updater) {\n throw new Error('Store has no updater')\n }\n if (store.any(me, ns.solid('editableProfile'))) {\n editableProfile = store.any(me as any, ns.solid('editableProfile')) as NamedNode\n } else if (store.updater.editable(profile.uri, store)) {\n editableProfile = profile\n } else {\n statusArea.appendChild(widgets.errorMessageBlock(dom, `⚠️ Your profile ${profile} is not editable, so we cannot do much here.`, 'straw'))\n return\n }\n\n comment(`Everything you put here will be public.\n There will be other places to record private things.`)\n\n heading('Your contact information')\n\n main.appendChild(paneDiv(context, me, 'contact'))\n\n\n heading('People you know who have WebIDs')\n\n comment(`This is your public social network.\n Only put people here to whom you are happy to be publicly connected.\n (You can always keep private track of friends and family in your contacts.)`)\n\n // TODO: would be useful to explain what it means to \"drag people\"\n // what is it that is being dragged?\n // is there a way to search for people (or things to drag) on this page?\n if (editableProfile) {\n comment('Drag people onto the target below to add people.')\n }\n\n widgets.attachmentList(dom, me, main, {\n doc: profile,\n modify: !!editableProfile,\n predicate: ns.foaf('knows'),\n noun: 'friend'\n })\n\n heading('Communities you participate in')\n\n comment(`These are organizations and projects (etc) whose stuff you share`)\n\n // TODO: would be useful to explain what it means to \"drag organizations\"\n // what is it that is being dragged?\n // is there a way to search for people (or things to drag) on this page?\n // Also provide a way of using cut and paste\n if (editableProfile) {\n comment('Drag organizations onto the target below to add organizations.')\n }\n\n widgets.attachmentList(dom, me, main, {\n doc: profile,\n modify: !!editableProfile,\n predicate: ns.solid('community'),\n noun: 'community'\n })\n\n // heading('The style of your public profile') headings are in form now\n renderProfileForm(main, me)\n\n heading('Thank you for filling your profile.')\n }).catch(error => {\n statusArea.appendChild(widgets.errorMessageBlock(dom, error, '#fee'))\n })\n return div\n }\n}\n\nexport default editProfileView\n"],"mappings":"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"}
File without changes
File without changes
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"profile.dom.js","names":["paneDiv","context","subject","paneName","view","session","paneRegistry","byName","warning","dom","createElement","innerText","viewContainer","render","setAttribute"],"sources":["../../src/profile/profile.dom.ts"],"sourcesContent":["import { DataBrowserContext } from 'pane-registry'\nimport { NamedNode } from 'rdflib'\n\nexport function paneDiv (\n context: DataBrowserContext,\n subject: NamedNode,\n paneName: string\n): HTMLElement {\n const view = context.session.paneRegistry.byName(paneName)\n if (!view) {\n const warning = context.dom.createElement('div')\n warning.innerText = `Unable to load view: ${paneName}`\n return warning\n }\n const viewContainer = view.render(subject, context)\n viewContainer.setAttribute(\n 'style', 'border: 0.3em solid #444; border-radius: 0.5em'\n )\n return viewContainer\n}\n"],"mappings":";;;;;;AAGO,SAASA,OAAO,CACrBC,OAA2B,EAC3BC,OAAkB,EAClBC,QAAgB,EACH;EACb,IAAMC,IAAI,GAAGH,OAAO,CAACI,OAAO,CAACC,YAAY,CAACC,MAAM,CAACJ,QAAQ,CAAC;EAC1D,IAAI,CAACC,IAAI,EAAE;IACT,IAAMI,OAAO,GAAGP,OAAO,CAACQ,GAAG,CAACC,aAAa,CAAC,KAAK,CAAC;IAChDF,OAAO,CAACG,SAAS,kCAA2BR,QAAQ,CAAE;IACtD,OAAOK,OAAO;EAChB;EACA,IAAMI,aAAa,GAAGR,IAAI,CAACS,MAAM,CAACX,OAAO,EAAED,OAAO,CAAC;EACnDW,aAAa,CAACE,YAAY,CACxB,OAAO,EAAE,gDAAgD,CAC1D;EACD,OAAOF,aAAa;AACtB"}
1
+ {"version":3,"file":"profile.dom.js","names":["paneDiv","context","subject","paneName","view","session","paneRegistry","byName","warning","dom","createElement","innerText","concat","viewContainer","render","setAttribute"],"sources":["../../src/profile/profile.dom.ts"],"sourcesContent":["import { DataBrowserContext } from 'pane-registry'\nimport { NamedNode } from 'rdflib'\n\nexport function paneDiv (\n context: DataBrowserContext,\n subject: NamedNode,\n paneName: string\n): HTMLElement {\n const view = context.session.paneRegistry.byName(paneName)\n if (!view) {\n const warning = context.dom.createElement('div')\n warning.innerText = `Unable to load view: ${paneName}`\n return warning\n }\n const viewContainer = view.render(subject, context)\n viewContainer.setAttribute(\n 'style', 'border: 0.3em solid #444; border-radius: 0.5em'\n )\n return viewContainer\n}\n"],"mappings":";;;;;;AAGO,SAASA,OAAOA,CACrBC,OAA2B,EAC3BC,OAAkB,EAClBC,QAAgB,EACH;EACb,IAAMC,IAAI,GAAGH,OAAO,CAACI,OAAO,CAACC,YAAY,CAACC,MAAM,CAACJ,QAAQ,CAAC;EAC1D,IAAI,CAACC,IAAI,EAAE;IACT,IAAMI,OAAO,GAAGP,OAAO,CAACQ,GAAG,CAACC,aAAa,CAAC,KAAK,CAAC;IAChDF,OAAO,CAACG,SAAS,2BAAAC,MAAA,CAA2BT,QAAQ,CAAE;IACtD,OAAOK,OAAO;EAChB;EACA,IAAMK,aAAa,GAAGT,IAAI,CAACU,MAAM,CAACZ,OAAO,EAAED,OAAO,CAAC;EACnDY,aAAa,CAACE,YAAY,CACxB,OAAO,EAAE,gDAAgD,CAC1D;EACD,OAAOF,aAAa;AACtB"}
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"registerPanes.js","names":["registerPanes","register","profilePane","editProfileView","trustedApplications","dashboardPane","basicPreferences","issuePane","contactsPane","activityStreamsPane","padPane","transactionPane","financialPeriodPane","meetingPane","tabbedPane","longChatPane","shortChatPane","schedulePane","tripPane","imagePane","playListPane","videoPane","audioPane","dokieliPane","folderPane","classInstancePane","slideshowPane","socialPane","humanReadablePane","dataContentPane","sourcePane","n3Pane","RDFXMLPane","formPane","tableViewPane","defaultPane","uiPane","sharingPane","internalPane","homePane"],"sources":["../src/registerPanes.js"],"sourcesContent":["import profilePane from 'profile-pane'\nimport editProfileView from './profile/editProfile.view'\nimport trustedApplications from './trustedApplications/trustedApplications.view'\nimport dashboardPane from './dashboard/dashboardPane'\nimport basicPreferences from './dashboard/basicPreferences'\nimport issuePane from 'issue-pane'\nimport contactsPane from 'contacts-pane'\nimport activityStreamsPane from 'activitystreams-pane'\nimport padPane from './pad/padPane'\n// import argumentPane from './argument/argumentPane.js'\nimport transactionPane from './transaction/pane.js'\nimport financialPeriodPane from './transaction/period.js'\nimport meetingPane from 'meeting-pane'\nimport tabbedPane from './tabbed/tabbedPane'\nimport { longChatPane, shortChatPane } from 'chat-pane'\nimport { schedulePane } from './schedule/schedulePane.js'\n// import publicationPane from './publication/publicationPane.js'\nimport tripPane from './trip/tripPane.js'\nimport { imagePane } from './imagePane.js'\nimport playListPane from './playlist/playlistPane.js'\nimport videoPane from './video/videoPane.js'\nimport audioPane from './audio/audioPane.js'\nimport dokieliPane from './dokieli/dokieliPane.js'\nimport folderPane from 'folder-pane'\nimport { classInstancePane } from './classInstancePane.js'\nimport { slideshowPane } from './slideshow/slideshowPane.js'\nimport { socialPane } from './socialPane.js'\nimport humanReadablePane from './humanReadablePane.js'\n\nimport { dataContentPane } from './dataContentPane.js'\nimport sourcePane from 'source-pane'\nimport { n3Pane } from './n3Pane.js'\nimport { RDFXMLPane } from './RDFXMLPane.js'\nimport { formPane } from './form/pane.js'\nimport { tableViewPane } from './tableViewPane.js'\nimport { defaultPane } from './defaultPane.js'\nimport uiPane from './ui/pane.js'\n\nimport sharingPane from './sharing/sharingPane'\nimport internalPane from './internal/internalPane'\n\nimport homePane from './home/homePane'\n\nexport function registerPanes (register) {\n /* Note that the earliest panes have priority. So the most specific ones are first.\n **\n */\n // Developer designed:\n\n register(profilePane) // View someone's public profile - dominates all other panes.\n register(editProfileView) // Edit my profile. App. 201900802\n\n register(trustedApplications) // must be registered before basicPreferences\n register(dashboardPane)\n register(basicPreferences)\n register(issuePane)\n register(contactsPane)\n register(activityStreamsPane)\n\n register(padPane)\n // register(argumentPane) // A position in an argument tree\n\n register(transactionPane)\n register(financialPeriodPane)\n\n register(meetingPane)\n register(tabbedPane)\n\n register(longChatPane) // Long pane must have prio in case short pane tries to do a long pane\n register(shortChatPane) // was './chat/chatPane.js'\n\n // register(publicationPane) // Suppress for now\n\n register(schedulePane) // doodle poll\n\n register(tripPane)\n // register(require('./airPane.js'))\n\n // Content views\n\n register(imagePane) // Basic image view\n register(playListPane) // Basic playlist view\n\n register(videoPane) // Video clip player\n register(audioPane) // Audio clip player\n\n register(dokieliPane) // Should be above dataContentPane\n register(folderPane) // Should be above dataContentPane\n register(classInstancePane) // Should be above dataContentPane\n // register(require('./dynamic/dynamicPanes.js')) // warp etc warp broken 2017/8\n register(slideshowPane)\n\n register(socialPane)\n\n register(humanReadablePane) // A web page as a web page -- how to escape to tabr?\n // register(require('markdown-pane').Pane) // replaced by markdown in humanReadablePane\n\n register(dataContentPane) // Preferred for a data file\n register(sourcePane) // edit source\n register(n3Pane)\n register(RDFXMLPane)\n\n // User configured - data driven\n register(formPane)\n\n // Generic:\n\n register(tableViewPane)\n\n // Fallback totally generic:\n register(defaultPane)\n\n register(uiPane)\n\n // register(require(\"categoryPane.js\")) // Not useful enough\n // register(require(\"pubsPane.js\")) // not finished\n\n // @@ jambo commented these things out to pare things down temporarily.\n // Note must use // not /* to comment out to make sure expander sees it\n // register(require(\"lawPane.js\"))\n\n // register(require('./microblogPane/microblogPane.js'))\n\n // register(require(\"./social/pane.js\")) // competitor to other social\n // register(require(\"./airPane.js\"))\n // register(require(\"./lawPane.js\"))\n // register(require(\"pushbackPane.js\"))\n // register(require(\"CVPane.js\"))\n // register(require(\"photoPane.js\"))\n // register(require(\"tagPane.js\"))\n // register(require(\"photoImportPane.js\"))\n\n // The sharing pane is fairly generic and administrative 201\n register(sharingPane)\n\n // The internals pane is always (almost?) the last as it is the least user-friendly\n register(internalPane)\n\n register(homePane) // This is a global pane\n\n // ENDS\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAAsC;AAhCtC;;AAOA;;AA2BO,SAASA,aAAa,CAAEC,QAAQ,EAAE;EACvC;AACF;AACA;EACE;;EAEAA,QAAQ,CAACC,uBAAW,CAAC,EAAC;EACtBD,QAAQ,CAACE,uBAAe,CAAC,EAAC;;EAE1BF,QAAQ,CAACG,+BAAmB,CAAC,EAAC;EAC9BH,QAAQ,CAACI,yBAAa,CAAC;EACvBJ,QAAQ,CAACK,4BAAgB,CAAC;EAC1BL,QAAQ,CAACM,qBAAS,CAAC;EACnBN,QAAQ,CAACO,wBAAY,CAAC;EACtBP,QAAQ,CAACQ,+BAAmB,CAAC;EAE7BR,QAAQ,CAACS,mBAAO,CAAC;EACjB;;EAEAT,QAAQ,CAACU,gBAAe,CAAC;EACzBV,QAAQ,CAACW,kBAAmB,CAAC;EAE7BX,QAAQ,CAACY,uBAAW,CAAC;EACrBZ,QAAQ,CAACa,sBAAU,CAAC;EAEpBb,QAAQ,CAACc,sBAAY,CAAC,EAAC;EACvBd,QAAQ,CAACe,uBAAa,CAAC,EAAC;;EAExB;;EAEAf,QAAQ,CAACgB,0BAAY,CAAC,EAAG;;EAEzBhB,QAAQ,CAACiB,oBAAQ,CAAC;EAClB;;EAEA;;EAEAjB,QAAQ,CAACkB,oBAAS,CAAC,EAAC;EACpBlB,QAAQ,CAACmB,wBAAY,CAAC,EAAC;;EAEvBnB,QAAQ,CAACoB,qBAAS,CAAC,EAAC;EACpBpB,QAAQ,CAACqB,qBAAS,CAAC,EAAC;;EAEpBrB,QAAQ,CAACsB,uBAAW,CAAC,EAAC;EACtBtB,QAAQ,CAACuB,sBAAU,CAAC,EAAC;EACrBvB,QAAQ,CAACwB,oCAAiB,CAAC,EAAC;EAC5B;EACAxB,QAAQ,CAACyB,4BAAa,CAAC;EAEvBzB,QAAQ,CAAC0B,sBAAU,CAAC;EAEpB1B,QAAQ,CAAC2B,6BAAiB,CAAC,EAAC;EAC5B;;EAEA3B,QAAQ,CAAC4B,gCAAe,CAAC,EAAC;EAC1B5B,QAAQ,CAAC6B,sBAAU,CAAC,EAAC;EACrB7B,QAAQ,CAAC8B,cAAM,CAAC;EAChB9B,QAAQ,CAAC+B,sBAAU,CAAC;;EAEpB;EACA/B,QAAQ,CAACgC,eAAQ,CAAC;;EAElB;;EAEAhC,QAAQ,CAACiC,4BAAa,CAAC;;EAEvB;EACAjC,QAAQ,CAACkC,wBAAW,CAAC;EAErBlC,QAAQ,CAACmC,iBAAM,CAAC;;EAEhB;EACA;;EAEA;EACA;EACA;;EAEA;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACAnC,QAAQ,CAACoC,uBAAW,CAAC;;EAErB;EACApC,QAAQ,CAACqC,wBAAY,CAAC;EAEtBrC,QAAQ,CAACsC,oBAAQ,CAAC,EAAC;;EAEnB;AACF"}
1
+ {"version":3,"file":"registerPanes.js","names":["_profilePane","_interopRequireDefault","require","_editProfile","_trustedApplications","_dashboardPane","_basicPreferences","_issuePane","_contactsPane","_activitystreamsPane","_padPane","_pane","_period","_meetingPane","_tabbedPane","_chatPane","_schedulePane","_tripPane","_imagePane","_playlistPane","_videoPane","_audioPane","_dokieliPane","_folderPane","_classInstancePane","_slideshowPane","_socialPane","_humanReadablePane","_dataContentPane","_sourcePane","_n3Pane","_RDFXMLPane","_pane2","_tableViewPane","_defaultPane","_pane3","_sharingPane","_internalPane","_homePane","obj","__esModule","registerPanes","register","profilePane","editProfileView","trustedApplications","dashboardPane","basicPreferences","issuePane","contactsPane","activityStreamsPane","padPane","transactionPane","financialPeriodPane","meetingPane","tabbedPane","longChatPane","shortChatPane","schedulePane","tripPane","imagePane","playListPane","videoPane","audioPane","dokieliPane","folderPane","classInstancePane","slideshowPane","socialPane","humanReadablePane","dataContentPane","sourcePane","n3Pane","RDFXMLPane","formPane","tableViewPane","defaultPane","uiPane","sharingPane","internalPane","homePane"],"sources":["../src/registerPanes.js"],"sourcesContent":["import profilePane from 'profile-pane'\nimport editProfileView from './profile/editProfile.view'\nimport trustedApplications from './trustedApplications/trustedApplications.view'\nimport dashboardPane from './dashboard/dashboardPane'\nimport basicPreferences from './dashboard/basicPreferences'\nimport issuePane from 'issue-pane'\nimport contactsPane from 'contacts-pane'\nimport activityStreamsPane from 'activitystreams-pane'\nimport padPane from './pad/padPane'\n// import argumentPane from './argument/argumentPane.js'\nimport transactionPane from './transaction/pane.js'\nimport financialPeriodPane from './transaction/period.js'\nimport meetingPane from 'meeting-pane'\nimport tabbedPane from './tabbed/tabbedPane'\nimport { longChatPane, shortChatPane } from 'chat-pane'\nimport { schedulePane } from './schedule/schedulePane.js'\n// import publicationPane from './publication/publicationPane.js'\nimport tripPane from './trip/tripPane.js'\nimport { imagePane } from './imagePane.js'\nimport playListPane from './playlist/playlistPane.js'\nimport videoPane from './video/videoPane.js'\nimport audioPane from './audio/audioPane.js'\nimport dokieliPane from './dokieli/dokieliPane.js'\nimport folderPane from 'folder-pane'\nimport { classInstancePane } from './classInstancePane.js'\nimport { slideshowPane } from './slideshow/slideshowPane.js'\nimport { socialPane } from './socialPane.js'\nimport humanReadablePane from './humanReadablePane.js'\n\nimport { dataContentPane } from './dataContentPane.js'\nimport sourcePane from 'source-pane'\nimport { n3Pane } from './n3Pane.js'\nimport { RDFXMLPane } from './RDFXMLPane.js'\nimport { formPane } from './form/pane.js'\nimport { tableViewPane } from './tableViewPane.js'\nimport { defaultPane } from './defaultPane.js'\nimport uiPane from './ui/pane.js'\n\nimport sharingPane from './sharing/sharingPane'\nimport internalPane from './internal/internalPane'\n\nimport homePane from './home/homePane'\n\nexport function registerPanes (register) {\n /* Note that the earliest panes have priority. So the most specific ones are first.\n **\n */\n // Developer designed:\n\n register(profilePane) // View someone's public profile - dominates all other panes.\n register(editProfileView) // Edit my profile. App. 201900802\n\n register(trustedApplications) // must be registered before basicPreferences\n register(dashboardPane)\n register(basicPreferences)\n register(issuePane)\n register(contactsPane)\n register(activityStreamsPane)\n\n register(padPane)\n // register(argumentPane) // A position in an argument tree\n\n register(transactionPane)\n register(financialPeriodPane)\n\n register(meetingPane)\n register(tabbedPane)\n\n register(longChatPane) // Long pane must have prio in case short pane tries to do a long pane\n register(shortChatPane) // was './chat/chatPane.js'\n\n // register(publicationPane) // Suppress for now\n\n register(schedulePane) // doodle poll\n\n register(tripPane)\n // register(require('./airPane.js'))\n\n // Content views\n\n register(imagePane) // Basic image view\n register(playListPane) // Basic playlist view\n\n register(videoPane) // Video clip player\n register(audioPane) // Audio clip player\n\n register(dokieliPane) // Should be above dataContentPane\n register(folderPane) // Should be above dataContentPane\n register(classInstancePane) // Should be above dataContentPane\n // register(require('./dynamic/dynamicPanes.js')) // warp etc warp broken 2017/8\n register(slideshowPane)\n\n register(socialPane)\n\n register(humanReadablePane) // A web page as a web page -- how to escape to tabr?\n // register(require('markdown-pane').Pane) // replaced by markdown in humanReadablePane\n\n register(dataContentPane) // Preferred for a data file\n register(sourcePane) // edit source\n register(n3Pane)\n register(RDFXMLPane)\n\n // User configured - data driven\n register(formPane)\n\n // Generic:\n\n register(tableViewPane)\n\n // Fallback totally generic:\n register(defaultPane)\n\n register(uiPane)\n\n // register(require(\"categoryPane.js\")) // Not useful enough\n // register(require(\"pubsPane.js\")) // not finished\n\n // @@ jambo commented these things out to pare things down temporarily.\n // Note must use // not /* to comment out to make sure expander sees it\n // register(require(\"lawPane.js\"))\n\n // register(require('./microblogPane/microblogPane.js'))\n\n // register(require(\"./social/pane.js\")) // competitor to other social\n // register(require(\"./airPane.js\"))\n // register(require(\"./lawPane.js\"))\n // register(require(\"pushbackPane.js\"))\n // register(require(\"CVPane.js\"))\n // register(require(\"photoPane.js\"))\n // register(require(\"tagPane.js\"))\n // register(require(\"photoImportPane.js\"))\n\n // The sharing pane is fairly generic and administrative 201\n register(sharingPane)\n\n // The internals pane is always (almost?) the last as it is the least user-friendly\n register(internalPane)\n\n register(homePane) // This is a global pane\n\n // ENDS\n}\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,oBAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,cAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,iBAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,UAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,aAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,oBAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,QAAA,GAAAT,sBAAA,CAAAC,OAAA;AAEA,IAAAS,KAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,OAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,YAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,WAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,SAAA,GAAAb,OAAA;AACA,IAAAc,aAAA,GAAAd,OAAA;AAEA,IAAAe,SAAA,GAAAhB,sBAAA,CAAAC,OAAA;AACA,IAAAgB,UAAA,GAAAhB,OAAA;AACA,IAAAiB,aAAA,GAAAlB,sBAAA,CAAAC,OAAA;AACA,IAAAkB,UAAA,GAAAnB,sBAAA,CAAAC,OAAA;AACA,IAAAmB,UAAA,GAAApB,sBAAA,CAAAC,OAAA;AACA,IAAAoB,YAAA,GAAArB,sBAAA,CAAAC,OAAA;AACA,IAAAqB,WAAA,GAAAtB,sBAAA,CAAAC,OAAA;AACA,IAAAsB,kBAAA,GAAAtB,OAAA;AACA,IAAAuB,cAAA,GAAAvB,OAAA;AACA,IAAAwB,WAAA,GAAAxB,OAAA;AACA,IAAAyB,kBAAA,GAAA1B,sBAAA,CAAAC,OAAA;AAEA,IAAA0B,gBAAA,GAAA1B,OAAA;AACA,IAAA2B,WAAA,GAAA5B,sBAAA,CAAAC,OAAA;AACA,IAAA4B,OAAA,GAAA5B,OAAA;AACA,IAAA6B,WAAA,GAAA7B,OAAA;AACA,IAAA8B,MAAA,GAAA9B,OAAA;AACA,IAAA+B,cAAA,GAAA/B,OAAA;AACA,IAAAgC,YAAA,GAAAhC,OAAA;AACA,IAAAiC,MAAA,GAAAlC,sBAAA,CAAAC,OAAA;AAEA,IAAAkC,YAAA,GAAAnC,sBAAA,CAAAC,OAAA;AACA,IAAAmC,aAAA,GAAApC,sBAAA,CAAAC,OAAA;AAEA,IAAAoC,SAAA,GAAArC,sBAAA,CAAAC,OAAA;AAAsC,SAAAD,uBAAAsC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAhCtC;;AAOA;;AA2BO,SAASE,aAAaA,CAAEC,QAAQ,EAAE;EACvC;AACF;AACA;EACE;;EAEAA,QAAQ,CAACC,uBAAW,CAAC,EAAC;EACtBD,QAAQ,CAACE,uBAAe,CAAC,EAAC;;EAE1BF,QAAQ,CAACG,+BAAmB,CAAC,EAAC;EAC9BH,QAAQ,CAACI,yBAAa,CAAC;EACvBJ,QAAQ,CAACK,4BAAgB,CAAC;EAC1BL,QAAQ,CAACM,qBAAS,CAAC;EACnBN,QAAQ,CAACO,wBAAY,CAAC;EACtBP,QAAQ,CAACQ,+BAAmB,CAAC;EAE7BR,QAAQ,CAACS,mBAAO,CAAC;EACjB;;EAEAT,QAAQ,CAACU,gBAAe,CAAC;EACzBV,QAAQ,CAACW,kBAAmB,CAAC;EAE7BX,QAAQ,CAACY,uBAAW,CAAC;EACrBZ,QAAQ,CAACa,sBAAU,CAAC;EAEpBb,QAAQ,CAACc,sBAAY,CAAC,EAAC;EACvBd,QAAQ,CAACe,uBAAa,CAAC,EAAC;;EAExB;;EAEAf,QAAQ,CAACgB,0BAAY,CAAC,EAAG;;EAEzBhB,QAAQ,CAACiB,oBAAQ,CAAC;EAClB;;EAEA;;EAEAjB,QAAQ,CAACkB,oBAAS,CAAC,EAAC;EACpBlB,QAAQ,CAACmB,wBAAY,CAAC,EAAC;;EAEvBnB,QAAQ,CAACoB,qBAAS,CAAC,EAAC;EACpBpB,QAAQ,CAACqB,qBAAS,CAAC,EAAC;;EAEpBrB,QAAQ,CAACsB,uBAAW,CAAC,EAAC;EACtBtB,QAAQ,CAACuB,sBAAU,CAAC,EAAC;EACrBvB,QAAQ,CAACwB,oCAAiB,CAAC,EAAC;EAC5B;EACAxB,QAAQ,CAACyB,4BAAa,CAAC;EAEvBzB,QAAQ,CAAC0B,sBAAU,CAAC;EAEpB1B,QAAQ,CAAC2B,6BAAiB,CAAC,EAAC;EAC5B;;EAEA3B,QAAQ,CAAC4B,gCAAe,CAAC,EAAC;EAC1B5B,QAAQ,CAAC6B,sBAAU,CAAC,EAAC;EACrB7B,QAAQ,CAAC8B,cAAM,CAAC;EAChB9B,QAAQ,CAAC+B,sBAAU,CAAC;;EAEpB;EACA/B,QAAQ,CAACgC,eAAQ,CAAC;;EAElB;;EAEAhC,QAAQ,CAACiC,4BAAa,CAAC;;EAEvB;EACAjC,QAAQ,CAACkC,wBAAW,CAAC;EAErBlC,QAAQ,CAACmC,iBAAM,CAAC;;EAEhB;EACA;;EAEA;EACA;EACA;;EAEA;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACAnC,QAAQ,CAACoC,uBAAW,CAAC;;EAErB;EACApC,QAAQ,CAACqC,wBAAY,CAAC;EAEtBrC,QAAQ,CAACsC,oBAAQ,CAAC,EAAC;;EAEnB;AACF"}
File without changes
File without changes
File without changes