solid-ui 2.4.32 → 2.4.33-alpha

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