solid-ui 2.6.1 → 3.0.0-63a1640

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 (369) hide show
  1. package/LICENSE.md +3 -1
  2. package/README.md +236 -30
  3. package/dist/acl/access-controller.js +238 -0
  4. package/dist/acl/access-controller.js.map +1 -0
  5. package/{lib → dist}/acl/access-groups.d.ts +2 -2
  6. package/{lib → dist}/acl/access-groups.d.ts.map +1 -1
  7. package/dist/acl/access-groups.js +323 -0
  8. package/dist/acl/access-groups.js.map +1 -0
  9. package/dist/acl/acl-control.js +173 -0
  10. package/dist/acl/acl-control.js.map +1 -0
  11. package/dist/acl/acl.js +495 -0
  12. package/dist/acl/acl.js.map +1 -0
  13. package/dist/acl/add-agent-buttons.js +217 -0
  14. package/dist/acl/add-agent-buttons.js.map +1 -0
  15. package/dist/acl/index.js +32 -0
  16. package/dist/acl/index.js.map +1 -0
  17. package/dist/acl/types.js +6 -0
  18. package/dist/acl/types.js.map +1 -0
  19. package/dist/chat/keys.js +106 -0
  20. package/dist/chat/keys.js.map +1 -0
  21. package/dist/chat/signature.js +63 -0
  22. package/dist/chat/signature.js.map +1 -0
  23. package/dist/create/create.js +249 -0
  24. package/dist/create/create.js.map +1 -0
  25. package/dist/create/index.js +5 -0
  26. package/dist/create/index.js.map +1 -0
  27. package/dist/create/types.js +2 -0
  28. package/dist/create/types.js.map +1 -0
  29. package/dist/debug.d.ts.map +1 -0
  30. package/dist/debug.js +13 -0
  31. package/dist/debug.js.map +1 -0
  32. package/dist/footer/index.js +67 -0
  33. package/dist/footer/index.js.map +1 -0
  34. package/dist/header/empty-profile.js +11 -0
  35. package/dist/header/empty-profile.js.map +1 -0
  36. package/dist/header/index.js +260 -0
  37. package/dist/header/index.js.map +1 -0
  38. package/dist/iconBase.js +37 -0
  39. package/dist/iconBase.js.map +1 -0
  40. package/dist/icons/solid_logo.js.map +1 -0
  41. package/{lib → dist}/index.d.ts +7 -9
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/index.js +102 -0
  44. package/dist/index.js.map +1 -0
  45. package/{lib → dist}/log.d.ts.map +1 -1
  46. package/dist/log.js +182 -0
  47. package/dist/log.js.map +1 -0
  48. package/dist/login/login.js +858 -0
  49. package/dist/login/login.js.map +1 -0
  50. package/dist/matrix/index.js +5 -0
  51. package/dist/matrix/index.js.map +1 -0
  52. package/dist/matrix/matrix.js +217 -0
  53. package/dist/matrix/matrix.js.map +1 -0
  54. package/dist/matrix/types.js +2 -0
  55. package/dist/matrix/types.js.map +1 -0
  56. package/dist/media/index.js +6 -0
  57. package/dist/media/index.js.map +1 -0
  58. package/dist/media/media-capture.js +161 -0
  59. package/dist/media/media-capture.js.map +1 -0
  60. package/dist/pad.js +775 -0
  61. package/dist/pad.js.map +1 -0
  62. package/{lib → dist}/participation.d.ts.map +1 -1
  63. package/dist/participation.js +184 -0
  64. package/dist/participation.js.map +1 -0
  65. package/dist/solid-ui.esm.js +25531 -0
  66. package/dist/solid-ui.esm.js.map +1 -0
  67. package/dist/solid-ui.esm.min.js +43 -0
  68. package/dist/solid-ui.esm.min.js.map +1 -0
  69. package/dist/solid-ui.js +23479 -68931
  70. package/dist/solid-ui.js.map +1 -1
  71. package/dist/solid-ui.min.js +40 -2
  72. package/dist/solid-ui.min.js.map +1 -1
  73. package/dist/tabs.js +388 -0
  74. package/dist/tabs.js.map +1 -0
  75. package/{lib → dist}/utils/headerFooterHelpers.d.ts.map +1 -1
  76. package/dist/utils/headerFooterHelpers.js +114 -0
  77. package/dist/utils/headerFooterHelpers.js.map +1 -0
  78. package/dist/utils/keyHelpers/accessData.js +64 -0
  79. package/dist/utils/keyHelpers/accessData.js.map +1 -0
  80. package/dist/utils/keyHelpers/acl.js +74 -0
  81. package/dist/utils/keyHelpers/acl.js.map +1 -0
  82. package/dist/utils/keyHelpers/otherHelpers.js +13 -0
  83. package/dist/utils/keyHelpers/otherHelpers.js.map +1 -0
  84. package/dist/utils/label.js +111 -0
  85. package/dist/utils/label.js.map +1 -0
  86. package/dist/versionInfo.js +30 -0
  87. package/dist/versionInfo.js.map +1 -0
  88. package/dist/widgets/buttons/iconLinks.js +44 -0
  89. package/dist/widgets/buttons/iconLinks.js.map +1 -0
  90. package/dist/widgets/buttons.js +1280 -0
  91. package/dist/widgets/buttons.js.map +1 -0
  92. package/dist/widgets/error.d.ts +14 -0
  93. package/dist/widgets/error.d.ts.map +1 -0
  94. package/dist/widgets/error.js +35 -0
  95. package/dist/widgets/error.js.map +1 -0
  96. package/dist/widgets/forms/autocomplete/autocompleteBar.js +123 -0
  97. package/dist/widgets/forms/autocomplete/autocompleteBar.js.map +1 -0
  98. package/dist/widgets/forms/autocomplete/autocompleteField.js +199 -0
  99. package/dist/widgets/forms/autocomplete/autocompleteField.js.map +1 -0
  100. package/dist/widgets/forms/autocomplete/autocompletePicker.js +256 -0
  101. package/dist/widgets/forms/autocomplete/autocompletePicker.js.map +1 -0
  102. package/dist/widgets/forms/autocomplete/language.js +104 -0
  103. package/dist/widgets/forms/autocomplete/language.js.map +1 -0
  104. package/dist/widgets/forms/autocomplete/publicData.js +460 -0
  105. package/dist/widgets/forms/autocomplete/publicData.js.map +1 -0
  106. package/dist/widgets/forms/basic.js +241 -0
  107. package/dist/widgets/forms/basic.js.map +1 -0
  108. package/dist/widgets/forms/comment.js +46 -0
  109. package/dist/widgets/forms/comment.js.map +1 -0
  110. package/dist/widgets/forms/fieldFunction.js +44 -0
  111. package/dist/widgets/forms/fieldFunction.js.map +1 -0
  112. package/dist/widgets/forms/fieldParams.js +89 -0
  113. package/dist/widgets/forms/fieldParams.js.map +1 -0
  114. package/{lib → dist}/widgets/forms/formStyle.d.ts.map +1 -1
  115. package/dist/widgets/forms/formStyle.js +36 -0
  116. package/dist/widgets/forms/formStyle.js.map +1 -0
  117. package/{lib → dist}/widgets/widgetHelpers.d.ts.map +1 -1
  118. package/{lib → dist}/widgets/widgetHelpers.js +14 -25
  119. package/dist/widgets/widgetHelpers.js.map +1 -0
  120. package/package.json +48 -52
  121. package/dist/789.solid-ui.min.js +0 -1
  122. package/dist/841.solid-ui.min.js +0 -3
  123. package/dist/841.solid-ui.min.js.LICENSE.txt +0 -58
  124. package/dist/841.solid-ui.min.js.map +0 -1
  125. package/dist/_2b19.solid-ui.js +0 -14
  126. package/dist/_2b19.solid-ui.js.map +0 -1
  127. package/dist/index.html +0 -1
  128. package/dist/solid-ui.min.js.LICENSE.txt +0 -57
  129. package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js +0 -12247
  130. package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js.map +0 -1
  131. package/lib/acl/access-controller.js +0 -391
  132. package/lib/acl/access-controller.js.map +0 -1
  133. package/lib/acl/access-groups.js +0 -507
  134. package/lib/acl/access-groups.js.map +0 -1
  135. package/lib/acl/acl-control.js +0 -237
  136. package/lib/acl/acl-control.js.map +0 -1
  137. package/lib/acl/acl.js +0 -517
  138. package/lib/acl/acl.js.map +0 -1
  139. package/lib/acl/add-agent-buttons.js +0 -434
  140. package/lib/acl/add-agent-buttons.js.map +0 -1
  141. package/lib/acl/index.js +0 -39
  142. package/lib/acl/index.js.map +0 -1
  143. package/lib/acl/types.js +0 -6
  144. package/lib/acl/types.js.map +0 -1
  145. package/lib/chat/bookmarks.js +0 -303
  146. package/lib/chat/bookmarks.js.map +0 -1
  147. package/lib/chat/chatLogic.js +0 -420
  148. package/lib/chat/chatLogic.js.map +0 -1
  149. package/lib/chat/dateFolder.js +0 -328
  150. package/lib/chat/dateFolder.js.map +0 -1
  151. package/lib/chat/infinite.js +0 -994
  152. package/lib/chat/infinite.js.map +0 -1
  153. package/lib/chat/keys.js +0 -232
  154. package/lib/chat/keys.js.map +0 -1
  155. package/lib/chat/message.js +0 -715
  156. package/lib/chat/message.js.map +0 -1
  157. package/lib/chat/messageTools.js +0 -538
  158. package/lib/chat/messageTools.js.map +0 -1
  159. package/lib/chat/signature.js +0 -109
  160. package/lib/chat/signature.js.map +0 -1
  161. package/lib/chat/thread.js +0 -535
  162. package/lib/chat/thread.js.map +0 -1
  163. package/lib/create/create.js +0 -242
  164. package/lib/create/create.js.map +0 -1
  165. package/lib/create/index.js +0 -11
  166. package/lib/create/index.js.map +0 -1
  167. package/lib/create/types.js +0 -6
  168. package/lib/create/types.js.map +0 -1
  169. package/lib/debug.d.ts.map +0 -1
  170. package/lib/debug.js +0 -30
  171. package/lib/debug.js.map +0 -1
  172. package/lib/folders.js +0 -132
  173. package/lib/folders.js.map +0 -1
  174. package/lib/footer/index.js +0 -123
  175. package/lib/footer/index.js.map +0 -1
  176. package/lib/header/empty-profile.js +0 -8
  177. package/lib/header/empty-profile.js.map +0 -1
  178. package/lib/header/index.js +0 -375
  179. package/lib/header/index.js.map +0 -1
  180. package/lib/iconBase.js +0 -44
  181. package/lib/iconBase.js.map +0 -1
  182. package/lib/icons/solid_logo.js.map +0 -1
  183. package/lib/index.d.ts.map +0 -1
  184. package/lib/index.js +0 -223
  185. package/lib/index.js.map +0 -1
  186. package/lib/log.js +0 -213
  187. package/lib/log.js.map +0 -1
  188. package/lib/login/login.js +0 -1241
  189. package/lib/login/login.js.map +0 -1
  190. package/lib/matrix/index.js +0 -11
  191. package/lib/matrix/index.js.map +0 -1
  192. package/lib/matrix/matrix.js +0 -216
  193. package/lib/matrix/matrix.js.map +0 -1
  194. package/lib/matrix/types.js +0 -6
  195. package/lib/matrix/types.js.map +0 -1
  196. package/lib/media/index.js +0 -12
  197. package/lib/media/index.js.map +0 -1
  198. package/lib/media/media-capture.js +0 -194
  199. package/lib/media/media-capture.js.map +0 -1
  200. package/lib/messageArea.js +0 -319
  201. package/lib/messageArea.js.map +0 -1
  202. package/lib/noun_Camera_1618446_000000.js +0 -8
  203. package/lib/noun_Camera_1618446_000000.js.map +0 -1
  204. package/lib/ns.js +0 -17
  205. package/lib/ns.js.map +0 -1
  206. package/lib/pad.js +0 -805
  207. package/lib/pad.js.map +0 -1
  208. package/lib/participation.js +0 -219
  209. package/lib/participation.js.map +0 -1
  210. package/lib/preferences.js +0 -215
  211. package/lib/preferences.js.map +0 -1
  212. package/lib/signup/config-default.js +0 -43
  213. package/lib/signup/config-default.js.map +0 -1
  214. package/lib/signup/signup.js +0 -74
  215. package/lib/signup/signup.js.map +0 -1
  216. package/lib/stories/decorators.js +0 -10
  217. package/lib/stories/decorators.js.map +0 -1
  218. package/lib/style.js +0 -158
  219. package/lib/style.js.map +0 -1
  220. package/lib/styleConstants.js +0 -35
  221. package/lib/styleConstants.js.map +0 -1
  222. package/lib/style_multiSelect.js +0 -62
  223. package/lib/style_multiSelect.js.map +0 -1
  224. package/lib/table.js +0 -1573
  225. package/lib/table.js.map +0 -1
  226. package/lib/tabs.js +0 -448
  227. package/lib/tabs.js.map +0 -1
  228. package/lib/typings.d.js +0 -2
  229. package/lib/typings.d.js.map +0 -1
  230. package/lib/utils/headerFooterHelpers.js +0 -165
  231. package/lib/utils/headerFooterHelpers.js.map +0 -1
  232. package/lib/utils/index.js +0 -527
  233. package/lib/utils/index.js.map +0 -1
  234. package/lib/utils/keyHelpers/accessData.js +0 -131
  235. package/lib/utils/keyHelpers/accessData.js.map +0 -1
  236. package/lib/utils/keyHelpers/acl.js +0 -90
  237. package/lib/utils/keyHelpers/acl.js.map +0 -1
  238. package/lib/utils/keyHelpers/otherHelpers.js +0 -21
  239. package/lib/utils/keyHelpers/otherHelpers.js.map +0 -1
  240. package/lib/utils/label.js +0 -103
  241. package/lib/utils/label.js.map +0 -1
  242. package/lib/versionInfo.d.ts +0 -32
  243. package/lib/versionInfo.d.ts.map +0 -1
  244. package/lib/versionInfo.js +0 -37
  245. package/lib/versionInfo.js.map +0 -1
  246. package/lib/widgets/buttons/iconLinks.js +0 -53
  247. package/lib/widgets/buttons/iconLinks.js.map +0 -1
  248. package/lib/widgets/buttons.js +0 -1306
  249. package/lib/widgets/buttons.js.map +0 -1
  250. package/lib/widgets/dragAndDrop.js +0 -194
  251. package/lib/widgets/dragAndDrop.js.map +0 -1
  252. package/lib/widgets/error.d.ts +0 -2
  253. package/lib/widgets/error.d.ts.map +0 -1
  254. package/lib/widgets/error.js +0 -46
  255. package/lib/widgets/error.js.map +0 -1
  256. package/lib/widgets/forms/autocomplete/autocompleteBar.js +0 -271
  257. package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +0 -1
  258. package/lib/widgets/forms/autocomplete/autocompleteField.js +0 -258
  259. package/lib/widgets/forms/autocomplete/autocompleteField.js.map +0 -1
  260. package/lib/widgets/forms/autocomplete/autocompletePicker.js +0 -436
  261. package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +0 -1
  262. package/lib/widgets/forms/autocomplete/language.js +0 -189
  263. package/lib/widgets/forms/autocomplete/language.js.map +0 -1
  264. package/lib/widgets/forms/autocomplete/publicData.js +0 -636
  265. package/lib/widgets/forms/autocomplete/publicData.js.map +0 -1
  266. package/lib/widgets/forms/basic.js +0 -254
  267. package/lib/widgets/forms/basic.js.map +0 -1
  268. package/lib/widgets/forms/comment.js +0 -54
  269. package/lib/widgets/forms/comment.js.map +0 -1
  270. package/lib/widgets/forms/fieldFunction.js +0 -52
  271. package/lib/widgets/forms/fieldFunction.js.map +0 -1
  272. package/lib/widgets/forms/fieldParams.js +0 -77
  273. package/lib/widgets/forms/fieldParams.js.map +0 -1
  274. package/lib/widgets/forms/formStyle.js +0 -44
  275. package/lib/widgets/forms/formStyle.js.map +0 -1
  276. package/lib/widgets/forms.js +0 -2045
  277. package/lib/widgets/forms.js.map +0 -1
  278. package/lib/widgets/index.js +0 -110
  279. package/lib/widgets/index.js.map +0 -1
  280. package/lib/widgets/multiSelect.js +0 -658
  281. package/lib/widgets/multiSelect.js.map +0 -1
  282. package/lib/widgets/peoplePicker.js +0 -467
  283. package/lib/widgets/peoplePicker.js.map +0 -1
  284. package/lib/widgets/widgetHelpers.js.map +0 -1
  285. /package/{lib → dist}/acl/access-controller.d.ts +0 -0
  286. /package/{lib → dist}/acl/access-controller.d.ts.map +0 -0
  287. /package/{lib → dist}/acl/acl-control.d.ts +0 -0
  288. /package/{lib → dist}/acl/acl-control.d.ts.map +0 -0
  289. /package/{lib → dist}/acl/acl.d.ts +0 -0
  290. /package/{lib → dist}/acl/acl.d.ts.map +0 -0
  291. /package/{lib → dist}/acl/add-agent-buttons.d.ts +0 -0
  292. /package/{lib → dist}/acl/add-agent-buttons.d.ts.map +0 -0
  293. /package/{lib → dist}/acl/index.d.ts +0 -0
  294. /package/{lib → dist}/acl/index.d.ts.map +0 -0
  295. /package/{lib → dist}/acl/types.d.ts +0 -0
  296. /package/{lib → dist}/acl/types.d.ts.map +0 -0
  297. /package/{lib → dist}/chat/keys.d.ts +0 -0
  298. /package/{lib → dist}/chat/keys.d.ts.map +0 -0
  299. /package/{lib → dist}/chat/signature.d.ts +0 -0
  300. /package/{lib → dist}/chat/signature.d.ts.map +0 -0
  301. /package/{lib → dist}/create/create.d.ts +0 -0
  302. /package/{lib → dist}/create/create.d.ts.map +0 -0
  303. /package/{lib → dist}/create/index.d.ts +0 -0
  304. /package/{lib → dist}/create/index.d.ts.map +0 -0
  305. /package/{lib → dist}/create/types.d.ts +0 -0
  306. /package/{lib → dist}/create/types.d.ts.map +0 -0
  307. /package/{lib → dist}/debug.d.ts +0 -0
  308. /package/{lib → dist}/footer/index.d.ts +0 -0
  309. /package/{lib → dist}/footer/index.d.ts.map +0 -0
  310. /package/{lib → dist}/header/empty-profile.d.ts +0 -0
  311. /package/{lib → dist}/header/empty-profile.d.ts.map +0 -0
  312. /package/{lib → dist}/header/index.d.ts +0 -0
  313. /package/{lib → dist}/header/index.d.ts.map +0 -0
  314. /package/{lib → dist}/iconBase.d.ts +0 -0
  315. /package/{lib → dist}/iconBase.d.ts.map +0 -0
  316. /package/{lib → dist}/icons/solid_logo.d.ts +0 -0
  317. /package/{lib → dist}/icons/solid_logo.d.ts.map +0 -0
  318. /package/{lib → dist}/icons/solid_logo.js +0 -0
  319. /package/{lib → dist}/log.d.ts +0 -0
  320. /package/{lib → dist}/login/login.d.ts +0 -0
  321. /package/{lib → dist}/login/login.d.ts.map +0 -0
  322. /package/{lib → dist}/matrix/index.d.ts +0 -0
  323. /package/{lib → dist}/matrix/index.d.ts.map +0 -0
  324. /package/{lib → dist}/matrix/matrix.d.ts +0 -0
  325. /package/{lib → dist}/matrix/matrix.d.ts.map +0 -0
  326. /package/{lib → dist}/matrix/types.d.ts +0 -0
  327. /package/{lib → dist}/matrix/types.d.ts.map +0 -0
  328. /package/{lib → dist}/media/index.d.ts +0 -0
  329. /package/{lib → dist}/media/index.d.ts.map +0 -0
  330. /package/{lib → dist}/media/media-capture.d.ts +0 -0
  331. /package/{lib → dist}/media/media-capture.d.ts.map +0 -0
  332. /package/{lib → dist}/pad.d.ts +0 -0
  333. /package/{lib → dist}/pad.d.ts.map +0 -0
  334. /package/{lib → dist}/participation.d.ts +0 -0
  335. /package/{lib → dist}/tabs.d.ts +0 -0
  336. /package/{lib → dist}/tabs.d.ts.map +0 -0
  337. /package/{lib → dist}/utils/headerFooterHelpers.d.ts +0 -0
  338. /package/{lib → dist}/utils/keyHelpers/accessData.d.ts +0 -0
  339. /package/{lib → dist}/utils/keyHelpers/accessData.d.ts.map +0 -0
  340. /package/{lib → dist}/utils/keyHelpers/acl.d.ts +0 -0
  341. /package/{lib → dist}/utils/keyHelpers/acl.d.ts.map +0 -0
  342. /package/{lib → dist}/utils/keyHelpers/otherHelpers.d.ts +0 -0
  343. /package/{lib → dist}/utils/keyHelpers/otherHelpers.d.ts.map +0 -0
  344. /package/{lib → dist}/utils/label.d.ts +0 -0
  345. /package/{lib → dist}/utils/label.d.ts.map +0 -0
  346. /package/{lib → dist}/widgets/buttons/iconLinks.d.ts +0 -0
  347. /package/{lib → dist}/widgets/buttons/iconLinks.d.ts.map +0 -0
  348. /package/{lib → dist}/widgets/buttons.d.ts +0 -0
  349. /package/{lib → dist}/widgets/buttons.d.ts.map +0 -0
  350. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteBar.d.ts +0 -0
  351. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteBar.d.ts.map +0 -0
  352. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteField.d.ts +0 -0
  353. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteField.d.ts.map +0 -0
  354. /package/{lib → dist}/widgets/forms/autocomplete/autocompletePicker.d.ts +0 -0
  355. /package/{lib → dist}/widgets/forms/autocomplete/autocompletePicker.d.ts.map +0 -0
  356. /package/{lib → dist}/widgets/forms/autocomplete/language.d.ts +0 -0
  357. /package/{lib → dist}/widgets/forms/autocomplete/language.d.ts.map +0 -0
  358. /package/{lib → dist}/widgets/forms/autocomplete/publicData.d.ts +0 -0
  359. /package/{lib → dist}/widgets/forms/autocomplete/publicData.d.ts.map +0 -0
  360. /package/{lib → dist}/widgets/forms/basic.d.ts +0 -0
  361. /package/{lib → dist}/widgets/forms/basic.d.ts.map +0 -0
  362. /package/{lib → dist}/widgets/forms/comment.d.ts +0 -0
  363. /package/{lib → dist}/widgets/forms/comment.d.ts.map +0 -0
  364. /package/{lib → dist}/widgets/forms/fieldFunction.d.ts +0 -0
  365. /package/{lib → dist}/widgets/forms/fieldFunction.d.ts.map +0 -0
  366. /package/{lib → dist}/widgets/forms/fieldParams.d.ts +0 -0
  367. /package/{lib → dist}/widgets/forms/fieldParams.d.ts.map +0 -0
  368. /package/{lib → dist}/widgets/forms/formStyle.d.ts +0 -0
  369. /package/{lib → dist}/widgets/widgetHelpers.d.ts +0 -0
@@ -1,994 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.desktopNotification = desktopNotification;
9
- exports.infiniteMessageArea = infiniteMessageArea;
10
- exports.insertMessageIntoTable = insertMessageIntoTable;
11
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
12
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
- var $rdf = _interopRequireWildcard(require("rdflib"));
14
- var _solidLogic = require("solid-logic");
15
- var debug = _interopRequireWildcard(require("../debug"));
16
- var _iconBase = require("../iconBase");
17
- var ns = _interopRequireWildcard(require("../ns"));
18
- var widgets = _interopRequireWildcard(require("../widgets"));
19
- var _chatLogic = require("./chatLogic");
20
- var _message = require("./message");
21
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t4 in e) "default" !== _t4 && {}.hasOwnProperty.call(e, _t4) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t4)) && (i.get || i.set) ? o(f, _t4, i) : f[_t4] = e[_t4]); return f; })(e, t); }
22
- function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
23
- function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
24
- function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } /**
25
- * Contains the [[infiniteMessageArea]] class
26
- * @packageDocumentation
27
- */ // import { findBookmarkDocument } from './bookmarks'
28
- // pull in first avoid cross-refs
29
- // import * as style from '../style'
30
- // import * as utils from '../utils'
31
- // import * as pad from '../pad'
32
- // import { DateFolder } from './dateFolder'
33
- // const UI = { authn, icons, ns, media, pad, $rdf, store, style, utils, widgets }
34
-
35
- function desktopNotification(str) {
36
- // Let's check if the browser supports notifications
37
- if (!('Notification' in window)) {
38
- debug.warn('This browser does no t support desktop notification');
39
- } else if (Notification.permission === 'granted') {
40
- // Let's check whether notificatio n permissions have already been granted
41
- // eslint-disable-next-line no-new
42
- new Notification(str);
43
- } else if (Notification.permission !== 'denied') {
44
- // Otherwise, we need to ask the user for permission
45
- Notification.requestPermission().then(function (permission) {
46
- // If the user accepts, let's create a notification
47
- if (permission === 'granted') {
48
- // eslint-disable-next-line no-new
49
- new Notification(str);
50
- }
51
- });
52
- }
53
- // At last, if the user has denied notifications, and you
54
- // want to be respectful there is no need to bother them any more.
55
- }
56
-
57
- /**
58
- * Renders a chat message inside a `messageTable`
59
- */
60
- function insertMessageIntoTable(_x, _x2, _x3, _x4, _x5, _x6) {
61
- return _insertMessageIntoTable.apply(this, arguments);
62
- }
63
- /**
64
- * Common code for a chat (discussion area of messages about something)
65
- * This version runs over a series of files for different time periods
66
- *
67
- * Parameters for the whole chat like its title are stored on
68
- * index.ttl#this and the chats messages are stored in YYYY/MM/DD/chat.ttl
69
- *
70
- * Use to import store as param 2, now ignores it and uses the UI main store
71
- *
72
- * Options include:
73
-
74
- - shiftEnterSendsMessage: Use shift/enter to send message, Enter to add newline, instead of the reverse.
75
- - authorDateOnLeft: Display the author's anme and date of the message in the left column instead of first above the content
76
- - selectedMessage: Display one message highlighted with the chat around it
77
- - solo: By itelf on a webpage, so user scroll anywhere in the web page scan scroll the chat.
78
- - newestFirst: Arrange the chat messages chronologically newest at the top insted of at the bottom
79
- - infinite: Use infinite scroll
80
- - showDeletedMessages: Show messages which have been delted as "deleted message". Otherwise hide them.
81
- - expandImagesInline: If a URI by itself in a message looks like an image URI, replace it with the image
82
- - inlineImageHeightEms: The height (in ems) of images expaned from their URIs in the chat.
83
-
84
- */
85
- function _insertMessageIntoTable() {
86
- _insertMessageIntoTable = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(channelObject, messageTable, message, fresh, options, userContext) {
87
- var messageRow, done, ele, newestFirst, dateString;
88
- return _regenerator["default"].wrap(function (_context) {
89
- while (1) switch (_context.prev = _context.next) {
90
- case 0:
91
- _context.next = 1;
92
- return (0, _message.renderMessageRow)(channelObject, message, fresh, options, userContext);
93
- case 1:
94
- messageRow = _context.sent;
95
- // const message = messageRow.AJAR_subject
96
- if (options.selectedMessage && options.selectedMessage.sameTerm(message)) {
97
- messageRow.style.backgroundColor = 'yellow';
98
- options.selectedElement = messageRow;
99
- messageTable.selectedElement = messageRow;
100
- }
101
- done = false;
102
- ele = messageTable.firstChild;
103
- case 2:
104
- if (ele) {
105
- _context.next = 3;
106
- break;
107
- }
108
- return _context.abrupt("continue", 5);
109
- case 3:
110
- newestFirst = options.newestfirst === true;
111
- dateString = messageRow.AJAR_date;
112
- if (!(dateString > ele.AJAR_date && newestFirst || dateString < ele.AJAR_date && !newestFirst)) {
113
- _context.next = 4;
114
- break;
115
- }
116
- messageTable.insertBefore(messageRow, ele);
117
- done = true;
118
- return _context.abrupt("continue", 5);
119
- case 4:
120
- ele = ele.nextSibling;
121
- _context.next = 2;
122
- break;
123
- case 5:
124
- if (!done) {
125
- messageTable.appendChild(messageRow);
126
- }
127
- case 6:
128
- case "end":
129
- return _context.stop();
130
- }
131
- }, _callee);
132
- }));
133
- return _insertMessageIntoTable.apply(this, arguments);
134
- }
135
- function infiniteMessageArea(_x7, _x8, _x9, _x0) {
136
- return _infiniteMessageArea.apply(this, arguments);
137
- }
138
- function _infiniteMessageArea() {
139
- _infiniteMessageArea = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee13(dom, wasStore, chatChannel, options) {
140
- var syncMessages, _syncMessages, addMessage, _addMessage, insertPreviousMessages, _insertPreviousMessages, removePreviousMessages, createMessageTable, _createMessageTable, renderMessageTable, _renderMessageTable, addNewChatDocumentIfNewDay, _addNewChatDocumentIfNewDay, appendCurrentMessages, _appendCurrentMessages, loadMoreWhereNeeded, _loadMoreWhereNeeded, loadInitialContent, _loadInitialContent, newestFirst, channelObject, dateFolder, div, statusArea, userContext, liveMessageTable, threadRootMessage, earliest, latest, thread, threadTime, lock;
141
- return _regenerator["default"].wrap(function (_context13) {
142
- while (1) switch (_context13.prev = _context13.next) {
143
- case 0:
144
- _loadInitialContent = function _loadInitialContent3() {
145
- _loadInitialContent = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee12() {
146
- var yank, fixScroll, live, selectedDocument, threadRootDocument, initialDocment, now, todayDocument, selectedMessageTable, selectedDate;
147
- return _regenerator["default"].wrap(function (_context12) {
148
- while (1) switch (_context12.prev = _context12.next) {
149
- case 0:
150
- fixScroll = function _fixScroll() {
151
- if (options.selectedElement) {
152
- options.selectedElement.scrollIntoView({
153
- block: 'center'
154
- }); // align tops or bottoms
155
- } else {
156
- if (liveMessageTable.inputRow.scrollIntoView) {
157
- liveMessageTable.inputRow.scrollIntoView(newestFirst); // align tops or bottoms
158
- }
159
- }
160
- };
161
- yank = function _yank() {
162
- if (selectedMessageTable && selectedMessageTable.selectedElement) {
163
- selectedMessageTable.selectedElement.scrollIntoView({
164
- block: 'center'
165
- });
166
- }
167
- }; // During initial load ONLY keep scroll to selected thing or bottom
168
- if (options.selectedMessage) {
169
- selectedDocument = options.selectedMessage.doc();
170
- }
171
- if (threadRootMessage) {
172
- threadRootDocument = threadRootMessage.doc();
173
- }
174
- initialDocment = selectedDocument || threadRootDocument;
175
- if (initialDocment) {
176
- now = new Date();
177
- todayDocument = dateFolder.leafDocumentFromDate(now);
178
- live = todayDocument.sameTerm(initialDocment);
179
- }
180
- if (!(initialDocment && !live)) {
181
- _context12.next = 2;
182
- break;
183
- }
184
- selectedDate = dateFolder.dateFromLeafDocument(initialDocment);
185
- _context12.next = 1;
186
- return createMessageTable(selectedDate, live);
187
- case 1:
188
- selectedMessageTable = _context12.sent;
189
- div.appendChild(selectedMessageTable);
190
- earliest.messageTable = selectedMessageTable;
191
- latest.messageTable = selectedMessageTable;
192
- yank();
193
- setTimeout(yank, 1000); // @@ kludge - restore position distubed by other cHANGES
194
- _context12.next = 4;
195
- break;
196
- case 2:
197
- _context12.next = 3;
198
- return appendCurrentMessages();
199
- case 3:
200
- earliest.messageTable = liveMessageTable;
201
- latest.messageTable = liveMessageTable;
202
- case 4:
203
- _context12.next = 5;
204
- return loadMoreWhereNeeded(null, fixScroll);
205
- case 5:
206
- div.addEventListener('scroll', loadMoreWhereNeeded);
207
- if (options.solo) {
208
- document.body.addEventListener('scroll', loadMoreWhereNeeded);
209
- }
210
- case 6:
211
- case "end":
212
- return _context12.stop();
213
- }
214
- }, _callee12);
215
- }));
216
- return _loadInitialContent.apply(this, arguments);
217
- };
218
- loadInitialContent = function _loadInitialContent2() {
219
- return _loadInitialContent.apply(this, arguments);
220
- };
221
- _loadMoreWhereNeeded = function _loadMoreWhereNeeded3() {
222
- _loadMoreWhereNeeded = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee11(event, fixScroll) {
223
- var freeze, magicZone, done, scrollBottom, scrollTop;
224
- return _regenerator["default"].wrap(function (_context11) {
225
- while (1) switch (_context11.prev = _context11.next) {
226
- case 0:
227
- if (!lock) {
228
- _context11.next = 1;
229
- break;
230
- }
231
- return _context11.abrupt("return");
232
- case 1:
233
- lock = true;
234
- freeze = !fixScroll;
235
- magicZone = 150; // const top = div.scrollTop
236
- // const bottom = div.scrollHeight - top - div.clientHeight
237
- case 2:
238
- if (!(div.scrollTop < magicZone && earliest.messageTable && !earliest.messageTable.initial && earliest.messageTable.extendBackwards)) {
239
- _context11.next = 6;
240
- break;
241
- }
242
- if (!(div.scrollHeight === 0)) {
243
- _context11.next = 3;
244
- break;
245
- }
246
- // debug.log(' chat/loadMoreWhereNeeded: trying later...')
247
- setTimeout(loadMoreWhereNeeded, 2000); // couple be less
248
- lock = false;
249
- return _context11.abrupt("return");
250
- case 3:
251
- // debug.log(' chat/loadMoreWhereNeeded: Going now')
252
- scrollBottom = div.scrollHeight - div.scrollTop; // debug.log('infinite scroll: adding above: top ' + div.scrollTop)
253
- _context11.next = 4;
254
- return earliest.messageTable.extendBackwards();
255
- case 4:
256
- done = _context11.sent;
257
- if (freeze) {
258
- div.scrollTop = div.scrollHeight - scrollBottom;
259
- }
260
- if (fixScroll) fixScroll();
261
- if (!done) {
262
- _context11.next = 5;
263
- break;
264
- }
265
- return _context11.abrupt("continue", 6);
266
- case 5:
267
- _context11.next = 2;
268
- break;
269
- case 6:
270
- if (!(options.selectedMessage &&
271
- // we started in the middle not at the bottom
272
- div.scrollHeight - div.scrollTop - div.clientHeight < magicZone &&
273
- // we are scrolled right to the bottom
274
- latest.messageTable && !latest.messageTable["final"] &&
275
- // there is more data to come
276
- latest.messageTable.extendForwards)) {
277
- _context11.next = 9;
278
- break;
279
- }
280
- scrollTop = div.scrollTop;
281
- /* debug.log(
282
- 'infinite scroll: adding below: bottom: ' +
283
- (div.scrollHeight - div.scrollTop - div.clientHeight)
284
- ) */
285
- _context11.next = 7;
286
- return latest.messageTable.extendForwards();
287
- case 7:
288
- done = _context11.sent;
289
- // then add more data on the bottom
290
- if (freeze) {
291
- div.scrollTop = scrollTop; // while adding below keep same things in view
292
- }
293
- if (fixScroll) fixScroll();
294
- if (!done) {
295
- _context11.next = 8;
296
- break;
297
- }
298
- return _context11.abrupt("continue", 9);
299
- case 8:
300
- _context11.next = 6;
301
- break;
302
- case 9:
303
- lock = false;
304
- case 10:
305
- case "end":
306
- return _context11.stop();
307
- }
308
- }, _callee11);
309
- }));
310
- return _loadMoreWhereNeeded.apply(this, arguments);
311
- };
312
- loadMoreWhereNeeded = function _loadMoreWhereNeeded2(_x18, _x19) {
313
- return _loadMoreWhereNeeded.apply(this, arguments);
314
- };
315
- _appendCurrentMessages = function _appendCurrentMessage2() {
316
- _appendCurrentMessages = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee10() {
317
- var now, chatDocument, messageTable;
318
- return _regenerator["default"].wrap(function (_context10) {
319
- while (1) switch (_context10.prev = _context10.next) {
320
- case 0:
321
- now = new Date();
322
- chatDocument = dateFolder.leafDocumentFromDate(now); /// ///////////////////////////////////////////////////////////
323
- _context10.next = 1;
324
- return createMessageTable(now, true);
325
- case 1:
326
- messageTable = _context10.sent;
327
- div.appendChild(messageTable);
328
- div.refresh = /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee1() {
329
- return _regenerator["default"].wrap(function (_context1) {
330
- while (1) switch (_context1.prev = _context1.next) {
331
- case 0:
332
- _context1.next = 1;
333
- return addNewChatDocumentIfNewDay(new Date());
334
- case 1:
335
- _context1.next = 2;
336
- return syncMessages(chatChannel, messageTable);
337
- case 2:
338
- // @@ livemessagetable??
339
- desktopNotification(chatChannel);
340
- case 3:
341
- case "end":
342
- return _context1.stop();
343
- }
344
- }, _callee1);
345
- })); // The short chat version the live update listening is done in the pane but we do it in the widget @@
346
- _solidLogic.store.updater.addDownstreamChangeListener(chatDocument, div.refresh); // Live update
347
- liveMessageTable = messageTable;
348
- latest.messageTable = liveMessageTable;
349
- return _context10.abrupt("return", messageTable);
350
- case 2:
351
- case "end":
352
- return _context10.stop();
353
- }
354
- }, _callee10);
355
- }));
356
- return _appendCurrentMessages.apply(this, arguments);
357
- };
358
- appendCurrentMessages = function _appendCurrentMessage() {
359
- return _appendCurrentMessages.apply(this, arguments);
360
- };
361
- _addNewChatDocumentIfNewDay = function _addNewChatDocumentIf2() {
362
- _addNewChatDocumentIfNewDay = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee0() {
363
- var newChatDocument, oldChatDocument, sts;
364
- return _regenerator["default"].wrap(function (_context0) {
365
- while (1) switch (_context0.prev = _context0.next) {
366
- case 0:
367
- // @@ Remove listener from previous table as it is now static
368
- newChatDocument = dateFolder.leafDocumentFromDate(new Date());
369
- if (newChatDocument.sameTerm(latest.messageTable.chatDocument)) {
370
- _context0.next = 2;
371
- break;
372
- }
373
- // It is a new day
374
- if (liveMessageTable.inputRow) {
375
- liveMessageTable.removeChild(liveMessageTable.inputRow);
376
- delete liveMessageTable.inputRow;
377
- }
378
- oldChatDocument = latest.messageTable.chatDocument;
379
- _context0.next = 1;
380
- return appendCurrentMessages();
381
- case 1:
382
- // Adding a link in the document will ping listeners to add the new block too
383
- if (!_solidLogic.store.holds(oldChatDocument, ns.rdfs('seeAlso'), newChatDocument, oldChatDocument)) {
384
- sts = [$rdf.st(oldChatDocument, ns.rdfs('seeAlso'), newChatDocument, oldChatDocument)];
385
- try {
386
- _solidLogic.store.updater.update([], sts);
387
- } catch (err) {
388
- alert('Unable to link old chat file to new one:' + err);
389
- }
390
- }
391
- case 2:
392
- case "end":
393
- return _context0.stop();
394
- }
395
- }, _callee0);
396
- }));
397
- return _addNewChatDocumentIfNewDay.apply(this, arguments);
398
- };
399
- addNewChatDocumentIfNewDay = function _addNewChatDocumentIf() {
400
- return _addNewChatDocumentIfNewDay.apply(this, arguments);
401
- };
402
- _renderMessageTable = function _renderMessageTable3() {
403
- _renderMessageTable = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee9(date, live) {
404
- var scrollBackbutton, scrollForwardButton, extendBackwards, _extendBackwards, setScrollBackbuttonIcon, extendForwards, _extendForwards, setScrollForwardButtonIcon, scrollForwardButtonHandler, _scrollForwardButtonHandler, messageTable, chatDocument, tr, test, titleTR, scrollBackbuttonCell, dateCell, scrollForwardButtonCell, sts, _iterator2, _step2, st, _t3;
405
- return _regenerator["default"].wrap(function (_context9) {
406
- while (1) switch (_context9.prev = _context9.next) {
407
- case 0:
408
- _scrollForwardButtonHandler = function _scrollForwardButtonH2() {
409
- _scrollForwardButtonHandler = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee8(_event) {
410
- return _regenerator["default"].wrap(function (_context8) {
411
- while (1) switch (_context8.prev = _context8.next) {
412
- case 0:
413
- if (!messageTable.extendedForwards) {
414
- _context8.next = 1;
415
- break;
416
- }
417
- removePreviousMessages(false, messageTable);
418
- messageTable.extendedForwards = false;
419
- setScrollForwardButtonIcon();
420
- _context8.next = 3;
421
- break;
422
- case 1:
423
- _context8.next = 2;
424
- return extendForwards();
425
- case 2:
426
- // async
427
- latest.messageTable.scrollIntoView(newestFirst);
428
- case 3:
429
- case "end":
430
- return _context8.stop();
431
- }
432
- }, _callee8);
433
- }));
434
- return _scrollForwardButtonHandler.apply(this, arguments);
435
- };
436
- scrollForwardButtonHandler = function _scrollForwardButtonH(_x20) {
437
- return _scrollForwardButtonHandler.apply(this, arguments);
438
- };
439
- setScrollForwardButtonIcon = function _setScrollForwardButt() {
440
- if (!scrollForwardButton) return;
441
- var sense = messageTable.extendedForwards ? !newestFirst : newestFirst; // noun_T-Block_1114657_000000.svg
442
- var scrollForwardIcon = messageTable["final"] ? 'noun_T-Block_1114657_000000.svg' : getScrollForwardButtonIcon(sense);
443
- scrollForwardButton.firstChild.setAttribute('src', _iconBase.icons.iconBase + scrollForwardIcon);
444
- function getScrollForwardButtonIcon(sense) {
445
- return !sense ? 'noun_1369241.svg' : 'noun_1369237.svg';
446
- }
447
- };
448
- _extendForwards = function _extendForwards3() {
449
- _extendForwards = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee7() {
450
- var done;
451
- return _regenerator["default"].wrap(function (_context7) {
452
- while (1) switch (_context7.prev = _context7.next) {
453
- case 0:
454
- _context7.next = 1;
455
- return insertPreviousMessages(false);
456
- case 1:
457
- done = _context7.sent;
458
- return _context7.abrupt("return", done);
459
- case 2:
460
- case "end":
461
- return _context7.stop();
462
- }
463
- }, _callee7);
464
- }));
465
- return _extendForwards.apply(this, arguments);
466
- };
467
- extendForwards = function _extendForwards2() {
468
- return _extendForwards.apply(this, arguments);
469
- };
470
- setScrollBackbuttonIcon = function _setScrollBackbuttonI() {
471
- if (!scrollBackbutton) {
472
- return;
473
- }
474
- var sense = messageTable.extendedBack ? !newestFirst : newestFirst;
475
- var scrollBackIcon = messageTable.initial ? 'noun_T-Block_1114655_000000.svg' : getScrollbackIcon(sense);
476
- scrollBackbutton.firstChild.setAttribute('src', _iconBase.icons.iconBase + scrollBackIcon);
477
- function getScrollbackIcon(sense) {
478
- return sense ? 'noun_1369241.svg' : 'noun_1369237.svg';
479
- }
480
- };
481
- _extendBackwards = function _extendBackwards3() {
482
- _extendBackwards = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee6() {
483
- var done;
484
- return _regenerator["default"].wrap(function (_context6) {
485
- while (1) switch (_context6.prev = _context6.next) {
486
- case 0:
487
- _context6.next = 1;
488
- return insertPreviousMessages(true);
489
- case 1:
490
- done = _context6.sent;
491
- if (done) {
492
- if (scrollBackbutton) {
493
- scrollBackbutton.firstChild.setAttribute('src', _iconBase.icons.iconBase + 'noun_T-Block_1114655_000000.svg'); // T
494
- scrollBackbutton.disabled = true;
495
- }
496
- messageTable.initial = true;
497
- } else {
498
- messageTable.extendedBack = true;
499
- }
500
- setScrollBackbuttonIcon();
501
- return _context6.abrupt("return", done);
502
- case 2:
503
- case "end":
504
- return _context6.stop();
505
- }
506
- }, _callee6);
507
- }));
508
- return _extendBackwards.apply(this, arguments);
509
- };
510
- extendBackwards = function _extendBackwards2() {
511
- return _extendBackwards.apply(this, arguments);
512
- };
513
- scrollBackbutton = null; // was let
514
- scrollForwardButton = null; // was let
515
- /// ///////////////// Scroll down adding more above
516
- /// ////////////// Scroll up adding more below
517
- /// ///////////////////////
518
- /*
519
- options = options || {}
520
- options.authorDateOnLeft = true
521
- const newestFirst = options.newestFirst === '1' || options.newestFirst === true // hack for now
522
- const channelObject = new ChatChannel(chatChannel, options)
523
- const dateFolder = channelObject.dateFolder
524
- const div = dom.createElement('div')
525
- const statusArea = div.appendChild(dom.createElement('div'))
526
- const userContext = { dom, statusArea, div: statusArea } // logged on state, pointers to user's stuff
527
- */
528
- // debug.log('Options for called message Area', options)
529
- messageTable = dom.createElement('table');
530
- messageTable.style.width = '100%'; // fill the pane div
531
- messageTable.extendBackwards = extendBackwards; // Make function available to scroll stuff
532
- messageTable.extendForwards = extendForwards; // Make function available to scroll stuff
533
-
534
- messageTable.date = date;
535
- chatDocument = dateFolder.leafDocumentFromDate(date);
536
- messageTable.chatDocument = chatDocument;
537
- messageTable.fresh = false;
538
- messageTable.setAttribute('style', 'width: 100%;'); // fill that div!
539
- if (live) {
540
- messageTable["final"] = true;
541
- liveMessageTable = messageTable;
542
- latest.messageTable = messageTable;
543
- tr = (0, _message.renderMessageEditor)(channelObject, messageTable, userContext, options);
544
- if (newestFirst) {
545
- messageTable.insertBefore(tr, messageTable.firstChild); // If newestFirst
546
- } else {
547
- messageTable.appendChild(tr); // not newestFirst
548
- }
549
- messageTable.inputRow = tr;
550
- }
551
-
552
- /// ///// Infinite scroll
553
- //
554
- // @@ listen for swipe past end event not just button
555
- test = true;
556
- if (test) {
557
- // ws options.infinite but need for non-infinite
558
- titleTR = dom.createElement('tr');
559
- scrollBackbuttonCell = titleTR.appendChild(dom.createElement('td')); // up traingles: noun_1369237.svg
560
- // down triangles: noun_1369241.svg
561
- /*
562
- const scrollBackIcon = newestFirst
563
- ? 'noun_1369241.svg'
564
- : 'noun_1369237.svg' // down and up arrows respoctively
565
- scrollBackbutton = widgets.button(
566
- dom,
567
- icons.iconBase + scrollBackIcon,
568
- 'Previous messages ...'
569
- )
570
- scrollBackbuttonCell.style = 'width:3em; height:3em;'
571
- scrollBackbutton.addEventListener('click', scrollBackbuttonHandler, false)
572
- messageTable.extendedBack = false
573
- scrollBackbuttonCell.appendChild(scrollBackbutton)
574
- setScrollBackbuttonIcon()
575
- */
576
- dateCell = titleTR.appendChild(dom.createElement('td'));
577
- dateCell.style = 'text-align: center; vertical-align: middle; color: #888; font-style: italic;';
578
- dateCell.textContent = widgets.shortDate(date.toISOString(), true); // no time, only date
579
-
580
- // @@@@@@@@@@@ todo move this button to other end of message cell, o
581
- scrollForwardButtonCell = titleTR.appendChild(dom.createElement('td'));
582
- if (options.includeRemoveButton) {
583
- scrollForwardButtonCell.appendChild(widgets.cancelButton(dom, function (_e) {
584
- div.parentNode.removeChild(div);
585
- }));
586
- }
587
- /*
588
- const scrollForwardIcon = newestFirst
589
- ? 'noun_1369241.svg'
590
- : 'noun_1369237.svg' // down and up arrows respoctively
591
- scrollForwardButton = widgets.button(
592
- dom,
593
- icons.iconBase + scrollForwardIcon,
594
- 'Later messages ...'
595
- )
596
- scrollForwardButtonCell.appendChild(scrollForwardButton)
597
- scrollForwardButtonCell.style = 'width:3em; height:3em;'
598
- scrollForwardButton.addEventListener(
599
- 'click',
600
- scrollForwardButtonHandler,
601
- false
602
- )
603
- messageTable.extendedForward = false
604
- setScrollForwardButtonIcon()
605
- */
606
- messageTable.extendedForwards = false;
607
- if (!newestFirst) {
608
- // opposite end from the entry field
609
- messageTable.insertBefore(titleTR, messageTable.firstChild); // If not newestFirst
610
- } else {
611
- messageTable.appendChild(titleTR); // newestFirst
612
- }
613
- }
614
- sts = _solidLogic.store.statementsMatching(null, ns.wf('message'), null, chatDocument);
615
- if (!live && sts.length === 0) {
616
- // not todays
617
- // no need buttomns at the moment
618
- // messageTable.style.visibility = 'collapse' // Hide files with no messages
619
- }
620
- _iterator2 = _createForOfIteratorHelper(sts);
621
- _context9.prev = 1;
622
- _iterator2.s();
623
- case 2:
624
- if ((_step2 = _iterator2.n()).done) {
625
- _context9.next = 4;
626
- break;
627
- }
628
- st = _step2.value;
629
- _context9.next = 3;
630
- return addMessage(st.object, messageTable);
631
- case 3:
632
- _context9.next = 2;
633
- break;
634
- case 4:
635
- _context9.next = 6;
636
- break;
637
- case 5:
638
- _context9.prev = 5;
639
- _t3 = _context9["catch"](1);
640
- _iterator2.e(_t3);
641
- case 6:
642
- _context9.prev = 6;
643
- _iterator2.f();
644
- return _context9.finish(6);
645
- case 7:
646
- messageTable.fresh = true; // message table updated with insertMessageIntoTable()
647
- return _context9.abrupt("return", messageTable);
648
- case 8:
649
- case "end":
650
- return _context9.stop();
651
- }
652
- }, _callee9, null, [[1, 5, 6, 7]]);
653
- }));
654
- return _renderMessageTable.apply(this, arguments);
655
- };
656
- renderMessageTable = function _renderMessageTable2(_x16, _x17) {
657
- return _renderMessageTable.apply(this, arguments);
658
- };
659
- _createMessageTable = function _createMessageTable3() {
660
- _createMessageTable = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5(date, live) {
661
- var chatDocument, messageTable, statusTR, _t2;
662
- return _regenerator["default"].wrap(function (_context5) {
663
- while (1) switch (_context5.prev = _context5.next) {
664
- case 0:
665
- // debug.log(' createMessageTable for ' + date)
666
- chatDocument = dateFolder.leafDocumentFromDate(date);
667
- _context5.prev = 1;
668
- _context5.next = 2;
669
- return _solidLogic.store.fetcher.createIfNotExists(chatDocument);
670
- case 2:
671
- _context5.next = 7;
672
- break;
673
- case 3:
674
- _context5.prev = 3;
675
- _t2 = _context5["catch"](1);
676
- messageTable = dom.createElement('table');
677
- statusTR = messageTable.appendChild(dom.createElement('tr')); // ### find status in exception
678
- if (!(_t2.response && _t2.response.status && _t2.response.status === 404)) {
679
- _context5.next = 5;
680
- break;
681
- }
682
- _context5.next = 4;
683
- return renderMessageTable(date, live);
684
- case 4:
685
- return _context5.abrupt("return", _context5.sent);
686
- case 5:
687
- debug.log('*** Error NON 404 for chat file ' + chatDocument);
688
- statusTR.appendChild(widgets.errorMessageBlock(dom, _t2, 'pink'));
689
- case 6:
690
- return _context5.abrupt("return", statusTR);
691
- case 7:
692
- _context5.next = 8;
693
- return renderMessageTable(date, live);
694
- case 8:
695
- return _context5.abrupt("return", _context5.sent);
696
- case 9:
697
- case "end":
698
- return _context5.stop();
699
- }
700
- }, _callee5, null, [[1, 3]]);
701
- }));
702
- return _createMessageTable.apply(this, arguments);
703
- };
704
- createMessageTable = function _createMessageTable2(_x14, _x15) {
705
- return _createMessageTable.apply(this, arguments);
706
- };
707
- removePreviousMessages = function _removePreviousMessag(backwards, messageTable) {
708
- if (backwards ? newestFirst : !newestFirst) {
709
- // it was put on bottom
710
- while (messageTable.nextSibling) {
711
- div.removeChild(messageTable.nextSibling);
712
- }
713
- } else {
714
- // it was put on top as we scroll back
715
- while (messageTable.previousSibling) {
716
- div.removeChild(messageTable.previousSibling);
717
- }
718
- }
719
- var extr = backwards ? earliest : latest;
720
- extr.messageTable = messageTable;
721
- };
722
- _insertPreviousMessages = function _insertPreviousMessag2() {
723
- _insertPreviousMessages = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4(backwards) {
724
- var extremity, date, live, todayDoc, doc, newMessageTable;
725
- return _regenerator["default"].wrap(function (_context4) {
726
- while (1) switch (_context4.prev = _context4.next) {
727
- case 0:
728
- extremity = backwards ? earliest : latest;
729
- date = extremity.messageTable.date; // day in mssecs
730
- // Are we at the top of a thread?
731
- if (!(backwards && earliest.limit && date <= earliest.limit)) {
732
- _context4.next = 2;
733
- break;
734
- }
735
- if (liveMessageTable) {
736
- _context4.next = 1;
737
- break;
738
- }
739
- _context4.next = 1;
740
- return appendCurrentMessages();
741
- case 1:
742
- return _context4.abrupt("return", true);
743
- case 2:
744
- _context4.next = 3;
745
- return dateFolder.loadPrevious(date, backwards);
746
- case 3:
747
- date = _context4.sent;
748
- if (!(!date && !backwards && !liveMessageTable)) {
749
- _context4.next = 4;
750
- break;
751
- }
752
- _context4.next = 4;
753
- return appendCurrentMessages();
754
- case 4:
755
- if (date) {
756
- _context4.next = 5;
757
- break;
758
- }
759
- return _context4.abrupt("return", true);
760
- case 5:
761
- // done
762
- live = false;
763
- if (!backwards) {
764
- todayDoc = dateFolder.leafDocumentFromDate(new Date());
765
- doc = dateFolder.leafDocumentFromDate(date);
766
- live = doc.sameTerm(todayDoc); // Is this todays?
767
- }
768
- _context4.next = 6;
769
- return createMessageTable(date, live);
770
- case 6:
771
- newMessageTable = _context4.sent;
772
- extremity.messageTable = newMessageTable; // move pointer to earliest
773
- if (backwards ? newestFirst : !newestFirst) {
774
- // put on bottom or top
775
- div.appendChild(newMessageTable);
776
- } else {
777
- // put on top as we scroll back
778
- div.insertBefore(newMessageTable, div.firstChild);
779
- }
780
- return _context4.abrupt("return", live);
781
- case 7:
782
- case "end":
783
- return _context4.stop();
784
- }
785
- }, _callee4);
786
- }));
787
- return _insertPreviousMessages.apply(this, arguments);
788
- };
789
- insertPreviousMessages = function _insertPreviousMessag(_x13) {
790
- return _insertPreviousMessages.apply(this, arguments);
791
- };
792
- _addMessage = function _addMessage3() {
793
- _addMessage = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(message, messageTable) {
794
- var thread, id;
795
- return _regenerator["default"].wrap(function (_context3) {
796
- while (1) switch (_context3.prev = _context3.next) {
797
- case 0:
798
- if (!((0, _chatLogic.isDeleted)(message) && !options.showDeletedMessages)) {
799
- _context3.next = 1;
800
- break;
801
- }
802
- return _context3.abrupt("return");
803
- case 1:
804
- /* if (isReplaced(message)) { //
805
- return // this is old version
806
- } */
807
- thread = _solidLogic.store.any(null, ns.sioc('has_member'), message, message.doc());
808
- id = _solidLogic.store.any(message, ns.sioc('id'), null, message.doc());
809
- if (id && !thread) {
810
- thread = _solidLogic.store.any(null, ns.sioc('has_member'), id, message.doc());
811
- }
812
- if (!options.thread) {
813
- _context3.next = 5;
814
- break;
815
- }
816
- if (!_solidLogic.store.holds(message, ns.sioc('has_reply'), options.thread)) {
817
- _context3.next = 2;
818
- break;
819
- }
820
- _context3.next = 4;
821
- break;
822
- case 2:
823
- if (!(thread && thread.sameTerm(options.thread))) {
824
- _context3.next = 3;
825
- break;
826
- }
827
- _context3.next = 4;
828
- break;
829
- case 3:
830
- return _context3.abrupt("return");
831
- case 4:
832
- _context3.next = 6;
833
- break;
834
- case 5:
835
- if (!thread) {
836
- _context3.next = 6;
837
- break;
838
- }
839
- return _context3.abrupt("return");
840
- case 6:
841
- if (messageTable.fresh) {
842
- _context3.next = 7;
843
- break;
844
- }
845
- _context3.next = 7;
846
- return insertMessageIntoTable(channelObject, messageTable, message, messageTable.fresh, options, userContext);
847
- case 7:
848
- case "end":
849
- return _context3.stop();
850
- }
851
- }, _callee3);
852
- }));
853
- return _addMessage.apply(this, arguments);
854
- };
855
- addMessage = function _addMessage2(_x11, _x12) {
856
- return _addMessage.apply(this, arguments);
857
- };
858
- _syncMessages = function _syncMessages3() {
859
- _syncMessages = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(chatChannel, messageTable) {
860
- var displayed, ele, ele2, messages, stored, _iterator, _step, m, _t;
861
- return _regenerator["default"].wrap(function (_context2) {
862
- while (1) switch (_context2.prev = _context2.next) {
863
- case 0:
864
- displayed = {};
865
- for (ele = messageTable.firstChild; ele; ele = ele.nextSibling) {
866
- if (ele.AJAR_subject) {
867
- displayed[ele.AJAR_subject.uri] = true;
868
- }
869
- }
870
- messages = _solidLogic.store.each(chatChannel, ns.wf('message'), null, messageTable.chatDocument);
871
- stored = {};
872
- _iterator = _createForOfIteratorHelper(messages);
873
- _context2.prev = 1;
874
- _iterator.s();
875
- case 2:
876
- if ((_step = _iterator.n()).done) {
877
- _context2.next = 4;
878
- break;
879
- }
880
- m = _step.value;
881
- stored[m.uri] = true;
882
- if (displayed[m.uri]) {
883
- _context2.next = 3;
884
- break;
885
- }
886
- _context2.next = 3;
887
- return addMessage(m, messageTable);
888
- case 3:
889
- _context2.next = 2;
890
- break;
891
- case 4:
892
- _context2.next = 6;
893
- break;
894
- case 5:
895
- _context2.prev = 5;
896
- _t = _context2["catch"](1);
897
- _iterator.e(_t);
898
- case 6:
899
- _context2.prev = 6;
900
- _iterator.f();
901
- return _context2.finish(6);
902
- case 7:
903
- for (ele = messageTable.firstChild; ele;) {
904
- ele2 = ele.nextSibling;
905
- if (ele.AJAR_subject && !stored[ele.AJAR_subject.uri]) {
906
- messageTable.removeChild(ele);
907
- }
908
- ele = ele2;
909
- }
910
- for (ele = messageTable.firstChild; ele; ele = ele.nextSibling) {
911
- if (ele.AJAR_subject) {
912
- // Refresh thumbs up etc
913
- widgets.refreshTree(ele); // Things inside may have changed too
914
- }
915
- }
916
- case 8:
917
- case "end":
918
- return _context2.stop();
919
- }
920
- }, _callee2, null, [[1, 5, 6, 7]]);
921
- }));
922
- return _syncMessages.apply(this, arguments);
923
- };
924
- syncMessages = function _syncMessages2(_x1, _x10) {
925
- return _syncMessages.apply(this, arguments);
926
- }; // ///////////////////////////////////////////////////////////////////////
927
- // syncMessages
928
- // Called once per original message displayed
929
- /* Add a new messageTable at the top/bottom
930
- */
931
- /* Remove message tables earlier than this one
932
- */
933
- /* Load and render message table
934
- ** @returns DOM element generates
935
- */
936
- // renderMessageTable
937
- /*
938
- function messageCount () {
939
- var n = 0
940
- const tables = div.children
941
- for (let i = 0; i < tables.length; i++) {
942
- n += tables[i].children.length - 1
943
- // debug.log(' table length:' + tables[i].children.length)
944
- }
945
- return n
946
- }
947
- */
948
- /* Add the live message block with entry field for today
949
- */
950
- // Body of main function
951
- options = options || {};
952
- options.authorDateOnLeft = false; // @@ make a user optiosn
953
- newestFirst = options.newestFirst === '1' || options.newestFirst === true; // hack for now
954
- channelObject = new _chatLogic.ChatChannel(chatChannel, options);
955
- dateFolder = channelObject.dateFolder;
956
- div = dom.createElement('div');
957
- channelObject.div = div;
958
- statusArea = div.appendChild(dom.createElement('div'));
959
- userContext = {
960
- dom: dom,
961
- statusArea: statusArea,
962
- div: statusArea
963
- }; // logged on state, pointers to user's stuff
964
- earliest = {
965
- messageTable: null
966
- }; // Stuff about each end of the loaded days
967
- latest = {
968
- messageTable: null
969
- };
970
- if (options.thread) {
971
- thread = options.thread;
972
- threadRootMessage = _solidLogic.store.any(null, ns.sioc('has_reply'), thread, thread.doc());
973
- if (threadRootMessage) {
974
- threadTime = _solidLogic.store.any(threadRootMessage, ns.dct('created'), null, threadRootMessage.doc());
975
- if (threadTime) {
976
- earliest.limit = new Date(threadTime.value);
977
- // debug.log(' infinite: thread start at ' + earliest.limit)
978
- }
979
- }
980
- }
981
- lock = false;
982
- _context13.next = 1;
983
- return loadInitialContent();
984
- case 1:
985
- return _context13.abrupt("return", div);
986
- case 2:
987
- case "end":
988
- return _context13.stop();
989
- }
990
- }, _callee13);
991
- }));
992
- return _infiniteMessageArea.apply(this, arguments);
993
- }
994
- //# sourceMappingURL=infinite.js.map