solid-ui 2.6.1-d631dfca → 2.6.1-dc6afe0

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 (366) hide show
  1. package/LICENSE.md +3 -1
  2. package/README.md +85 -26
  3. package/dist/acl/access-controller.js +293 -0
  4. package/dist/acl/access-controller.js.map +1 -0
  5. package/dist/acl/access-groups.js +372 -0
  6. package/dist/acl/access-groups.js.map +1 -0
  7. package/dist/acl/acl-control.js +217 -0
  8. package/dist/acl/acl-control.js.map +1 -0
  9. package/dist/acl/acl.js +550 -0
  10. package/dist/acl/acl.js.map +1 -0
  11. package/dist/acl/add-agent-buttons.js +260 -0
  12. package/dist/acl/add-agent-buttons.js.map +1 -0
  13. package/dist/acl/index.js +35 -0
  14. package/dist/acl/index.js.map +1 -0
  15. package/dist/acl/types.js +7 -0
  16. package/dist/acl/types.js.map +1 -0
  17. package/{lib → dist}/chat/keys.d.ts +1 -1
  18. package/{lib → dist}/chat/keys.d.ts.map +1 -1
  19. package/dist/chat/keys.js +148 -0
  20. package/dist/chat/keys.js.map +1 -0
  21. package/dist/chat/signature.js +71 -0
  22. package/dist/chat/signature.js.map +1 -0
  23. package/dist/create/create.js +288 -0
  24. package/dist/create/create.js.map +1 -0
  25. package/dist/create/index.js +8 -0
  26. package/dist/create/index.js.map +1 -0
  27. package/dist/create/types.js +3 -0
  28. package/dist/create/types.js.map +1 -0
  29. package/dist/debug.js +23 -0
  30. package/dist/debug.js.map +1 -0
  31. package/dist/footer/index.js +72 -0
  32. package/dist/footer/index.js.map +1 -0
  33. package/dist/header/empty-profile.js +14 -0
  34. package/dist/header/empty-profile.js.map +1 -0
  35. package/dist/header/index.js +305 -0
  36. package/dist/header/index.js.map +1 -0
  37. package/dist/iconBase.js +40 -0
  38. package/dist/iconBase.js.map +1 -0
  39. package/dist/icons/solid_logo.js.map +1 -0
  40. package/{lib → dist}/index.d.ts +7 -9
  41. package/dist/index.d.ts.map +1 -0
  42. package/dist/index.js +162 -0
  43. package/dist/index.js.map +1 -0
  44. package/{lib → dist}/log.js +85 -99
  45. package/dist/log.js.map +1 -0
  46. package/dist/login/login.js +910 -0
  47. package/dist/login/login.js.map +1 -0
  48. package/dist/matrix/index.js +8 -0
  49. package/dist/matrix/index.js.map +1 -0
  50. package/dist/matrix/matrix.js +253 -0
  51. package/dist/matrix/matrix.js.map +1 -0
  52. package/dist/matrix/types.js +3 -0
  53. package/dist/matrix/types.js.map +1 -0
  54. package/dist/media/index.js +9 -0
  55. package/dist/media/index.js.map +1 -0
  56. package/dist/media/media-capture.js +198 -0
  57. package/dist/media/media-capture.js.map +1 -0
  58. package/dist/pad.js +795 -0
  59. package/dist/pad.js.map +1 -0
  60. package/dist/participation.js +228 -0
  61. package/dist/participation.js.map +1 -0
  62. package/dist/solid-ui.esm.js +25542 -0
  63. package/dist/solid-ui.esm.js.map +1 -0
  64. package/dist/solid-ui.esm.min.js +43 -0
  65. package/dist/solid-ui.esm.min.js.map +1 -0
  66. package/dist/solid-ui.js +23485 -68926
  67. package/dist/solid-ui.js.map +1 -1
  68. package/dist/solid-ui.min.js +40 -2
  69. package/dist/solid-ui.min.js.map +1 -1
  70. package/dist/tabs.js +398 -0
  71. package/dist/tabs.js.map +1 -0
  72. package/dist/utils/headerFooterHelpers.js +122 -0
  73. package/dist/utils/headerFooterHelpers.js.map +1 -0
  74. package/{lib → dist}/utils/keyHelpers/accessData.d.ts +3 -3
  75. package/{lib → dist}/utils/keyHelpers/accessData.d.ts.map +1 -1
  76. package/dist/utils/keyHelpers/accessData.js +108 -0
  77. package/dist/utils/keyHelpers/accessData.js.map +1 -0
  78. package/dist/utils/keyHelpers/acl.js +112 -0
  79. package/dist/utils/keyHelpers/acl.js.map +1 -0
  80. package/{lib → dist}/utils/keyHelpers/otherHelpers.d.ts +1 -1
  81. package/{lib → dist}/utils/keyHelpers/otherHelpers.d.ts.map +1 -1
  82. package/dist/utils/keyHelpers/otherHelpers.js +19 -0
  83. package/dist/utils/keyHelpers/otherHelpers.js.map +1 -0
  84. package/dist/utils/label.js +150 -0
  85. package/dist/utils/label.js.map +1 -0
  86. package/dist/versionInfo.js +33 -0
  87. package/dist/versionInfo.js.map +1 -0
  88. package/dist/widgets/buttons/iconLinks.js +49 -0
  89. package/dist/widgets/buttons/iconLinks.js.map +1 -0
  90. package/dist/widgets/buttons.js +1355 -0
  91. package/dist/widgets/buttons.js.map +1 -0
  92. package/dist/widgets/error.js +42 -0
  93. package/dist/widgets/error.js.map +1 -0
  94. package/dist/widgets/forms/autocomplete/autocompleteBar.js +162 -0
  95. package/dist/widgets/forms/autocomplete/autocompleteBar.js.map +1 -0
  96. package/dist/widgets/forms/autocomplete/autocompleteField.js +235 -0
  97. package/dist/widgets/forms/autocomplete/autocompleteField.js.map +1 -0
  98. package/dist/widgets/forms/autocomplete/autocompletePicker.js +296 -0
  99. package/dist/widgets/forms/autocomplete/autocompletePicker.js.map +1 -0
  100. package/dist/widgets/forms/autocomplete/language.js +147 -0
  101. package/dist/widgets/forms/autocomplete/language.js.map +1 -0
  102. package/{lib → dist}/widgets/forms/autocomplete/publicData.d.ts +3 -3
  103. package/dist/widgets/forms/autocomplete/publicData.d.ts.map +1 -0
  104. package/dist/widgets/forms/autocomplete/publicData.js +507 -0
  105. package/dist/widgets/forms/autocomplete/publicData.js.map +1 -0
  106. package/dist/widgets/forms/basic.js +250 -0
  107. package/dist/widgets/forms/basic.js.map +1 -0
  108. package/dist/widgets/forms/comment.js +52 -0
  109. package/dist/widgets/forms/comment.js.map +1 -0
  110. package/dist/widgets/forms/fieldFunction.js +49 -0
  111. package/dist/widgets/forms/fieldFunction.js.map +1 -0
  112. package/dist/widgets/forms/fieldParams.js +95 -0
  113. package/dist/widgets/forms/fieldParams.js.map +1 -0
  114. package/dist/widgets/forms/formStyle.js +43 -0
  115. package/dist/widgets/forms/formStyle.js.map +1 -0
  116. package/{lib → dist}/widgets/widgetHelpers.d.ts.map +1 -1
  117. package/{lib → dist}/widgets/widgetHelpers.js +19 -24
  118. package/dist/widgets/widgetHelpers.js.map +1 -0
  119. package/package.json +44 -47
  120. package/dist/789.solid-ui.min.js +0 -1
  121. package/dist/841.solid-ui.min.js +0 -3
  122. package/dist/841.solid-ui.min.js.LICENSE.txt +0 -58
  123. package/dist/841.solid-ui.min.js.map +0 -1
  124. package/dist/_2b19.solid-ui.js +0 -14
  125. package/dist/_2b19.solid-ui.js.map +0 -1
  126. package/dist/index.html +0 -1
  127. package/dist/solid-ui.min.js.LICENSE.txt +0 -57
  128. package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js +0 -12247
  129. package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js.map +0 -1
  130. package/lib/acl/access-controller.js +0 -391
  131. package/lib/acl/access-controller.js.map +0 -1
  132. package/lib/acl/access-groups.js +0 -507
  133. package/lib/acl/access-groups.js.map +0 -1
  134. package/lib/acl/acl-control.js +0 -237
  135. package/lib/acl/acl-control.js.map +0 -1
  136. package/lib/acl/acl.js +0 -517
  137. package/lib/acl/acl.js.map +0 -1
  138. package/lib/acl/add-agent-buttons.js +0 -434
  139. package/lib/acl/add-agent-buttons.js.map +0 -1
  140. package/lib/acl/index.js +0 -39
  141. package/lib/acl/index.js.map +0 -1
  142. package/lib/acl/types.js +0 -6
  143. package/lib/acl/types.js.map +0 -1
  144. package/lib/chat/bookmarks.js +0 -303
  145. package/lib/chat/bookmarks.js.map +0 -1
  146. package/lib/chat/chatLogic.js +0 -420
  147. package/lib/chat/chatLogic.js.map +0 -1
  148. package/lib/chat/dateFolder.js +0 -328
  149. package/lib/chat/dateFolder.js.map +0 -1
  150. package/lib/chat/infinite.js +0 -994
  151. package/lib/chat/infinite.js.map +0 -1
  152. package/lib/chat/keys.js +0 -232
  153. package/lib/chat/keys.js.map +0 -1
  154. package/lib/chat/message.js +0 -715
  155. package/lib/chat/message.js.map +0 -1
  156. package/lib/chat/messageTools.js +0 -538
  157. package/lib/chat/messageTools.js.map +0 -1
  158. package/lib/chat/signature.js +0 -109
  159. package/lib/chat/signature.js.map +0 -1
  160. package/lib/chat/thread.js +0 -535
  161. package/lib/chat/thread.js.map +0 -1
  162. package/lib/create/create.js +0 -242
  163. package/lib/create/create.js.map +0 -1
  164. package/lib/create/index.js +0 -11
  165. package/lib/create/index.js.map +0 -1
  166. package/lib/create/types.js +0 -6
  167. package/lib/create/types.js.map +0 -1
  168. package/lib/debug.js +0 -30
  169. package/lib/debug.js.map +0 -1
  170. package/lib/folders.js +0 -132
  171. package/lib/folders.js.map +0 -1
  172. package/lib/footer/index.js +0 -123
  173. package/lib/footer/index.js.map +0 -1
  174. package/lib/header/empty-profile.js +0 -8
  175. package/lib/header/empty-profile.js.map +0 -1
  176. package/lib/header/index.js +0 -375
  177. package/lib/header/index.js.map +0 -1
  178. package/lib/iconBase.js +0 -44
  179. package/lib/iconBase.js.map +0 -1
  180. package/lib/icons/solid_logo.js.map +0 -1
  181. package/lib/index.d.ts.map +0 -1
  182. package/lib/index.js +0 -223
  183. package/lib/index.js.map +0 -1
  184. package/lib/log.js.map +0 -1
  185. package/lib/login/login.js +0 -1241
  186. package/lib/login/login.js.map +0 -1
  187. package/lib/matrix/index.js +0 -11
  188. package/lib/matrix/index.js.map +0 -1
  189. package/lib/matrix/matrix.js +0 -216
  190. package/lib/matrix/matrix.js.map +0 -1
  191. package/lib/matrix/types.js +0 -6
  192. package/lib/matrix/types.js.map +0 -1
  193. package/lib/media/index.js +0 -12
  194. package/lib/media/index.js.map +0 -1
  195. package/lib/media/media-capture.js +0 -194
  196. package/lib/media/media-capture.js.map +0 -1
  197. package/lib/messageArea.js +0 -319
  198. package/lib/messageArea.js.map +0 -1
  199. package/lib/noun_Camera_1618446_000000.js +0 -8
  200. package/lib/noun_Camera_1618446_000000.js.map +0 -1
  201. package/lib/ns.js +0 -17
  202. package/lib/ns.js.map +0 -1
  203. package/lib/pad.js +0 -805
  204. package/lib/pad.js.map +0 -1
  205. package/lib/participation.js +0 -219
  206. package/lib/participation.js.map +0 -1
  207. package/lib/preferences.js +0 -215
  208. package/lib/preferences.js.map +0 -1
  209. package/lib/signup/config-default.js +0 -43
  210. package/lib/signup/config-default.js.map +0 -1
  211. package/lib/signup/signup.js +0 -74
  212. package/lib/signup/signup.js.map +0 -1
  213. package/lib/stories/decorators.js +0 -10
  214. package/lib/stories/decorators.js.map +0 -1
  215. package/lib/style.js +0 -158
  216. package/lib/style.js.map +0 -1
  217. package/lib/styleConstants.js +0 -35
  218. package/lib/styleConstants.js.map +0 -1
  219. package/lib/style_multiSelect.js +0 -62
  220. package/lib/style_multiSelect.js.map +0 -1
  221. package/lib/table.js +0 -1573
  222. package/lib/table.js.map +0 -1
  223. package/lib/tabs.js +0 -448
  224. package/lib/tabs.js.map +0 -1
  225. package/lib/typings.d.js +0 -2
  226. package/lib/typings.d.js.map +0 -1
  227. package/lib/utils/headerFooterHelpers.js +0 -165
  228. package/lib/utils/headerFooterHelpers.js.map +0 -1
  229. package/lib/utils/index.js +0 -527
  230. package/lib/utils/index.js.map +0 -1
  231. package/lib/utils/keyHelpers/accessData.js +0 -131
  232. package/lib/utils/keyHelpers/accessData.js.map +0 -1
  233. package/lib/utils/keyHelpers/acl.js +0 -90
  234. package/lib/utils/keyHelpers/acl.js.map +0 -1
  235. package/lib/utils/keyHelpers/otherHelpers.js +0 -21
  236. package/lib/utils/keyHelpers/otherHelpers.js.map +0 -1
  237. package/lib/utils/label.js +0 -103
  238. package/lib/utils/label.js.map +0 -1
  239. package/lib/versionInfo.d.ts +0 -32
  240. package/lib/versionInfo.d.ts.map +0 -1
  241. package/lib/versionInfo.js +0 -37
  242. package/lib/versionInfo.js.map +0 -1
  243. package/lib/widgets/buttons/iconLinks.js +0 -53
  244. package/lib/widgets/buttons/iconLinks.js.map +0 -1
  245. package/lib/widgets/buttons.js +0 -1306
  246. package/lib/widgets/buttons.js.map +0 -1
  247. package/lib/widgets/dragAndDrop.js +0 -194
  248. package/lib/widgets/dragAndDrop.js.map +0 -1
  249. package/lib/widgets/error.js +0 -46
  250. package/lib/widgets/error.js.map +0 -1
  251. package/lib/widgets/forms/autocomplete/autocompleteBar.js +0 -271
  252. package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +0 -1
  253. package/lib/widgets/forms/autocomplete/autocompleteField.js +0 -258
  254. package/lib/widgets/forms/autocomplete/autocompleteField.js.map +0 -1
  255. package/lib/widgets/forms/autocomplete/autocompletePicker.js +0 -436
  256. package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +0 -1
  257. package/lib/widgets/forms/autocomplete/language.js +0 -189
  258. package/lib/widgets/forms/autocomplete/language.js.map +0 -1
  259. package/lib/widgets/forms/autocomplete/publicData.d.ts.map +0 -1
  260. package/lib/widgets/forms/autocomplete/publicData.js +0 -636
  261. package/lib/widgets/forms/autocomplete/publicData.js.map +0 -1
  262. package/lib/widgets/forms/basic.js +0 -254
  263. package/lib/widgets/forms/basic.js.map +0 -1
  264. package/lib/widgets/forms/comment.js +0 -54
  265. package/lib/widgets/forms/comment.js.map +0 -1
  266. package/lib/widgets/forms/fieldFunction.js +0 -52
  267. package/lib/widgets/forms/fieldFunction.js.map +0 -1
  268. package/lib/widgets/forms/fieldParams.js +0 -77
  269. package/lib/widgets/forms/fieldParams.js.map +0 -1
  270. package/lib/widgets/forms/formStyle.js +0 -44
  271. package/lib/widgets/forms/formStyle.js.map +0 -1
  272. package/lib/widgets/forms.js +0 -2045
  273. package/lib/widgets/forms.js.map +0 -1
  274. package/lib/widgets/index.js +0 -110
  275. package/lib/widgets/index.js.map +0 -1
  276. package/lib/widgets/multiSelect.js +0 -658
  277. package/lib/widgets/multiSelect.js.map +0 -1
  278. package/lib/widgets/peoplePicker.js +0 -467
  279. package/lib/widgets/peoplePicker.js.map +0 -1
  280. package/lib/widgets/widgetHelpers.js.map +0 -1
  281. /package/{lib → dist}/acl/access-controller.d.ts +0 -0
  282. /package/{lib → dist}/acl/access-controller.d.ts.map +0 -0
  283. /package/{lib → dist}/acl/access-groups.d.ts +0 -0
  284. /package/{lib → dist}/acl/access-groups.d.ts.map +0 -0
  285. /package/{lib → dist}/acl/acl-control.d.ts +0 -0
  286. /package/{lib → dist}/acl/acl-control.d.ts.map +0 -0
  287. /package/{lib → dist}/acl/acl.d.ts +0 -0
  288. /package/{lib → dist}/acl/acl.d.ts.map +0 -0
  289. /package/{lib → dist}/acl/add-agent-buttons.d.ts +0 -0
  290. /package/{lib → dist}/acl/add-agent-buttons.d.ts.map +0 -0
  291. /package/{lib → dist}/acl/index.d.ts +0 -0
  292. /package/{lib → dist}/acl/index.d.ts.map +0 -0
  293. /package/{lib → dist}/acl/types.d.ts +0 -0
  294. /package/{lib → dist}/acl/types.d.ts.map +0 -0
  295. /package/{lib → dist}/chat/signature.d.ts +0 -0
  296. /package/{lib → dist}/chat/signature.d.ts.map +0 -0
  297. /package/{lib → dist}/create/create.d.ts +0 -0
  298. /package/{lib → dist}/create/create.d.ts.map +0 -0
  299. /package/{lib → dist}/create/index.d.ts +0 -0
  300. /package/{lib → dist}/create/index.d.ts.map +0 -0
  301. /package/{lib → dist}/create/types.d.ts +0 -0
  302. /package/{lib → dist}/create/types.d.ts.map +0 -0
  303. /package/{lib → dist}/debug.d.ts +0 -0
  304. /package/{lib → dist}/debug.d.ts.map +0 -0
  305. /package/{lib → dist}/footer/index.d.ts +0 -0
  306. /package/{lib → dist}/footer/index.d.ts.map +0 -0
  307. /package/{lib → dist}/header/empty-profile.d.ts +0 -0
  308. /package/{lib → dist}/header/empty-profile.d.ts.map +0 -0
  309. /package/{lib → dist}/header/index.d.ts +0 -0
  310. /package/{lib → dist}/header/index.d.ts.map +0 -0
  311. /package/{lib → dist}/iconBase.d.ts +0 -0
  312. /package/{lib → dist}/iconBase.d.ts.map +0 -0
  313. /package/{lib → dist}/icons/solid_logo.d.ts +0 -0
  314. /package/{lib → dist}/icons/solid_logo.d.ts.map +0 -0
  315. /package/{lib → dist}/icons/solid_logo.js +0 -0
  316. /package/{lib → dist}/log.d.ts +0 -0
  317. /package/{lib → dist}/log.d.ts.map +0 -0
  318. /package/{lib → dist}/login/login.d.ts +0 -0
  319. /package/{lib → dist}/login/login.d.ts.map +0 -0
  320. /package/{lib → dist}/matrix/index.d.ts +0 -0
  321. /package/{lib → dist}/matrix/index.d.ts.map +0 -0
  322. /package/{lib → dist}/matrix/matrix.d.ts +0 -0
  323. /package/{lib → dist}/matrix/matrix.d.ts.map +0 -0
  324. /package/{lib → dist}/matrix/types.d.ts +0 -0
  325. /package/{lib → dist}/matrix/types.d.ts.map +0 -0
  326. /package/{lib → dist}/media/index.d.ts +0 -0
  327. /package/{lib → dist}/media/index.d.ts.map +0 -0
  328. /package/{lib → dist}/media/media-capture.d.ts +0 -0
  329. /package/{lib → dist}/media/media-capture.d.ts.map +0 -0
  330. /package/{lib → dist}/pad.d.ts +0 -0
  331. /package/{lib → dist}/pad.d.ts.map +0 -0
  332. /package/{lib → dist}/participation.d.ts +0 -0
  333. /package/{lib → dist}/participation.d.ts.map +0 -0
  334. /package/{lib → dist}/tabs.d.ts +0 -0
  335. /package/{lib → dist}/tabs.d.ts.map +0 -0
  336. /package/{lib → dist}/utils/headerFooterHelpers.d.ts +0 -0
  337. /package/{lib → dist}/utils/headerFooterHelpers.d.ts.map +0 -0
  338. /package/{lib → dist}/utils/keyHelpers/acl.d.ts +0 -0
  339. /package/{lib → dist}/utils/keyHelpers/acl.d.ts.map +0 -0
  340. /package/{lib → dist}/utils/label.d.ts +0 -0
  341. /package/{lib → dist}/utils/label.d.ts.map +0 -0
  342. /package/{lib → dist}/widgets/buttons/iconLinks.d.ts +0 -0
  343. /package/{lib → dist}/widgets/buttons/iconLinks.d.ts.map +0 -0
  344. /package/{lib → dist}/widgets/buttons.d.ts +0 -0
  345. /package/{lib → dist}/widgets/buttons.d.ts.map +0 -0
  346. /package/{lib → dist}/widgets/error.d.ts +0 -0
  347. /package/{lib → dist}/widgets/error.d.ts.map +0 -0
  348. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteBar.d.ts +0 -0
  349. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteBar.d.ts.map +0 -0
  350. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteField.d.ts +0 -0
  351. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteField.d.ts.map +0 -0
  352. /package/{lib → dist}/widgets/forms/autocomplete/autocompletePicker.d.ts +0 -0
  353. /package/{lib → dist}/widgets/forms/autocomplete/autocompletePicker.d.ts.map +0 -0
  354. /package/{lib → dist}/widgets/forms/autocomplete/language.d.ts +0 -0
  355. /package/{lib → dist}/widgets/forms/autocomplete/language.d.ts.map +0 -0
  356. /package/{lib → dist}/widgets/forms/basic.d.ts +0 -0
  357. /package/{lib → dist}/widgets/forms/basic.d.ts.map +0 -0
  358. /package/{lib → dist}/widgets/forms/comment.d.ts +0 -0
  359. /package/{lib → dist}/widgets/forms/comment.d.ts.map +0 -0
  360. /package/{lib → dist}/widgets/forms/fieldFunction.d.ts +0 -0
  361. /package/{lib → dist}/widgets/forms/fieldFunction.d.ts.map +0 -0
  362. /package/{lib → dist}/widgets/forms/fieldParams.d.ts +0 -0
  363. /package/{lib → dist}/widgets/forms/fieldParams.d.ts.map +0 -0
  364. /package/{lib → dist}/widgets/forms/formStyle.d.ts +0 -0
  365. /package/{lib → dist}/widgets/forms/formStyle.d.ts.map +0 -0
  366. /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