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,715 +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.creatorAndDate = creatorAndDate;
9
- exports.creatorAndDateHorizontal = creatorAndDateHorizontal;
10
- exports.elementForImageURI = elementForImageURI;
11
- exports.renderMessageEditor = renderMessageEditor;
12
- exports.renderMessageRow = renderMessageRow;
13
- exports.switchToEditor = switchToEditor;
14
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
15
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
17
- var _infinite = require("./infinite");
18
- var _messageTools = require("./messageTools");
19
- var _bookmarks = require("./bookmarks");
20
- var _chatLogic = require("./chatLogic");
21
- var debug = _interopRequireWildcard(require("../debug"));
22
- var _iconBase = require("../iconBase");
23
- var _solidLogic = require("solid-logic");
24
- var _login = require("../login/login");
25
- var _index = require("../media/index");
26
- var ns = _interopRequireWildcard(require("../ns"));
27
- var pad = _interopRequireWildcard(require("../pad"));
28
- var style = _interopRequireWildcard(require("../style"));
29
- var utils = _interopRequireWildcard(require("../utils"));
30
- var widgets = _interopRequireWildcard(require("../widgets"));
31
- var _signature = require("./signature");
32
- var _keys = require("./keys");
33
- 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 _t8 in e) "default" !== _t8 && {}.hasOwnProperty.call(e, _t8) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t8)) && (i.get || i.set) ? o(f, _t8, i) : f[_t8] = e[_t8]); return f; })(e, t); }
34
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
35
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
36
- 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; } } }; }
37
- 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; } }
38
- 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; } /** UI code for individual messages: display them, edit them
39
- *
40
- * @packageDocumentation
41
- */ /* global $rdf */
42
- var dom = window.document;
43
- var messageBodyStyle = style.messageBodyStyle;
44
- var label = utils.label;
45
-
46
- /**
47
- * elementForImageURI
48
- * HTML component for an image
49
- * @param imageUri
50
- * @param options { inlineImageHeightEms }
51
- * @returns HTMLAnchorElement For Image
52
- */
53
- function elementForImageURI(imageUri, options) {
54
- var img = dom.createElement('img');
55
- var height = '10';
56
- if (options.inlineImageHeightEms) {
57
- height = ('' + options.inlineImageHeightEms).trim();
58
- }
59
- img.setAttribute('style', 'max-height: ' + height + 'em; border-radius: 1em; margin: 0.7em;');
60
- // widgets.makeDropTarget(img, handleURIsDroppedOnMugshot, droppedFileHandler)
61
- if (imageUri) img.setAttribute('src', imageUri);
62
- var anchor = dom.createElement('a');
63
- anchor.setAttribute('href', imageUri);
64
- anchor.setAttribute('target', 'images');
65
- anchor.appendChild(img);
66
- widgets.makeDraggable(img, $rdf.sym(imageUri));
67
- return anchor;
68
- }
69
- var anchor = function anchor(text, term) {
70
- // If there is no link return an element anyway
71
- var a = dom.createElement('a');
72
- if (term && term.uri) {
73
- a.setAttribute('href', term.uri);
74
- a.addEventListener('click', widgets.openHrefInOutlineMode, true);
75
- a.setAttribute('style', 'color: #3B5998; text-decoration: none; '); // font-weight: bold
76
- }
77
- a.textContent = text;
78
- return a;
79
- };
80
- function nickname(person) {
81
- var s = _solidLogic.store.any(person, ns.foaf('nick'));
82
- if (s) return '' + s.value;
83
- return '' + label(person);
84
- }
85
-
86
- /**
87
- * creatorAndDate
88
- * Displays creator and date for a chat message
89
- * inside the `td1` element
90
- * @param td1
91
- * @param creator
92
- * @param date
93
- * @param message
94
- * @returns HTMLAnchorElement For Image
95
- */
96
- function creatorAndDate(td1, creator, date, message) {
97
- var nickAnchor = td1.appendChild(anchor(nickname(creator), creator));
98
- if (creator.uri) {
99
- _solidLogic.store.fetcher.nowOrWhenFetched(creator.doc(), undefined, function (_ok, _body) {
100
- nickAnchor.textContent = nickname(creator);
101
- });
102
- }
103
- td1.appendChild(dom.createElement('br'));
104
- td1.appendChild(anchor(date, message));
105
- }
106
-
107
- /**
108
- * creatorAndDateHorizontal
109
- * Horizontally displays creator and date for a chat message
110
- * inside the `td1` element
111
- * @param td1
112
- * @param creator
113
- * @param date
114
- * @param message
115
- * @returns HTMLAnchorElement For Image
116
- */
117
- function creatorAndDateHorizontal(td1, creator, date, message) {
118
- var nickAnchor = td1.appendChild(anchor(label(creator), creator));
119
- if (creator.uri) {
120
- _solidLogic.store.fetcher.nowOrWhenFetched(creator.doc(), undefined, function (_ok, _body) {
121
- nickAnchor.textContent = nickname(creator);
122
- });
123
- }
124
- var dateBit = td1.appendChild(anchor(date, message));
125
- dateBit.style.fontSize = '80%';
126
- dateBit.style.marginLeft = '1em';
127
- td1.appendChild(dom.createElement('br'));
128
- }
129
-
130
- /**
131
- * renderMessageRow
132
- * Renders a chat message, read-only mode
133
- * @param channelObject
134
- * @param message
135
- * @param fresh
136
- * @param options
137
- * @param userContext
138
- * @returns Message Row HTML Table Element
139
- */
140
- function renderMessageRow(_x, _x2, _x3, _x4, _x5) {
141
- return _renderMessageRow.apply(this, arguments);
142
- } // END OF RENDERMESSAGE
143
- function _renderMessageRow() {
144
- _renderMessageRow = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee9(channelObject, message, fresh, options, userContext) {
145
- var unsignedMessage, colorizeByAuthor, creator, date, latestVersion, latestVersionCreator, msgId, content, versions, replies, thread, straightReplies, _iterator2, _step2, reply, signature, msg, originalMessage, edited, sortDate, messageRow, td1, img, bothDates, td2, text, isURI, para, isImage, _img, anc, bgcolor, getBgColor, strip, td3, toolsButton;
146
- return _regenerator["default"].wrap(function (_context0) {
147
- while (1) switch (_context0.prev = _context0.next) {
148
- case 0:
149
- getBgColor = function _getBgColor(fresh) {
150
- return fresh ? '#e8ffe8' : 'white';
151
- };
152
- unsignedMessage = false;
153
- colorizeByAuthor = options.colorizeByAuthor === '1' || options.colorizeByAuthor === true; // const id = store.any(latestVersion, ns.sioc('id'))
154
- // const replies = store.each(latestVersion, ns.sioc('has_reply'))
155
- creator = _solidLogic.store.any(message, ns.foaf('maker'));
156
- date = _solidLogic.store.any(message, ns.dct('created'));
157
- _context0.next = 1;
158
- return (0, _chatLogic.mostRecentVersion)(message);
159
- case 1:
160
- latestVersion = _context0.sent;
161
- latestVersionCreator = _solidLogic.store.any(latestVersion, ns.foaf('maker')); // use latest content if same owner, else use original
162
- // this is may be too strict. Should we find latest valid version if any ?
163
- msgId = creator.uri === (latestVersionCreator === null || latestVersionCreator === void 0 ? void 0 : latestVersionCreator.uri) ? latestVersion : message;
164
- content = _solidLogic.store.any(msgId, ns.sioc('content'));
165
- _context0.next = 2;
166
- return (0, _chatLogic.allVersions)(msgId);
167
- case 2:
168
- versions = _context0.sent;
169
- if (versions.length > 1) {
170
- debug.log('renderMessageRow versions: ', versions.join(', '));
171
- }
172
- // be tolerant in accepting replies on any version of a message
173
- replies = versions.map(function (version) {
174
- return _solidLogic.store.each(version, ns.sioc('has_reply'));
175
- }).flat();
176
- thread = null;
177
- straightReplies = [];
178
- _iterator2 = _createForOfIteratorHelper(replies);
179
- try {
180
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
181
- reply = _step2.value;
182
- if (_solidLogic.store.holds(reply, ns.rdf('type'), ns.sioc('Thread'))) {
183
- thread = reply;
184
- debug.log('renderMessageRow: found thread: ' + thread);
185
- } else {
186
- straightReplies.push(reply);
187
- }
188
- }
189
- } catch (err) {
190
- _iterator2.e(err);
191
- } finally {
192
- _iterator2.f();
193
- }
194
- if (straightReplies.length > 1) {
195
- debug.log('renderMessageRow: found normal replies: ', straightReplies);
196
- }
197
- if (!thread) {
198
- // thread = store.any(message, ns.sioc('has_reply'))
199
- thread = _solidLogic.store.any(null, ns.sioc('has_member'), message);
200
- }
201
- // debug.log('@@@@ is thread' + thread)
202
-
203
- // get signature
204
- signature = _solidLogic.store.any(msgId, $rdf.sym("".concat(_signature.SEC, "proofValue"))); // set proof message object
205
- msg = (0, _signature.getBlankMsg)();
206
- msg.id = msgId.uri;
207
- msg.created = _solidLogic.store.any(msgId, ns.dct('created')).value;
208
- msg.content = content.value;
209
- msg.maker = creator.uri;
210
-
211
- // verify signature
212
- if (!(signature !== null && signature !== void 0 && signature.value)) {
213
- // unsigned message
214
- unsignedMessage = true;
215
- debug.warn(msgId.uri + ' is unsigned'); // TODO replace with UI (colored message ?)
216
- } else {
217
- // signed message, get public key and check signature
218
- (0, _keys.getPublicKey)(creator).then(function (publicKey) {
219
- // debug.log(creator.uri + '\n' + msg.created + '\n' + msg.id + '\n' + publicKey)
220
- if (!publicKey) {
221
- debug.warn('message is signed but ' + creator.uri + ' is missing publicKey');
222
- }
223
- // check that publicKey is a valid hex string
224
- var regex = /[0-9A-Fa-f]{6}/g;
225
- if (!(publicKey !== null && publicKey !== void 0 && publicKey.match(regex))) debug.warn('invalid publicKey hex string\n' + creator.uri + '\n' + publicKey);
226
- // verify signature
227
- else if (signature !== null && signature !== void 0 && signature.value && !(0, _signature.verifySignature)(signature === null || signature === void 0 ? void 0 : signature.value, msg, publicKey)) debug.warn('invalid signature\n' + msg.id);
228
- });
229
- }
230
- _context0.next = 3;
231
- return (0, _chatLogic.originalVersion)(message);
232
- case 3:
233
- originalMessage = _context0.sent;
234
- edited = !message.sameTerm(originalMessage); // @@ load it first @@ Or display the new data at the old date.
235
- // @@@ kludge!
236
- sortDate = _solidLogic.store.the(originalMessage, ns.dct('created'), null, originalMessage.doc()) || _solidLogic.store.the(message, ns.dct('created'), null, message.doc()); // In message
237
- messageRow = dom.createElement('tr');
238
- if (unsignedMessage) messageRow.setAttribute('style', 'background-color: red');
239
- messageRow.AJAR_date = sortDate.value;
240
- messageRow.AJAR_subject = message;
241
- td1 = dom.createElement('td');
242
- messageRow.appendChild(td1);
243
- if (!options.authorDateOnLeft) {
244
- img = dom.createElement('img');
245
- img.setAttribute('style', 'max-height: 2.5em; max-width: 2.5em; border-radius: 0.5em; margin: auto;');
246
- widgets.setImage(img, creator);
247
- td1.appendChild(img);
248
- } else {
249
- creatorAndDate(td1, creator, widgets.shortDate(sortDate.value), message);
250
- }
251
- bothDates = widgets.shortDate(sortDate.value);
252
- if (edited) {
253
- bothDates += ' ... ' + widgets.shortDate(date.value);
254
- }
255
-
256
- // Render the content ot the message itself
257
- td2 = messageRow.appendChild(dom.createElement('td'));
258
- if (!options.authorDateOnLeft) {
259
- creatorAndDateHorizontal(td2, creator, bothDates,
260
- // widgets.shortDate(dateString)
261
- message);
262
- }
263
- text = content ? content.value.trim() : '??? no content?';
264
- isURI = /^https?:\/[^ <>]*$/i.test(text);
265
- para = null;
266
- if (isURI) {
267
- isImage = /\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(text); // @@ Should use content-type not URI
268
- if (isImage && options.expandImagesInline) {
269
- _img = elementForImageURI(text, options);
270
- td2.appendChild(_img);
271
- } else {
272
- // Link but not Image
273
- anc = td2.appendChild(dom.createElement('a'));
274
- para = anc.appendChild(dom.createElement('p'));
275
- anc.href = text;
276
- para.textContent = text;
277
- td2.appendChild(anc);
278
- }
279
- } else {
280
- // text
281
- para = dom.createElement('p');
282
- td2.appendChild(para);
283
- para.textContent = text;
284
- }
285
- if (para) {
286
- bgcolor = colorizeByAuthor ? pad.lightColorHash(creator) : getBgColor(fresh);
287
- para.setAttribute('style', messageBodyStyle + 'background-color: ' + bgcolor + ';');
288
- }
289
- _context0.next = 4;
290
- return (0, _messageTools.sentimentStripLinked)(message, message.doc());
291
- case 4:
292
- strip = _context0.sent;
293
- if (strip.children.length) {
294
- td2.appendChild(dom.createElement('br'));
295
- td2.appendChild(strip);
296
- }
297
-
298
- // Message tool bar button
299
- td3 = dom.createElement('td');
300
- messageRow.appendChild(td3);
301
- toolsButton = widgets.button(dom, _iconBase.icons.iconBase + 'noun_243787.svg', '...');
302
- td3.appendChild(toolsButton);
303
- toolsButton.addEventListener('click', /*#__PURE__*/function () {
304
- var _ref4 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee8(_event) {
305
- var toolsTR, tools, toolsTD;
306
- return _regenerator["default"].wrap(function (_context9) {
307
- while (1) switch (_context9.prev = _context9.next) {
308
- case 0:
309
- if (!messageRow.toolTR) {
310
- _context9.next = 1;
311
- break;
312
- }
313
- // already got a toolbar? Toogle
314
- messageRow.parentNode.removeChild(messageRow.toolTR);
315
- delete messageRow.toolTR;
316
- return _context9.abrupt("return");
317
- case 1:
318
- toolsTR = dom.createElement('tr');
319
- _context9.next = 2;
320
- return (0, _messageTools.messageToolbar)(message, messageRow, _objectSpread(_objectSpread({}, userContext), {}, {
321
- chatOptions: options
322
- }), channelObject);
323
- case 2:
324
- tools = _context9.sent;
325
- tools.style = 'border: 0.05em solid #888; border-radius: 0 0 0.7em 0.7em; border-top: 0; height:3.5em; background-color: #fff;'; // @@ fix
326
- if (messageRow.nextSibling) {
327
- messageRow.parentElement.insertBefore(toolsTR, messageRow.nextSibling);
328
- } else {
329
- messageRow.parentElement.appendChild(toolsTR);
330
- }
331
- messageRow.toolTR = toolsTR;
332
- toolsTR.appendChild(dom.createElement('td')); // left
333
- toolsTD = toolsTR.appendChild(dom.createElement('td'));
334
- toolsTR.appendChild(dom.createElement('td')); // right
335
- toolsTD.appendChild(tools);
336
- case 3:
337
- case "end":
338
- return _context9.stop();
339
- }
340
- }, _callee8);
341
- }));
342
- return function (_x18) {
343
- return _ref4.apply(this, arguments);
344
- };
345
- }());
346
- if (thread && options.showThread) {
347
- // debug.log(' message has thread ' + thread)
348
- td3.appendChild(widgets.button(dom, _iconBase.icons.iconBase + 'noun_1180164.svg',
349
- // right arrow .. @@ think of stg better
350
- 'see thread', function (_e) {
351
- // debug.log('@@@@ Calling showThread thread ' + thread)
352
- options.showThread(thread, options);
353
- }));
354
- }
355
- return _context0.abrupt("return", messageRow);
356
- case 5:
357
- case "end":
358
- return _context0.stop();
359
- }
360
- }, _callee9);
361
- }));
362
- return _renderMessageRow.apply(this, arguments);
363
- }
364
- function switchToEditor(_x6, _x7, _x8, _x9) {
365
- return _switchToEditor.apply(this, arguments);
366
- }
367
- /* Control for a new message -- or editing an old message ***************
368
- *
369
- */
370
- function _switchToEditor() {
371
- _switchToEditor = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee0(messageRow, message, channelObject, userContext) {
372
- var messageTable, editRow, _t3, _t4, _t5, _t6, _t7;
373
- return _regenerator["default"].wrap(function (_context1) {
374
- while (1) switch (_context1.prev = _context1.next) {
375
- case 0:
376
- messageTable = messageRow.parentNode;
377
- _t3 = renderMessageEditor;
378
- _t4 = channelObject;
379
- _t5 = messageTable;
380
- _t6 = userContext;
381
- _t7 = channelObject.options;
382
- _context1.next = 1;
383
- return (0, _chatLogic.mostRecentVersion)(message);
384
- case 1:
385
- editRow = _t3(_t4, _t5, _t6, _t7, _context1.sent);
386
- messageTable.insertBefore(editRow, messageRow);
387
- editRow.originalRow = messageRow;
388
- messageRow.style.visibility = 'hidden'; // Hide the original message. unhide if user cancels edit
389
- case 2:
390
- case "end":
391
- return _context1.stop();
392
- }
393
- }, _callee0);
394
- }));
395
- return _switchToEditor.apply(this, arguments);
396
- }
397
- function renderMessageEditor(channelObject, messageTable, userContext, options, originalMessage) {
398
- function revertEditing(messageEditor) {
399
- messageEditor.originalRow.style.visibility = 'visible'; // restore read-only version
400
- messageEditor.parentNode.removeChild(messageEditor);
401
- }
402
- function handleFieldInput(_x0) {
403
- return _handleFieldInput.apply(this, arguments);
404
- }
405
- function _handleFieldInput() {
406
- _handleFieldInput = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5(_event) {
407
- return _regenerator["default"].wrap(function (_context6) {
408
- while (1) switch (_context6.prev = _context6.next) {
409
- case 0:
410
- _context6.next = 1;
411
- return sendMessage(field.value, true);
412
- case 1:
413
- case "end":
414
- return _context6.stop();
415
- }
416
- }, _callee5);
417
- }));
418
- return _handleFieldInput.apply(this, arguments);
419
- }
420
- function sendMessage(_x1, _x10) {
421
- return _sendMessage.apply(this, arguments);
422
- } // sendMessage
423
- // DRAG AND DROP
424
- function _sendMessage() {
425
- _sendMessage = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee7(text, fromMainField) {
426
- var sendComplete, _sendComplete, message, statusArea, _t2;
427
- return _regenerator["default"].wrap(function (_context8) {
428
- while (1) switch (_context8.prev = _context8.next) {
429
- case 0:
430
- _sendComplete = function _sendComplete3() {
431
- _sendComplete = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee6(message, _text2) {
432
- var oldRow;
433
- return _regenerator["default"].wrap(function (_context7) {
434
- while (1) switch (_context7.prev = _context7.next) {
435
- case 0:
436
- _context7.next = 1;
437
- return (0, _infinite.insertMessageIntoTable)(channelObject, messageTable, message, false, options, userContext);
438
- case 1:
439
- // not green
440
-
441
- if (originalMessage) {
442
- // editing another message
443
- oldRow = messageEditor.originalRow; // oldRow.style.display = '' // restore read-only version, re-attack
444
- if (oldRow.parentNode) {
445
- oldRow.parentNode.removeChild(oldRow); // No longer needed old version
446
- } else {
447
- debug.warn('No parentNode on old message ' + oldRow.textContent);
448
- oldRow.style.backgroundColor = '#fee';
449
- oldRow.style.visibility = 'hidden'; // @@ FIX THIS AND REMOVE FROM DOM INSTEAD
450
- }
451
- messageEditor.parentNode.removeChild(messageEditor); // no longer need editor
452
- } else {
453
- if (fromMainField) {
454
- field.value = ''; // clear from out for reuse
455
- field.setAttribute('style', messageBodyStyle);
456
- field.disabled = false;
457
- field.scrollIntoView(options.newestFirst); // allign bottom (top)
458
- field.focus(); // Start typing next line immediately
459
- field.select();
460
- }
461
- }
462
- // await channelObject.div.refresh() // Add new day if nec @@ add back
463
- case 2:
464
- case "end":
465
- return _context7.stop();
466
- }
467
- }, _callee6);
468
- }));
469
- return _sendComplete.apply(this, arguments);
470
- };
471
- sendComplete = function _sendComplete2(_x16, _x17) {
472
- return _sendComplete.apply(this, arguments);
473
- }; // const me = authn.currentUser() // Must be logged on or wuld have got login button
474
- if (fromMainField) {
475
- field.setAttribute('style', messageBodyStyle + 'color: #bbb;'); // pendingedit
476
- field.disabled = true;
477
- }
478
- _context8.prev = 1;
479
- _context8.next = 2;
480
- return channelObject.updateMessage(text, originalMessage, null, options.thread);
481
- case 2:
482
- message = _context8.sent;
483
- _context8.next = 4;
484
- break;
485
- case 3:
486
- _context8.prev = 3;
487
- _t2 = _context8["catch"](1);
488
- statusArea = userContext.statusArea || messageEditor;
489
- statusArea.appendChild(widgets.errorMessageBlock(dom, 'Error writing message: ' + _t2));
490
- return _context8.abrupt("return");
491
- case 4:
492
- _context8.next = 5;
493
- return sendComplete(message, text);
494
- case 5:
495
- case "end":
496
- return _context8.stop();
497
- }
498
- }, _callee7, null, [[1, 3]]);
499
- }));
500
- return _sendMessage.apply(this, arguments);
501
- }
502
- function droppedFileHandler(files) {
503
- var base = messageTable.chatDocument.dir().uri;
504
- widgets.uploadFiles(_solidLogic.store.fetcher, files, base + 'Files', base + 'Pictures', /*#__PURE__*/function () {
505
- var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(theFile, destURI) {
506
- return _regenerator["default"].wrap(function (_context2) {
507
- while (1) switch (_context2.prev = _context2.next) {
508
- case 0:
509
- _context2.next = 1;
510
- return sendMessage(destURI);
511
- case 1:
512
- case "end":
513
- return _context2.stop();
514
- }
515
- }, _callee);
516
- }));
517
- return function (_x11, _x12) {
518
- return _ref.apply(this, arguments);
519
- };
520
- }());
521
- }
522
-
523
- // When a set of URIs are dropped on the field
524
- var droppedURIHandler = /*#__PURE__*/function () {
525
- var _ref2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(uris) {
526
- var _iterator, _step, uri, _t;
527
- return _regenerator["default"].wrap(function (_context3) {
528
- while (1) switch (_context3.prev = _context3.next) {
529
- case 0:
530
- _iterator = _createForOfIteratorHelper(uris);
531
- _context3.prev = 1;
532
- _iterator.s();
533
- case 2:
534
- if ((_step = _iterator.n()).done) {
535
- _context3.next = 4;
536
- break;
537
- }
538
- uri = _step.value;
539
- _context3.next = 3;
540
- return sendMessage(uri);
541
- case 3:
542
- _context3.next = 2;
543
- break;
544
- case 4:
545
- _context3.next = 6;
546
- break;
547
- case 5:
548
- _context3.prev = 5;
549
- _t = _context3["catch"](1);
550
- _iterator.e(_t);
551
- case 6:
552
- _context3.prev = 6;
553
- _iterator.f();
554
- return _context3.finish(6);
555
- case 7:
556
- case "end":
557
- return _context3.stop();
558
- }
559
- }, _callee2, null, [[1, 5, 6, 7]]);
560
- }));
561
- return function droppedURIHandler(_x13) {
562
- return _ref2.apply(this, arguments);
563
- };
564
- }();
565
-
566
- // When we are actually logged on
567
- function turnOnInput() {
568
- function getImageDoc() {
569
- imageDoc = $rdf.sym(chatDocument.dir().uri + 'Image_' + Date.now() + '.png');
570
- return imageDoc;
571
- }
572
- function tookPicture(_x14) {
573
- return _tookPicture.apply(this, arguments);
574
- } // Body of turnOnInput
575
- function _tookPicture() {
576
- _tookPicture = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4(imageDoc) {
577
- return _regenerator["default"].wrap(function (_context5) {
578
- while (1) switch (_context5.prev = _context5.next) {
579
- case 0:
580
- if (!imageDoc) {
581
- _context5.next = 1;
582
- break;
583
- }
584
- _context5.next = 1;
585
- return sendMessage(imageDoc.uri);
586
- case 1:
587
- case "end":
588
- return _context5.stop();
589
- }
590
- }, _callee4);
591
- }));
592
- return _tookPicture.apply(this, arguments);
593
- }
594
- var menuButton;
595
- if (options.menuHandler) {
596
- var _menuButton = widgets.button(dom, _iconBase.icons.iconBase + 'noun_243787.svg', 'More');
597
- _menuButton.setAttribute('style', style.buttonStyle + 'float: right;');
598
- // menuButton.addEventListener('click', _event => sendMessage(), false) (done in turnoninput)
599
- rhs.appendChild(_menuButton);
600
- }
601
- if (options.menuHandler && menuButton) {
602
- var _me = _solidLogic.authn.currentUser();
603
- var menuOptions = {
604
- me: _me,
605
- dom: dom,
606
- div: null,
607
- // @@ was: div
608
- newBase: messageTable.chatDocument.dir().uri
609
- };
610
- menuButton.addEventListener('click', function (event) {
611
- options.menuHandler(event, channelObject.chatChannel, menuOptions);
612
- }, false);
613
- }
614
- var me = _solidLogic.authn.currentUser(); // If already logged on
615
- creatorAndDate(lhs, me, '', null);
616
- field = dom.createElement('textarea');
617
- middle.innerHTML = '';
618
- middle.appendChild(field);
619
- field.rows = 3;
620
- if (originalMessage) {
621
- field.value = _solidLogic.store.anyValue(originalMessage, ns.sioc('content'), null, originalMessage.doc());
622
- }
623
- // field.cols = 40
624
- field.setAttribute('style', messageBodyStyle + 'background-color: #eef;');
625
-
626
- // Trap the Enter BEFORE it is used ti make a newline
627
-
628
- field.addEventListener('keydown', /*#__PURE__*/function () {
629
- var _ref3 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(e) {
630
- return _regenerator["default"].wrap(function (_context4) {
631
- while (1) switch (_context4.prev = _context4.next) {
632
- case 0:
633
- if (!(e.code === 'Enter')) {
634
- _context4.next = 1;
635
- break;
636
- }
637
- if (!(!e.shiftKey && !options.shiftEnterSendsMessage || e.shiftKey && options.shiftEnterSendsMessage)) {
638
- _context4.next = 1;
639
- break;
640
- }
641
- _context4.next = 1;
642
- return handleFieldInput(e);
643
- case 1:
644
- case "end":
645
- return _context4.stop();
646
- }
647
- }, _callee3);
648
- }));
649
- return function (_x15) {
650
- return _ref3.apply(this, arguments);
651
- };
652
- }(), false);
653
- widgets.makeDropTarget(field, droppedURIHandler, droppedFileHandler);
654
- rhs.innerHTML = '';
655
- sendButton = widgets.button(dom, sendIcon, 'Send');
656
- sendButton.style["float"] = 'right';
657
- sendButton.addEventListener('click', function (_event) {
658
- return handleFieldInput();
659
- }, false);
660
- rhs.appendChild(sendButton);
661
- if (originalMessage) {
662
- // Are we editing another message?
663
- var cancelButton = rhs.appendChild(widgets.cancelButton(dom));
664
- cancelButton.style["float"] = 'left';
665
- // cancelButton.firstChild.style.opacity = '0.3' // moved to buttons
666
- cancelButton.addEventListener('click', function (_event) {
667
- return revertEditing(messageEditor);
668
- }, false);
669
- rhs.appendChild(cancelButton);
670
- }
671
- var chatDocument = channelObject.dateFolder.leafDocumentFromDate(new Date());
672
- var imageDoc;
673
- middle.appendChild(_index.media.cameraButton(dom, _solidLogic.store, getImageDoc, tookPicture));
674
- pad.recordParticipation(channelObject.channel, channelObject.channel.doc()); // participation =
675
- } // turn on inpuut
676
-
677
- // Body of renderMessageEditor
678
-
679
- var sortDate, sendIcon;
680
- if (originalMessage) {
681
- sortDate = _solidLogic.store.anyValue(originalMessage, ns.dct('created'), null, originalMessage.doc());
682
- // text = store.anyValue(originalMessage, ns.sioc('content'), null, originalMessage.doc())
683
- sendIcon = _iconBase.icons.iconBase + 'noun_1180158.svg'; // Green check
684
- // cancelIcon = icons.iconBase + 'noun_1180156.svg' // Black cross
685
- } else {
686
- sendIcon = _iconBase.icons.iconBase + 'noun_383448.svg';
687
- sortDate = '9999-01-01T00:00:00Z'; // ISO format for field sort
688
- // text = ''
689
- }
690
- var messageEditor = dom.createElement('tr');
691
- var lhs = dom.createElement('td');
692
- var middle = dom.createElement('td');
693
- var rhs = dom.createElement('td');
694
- messageEditor.appendChild(lhs);
695
- messageEditor.appendChild(middle);
696
- messageEditor.appendChild(rhs);
697
- messageEditor.AJAR_date = sortDate;
698
- // messageEditor.appendChild(dom.createElement('br'))
699
-
700
- var field, sendButton;
701
- var context = {
702
- div: middle,
703
- dom: dom
704
- };
705
- (0, _login.ensureLoggedIn)(context).then(function (context) {
706
- // me = context.me
707
- turnOnInput();
708
- Object.assign(context, userContext);
709
- (0, _bookmarks.findBookmarkDocument)(context).then(function (_context) {
710
- // debug.log('Bookmark file: ' + context.bookmarkDocument)
711
- });
712
- });
713
- return messageEditor;
714
- } // renderMessageEditor
715
- //# sourceMappingURL=message.js.map