solid-ui 2.4.24 → 2.4.25
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.
- package/LICENSE.md +0 -0
- package/README.md +0 -0
- package/dist/index.html +0 -0
- package/dist/main.js +50483 -50370
- package/dist/main.js.map +1 -1
- package/lib/acl/access-controller.d.ts +0 -0
- package/lib/acl/access-controller.d.ts.map +0 -0
- package/lib/acl/access-controller.js +90 -98
- package/lib/acl/access-controller.js.map +1 -1
- package/lib/acl/access-groups.d.ts +0 -0
- package/lib/acl/access-groups.d.ts.map +0 -0
- package/lib/acl/access-groups.js +82 -90
- package/lib/acl/access-groups.js.map +1 -1
- package/lib/acl/acl-control.d.ts +0 -0
- package/lib/acl/acl-control.d.ts.map +0 -0
- package/lib/acl/acl-control.js +50 -54
- package/lib/acl/acl-control.js.map +1 -1
- package/lib/acl/acl.d.ts +3 -3
- package/lib/acl/acl.d.ts.map +1 -1
- package/lib/acl/acl.js +13 -15
- package/lib/acl/acl.js.map +1 -1
- package/lib/acl/add-agent-buttons.d.ts +0 -0
- package/lib/acl/add-agent-buttons.d.ts.map +0 -0
- package/lib/acl/add-agent-buttons.js +142 -154
- package/lib/acl/add-agent-buttons.js.map +1 -1
- package/lib/acl/index.d.ts +0 -0
- package/lib/acl/index.d.ts.map +0 -0
- package/lib/acl/index.js +0 -0
- package/lib/acl/index.js.map +0 -0
- package/lib/acl/styles.d.ts +0 -0
- package/lib/acl/styles.d.ts.map +0 -0
- package/lib/acl/styles.js +0 -0
- package/lib/acl/styles.js.map +0 -0
- package/lib/acl/types.d.ts +6 -6
- package/lib/acl/types.d.ts.map +1 -1
- package/lib/acl/types.js +0 -0
- package/lib/acl/types.js.map +0 -0
- package/lib/chat/bookmarks.js +181 -191
- package/lib/chat/bookmarks.js.map +1 -1
- package/lib/chat/chatLogic.js +96 -104
- package/lib/chat/chatLogic.js.map +1 -1
- package/lib/chat/dateFolder.js +232 -224
- package/lib/chat/dateFolder.js.map +1 -1
- package/lib/chat/infinite.js +634 -658
- package/lib/chat/infinite.js.map +1 -1
- package/lib/chat/message.js +119 -131
- package/lib/chat/message.js.map +1 -1
- package/lib/chat/messageTools.js +106 -114
- package/lib/chat/messageTools.js.map +1 -1
- package/lib/chat/thread.js +16 -18
- package/lib/chat/thread.js.map +1 -1
- package/lib/create/create.d.ts +0 -0
- package/lib/create/create.d.ts.map +0 -0
- package/lib/create/create.js +0 -0
- package/lib/create/create.js.map +0 -0
- package/lib/create/index.d.ts +0 -0
- package/lib/create/index.d.ts.map +0 -0
- package/lib/create/index.js +0 -0
- package/lib/create/index.js.map +0 -0
- package/lib/create/types.d.ts +1 -1
- package/lib/create/types.d.ts.map +1 -1
- package/lib/create/types.js +0 -0
- package/lib/create/types.js.map +0 -0
- package/lib/debug.d.ts +0 -0
- package/lib/debug.d.ts.map +0 -0
- package/lib/debug.js +0 -0
- package/lib/debug.js.map +0 -0
- package/lib/folders.js +0 -0
- package/lib/folders.js.map +0 -0
- package/lib/footer/index.d.ts +1 -1
- package/lib/footer/index.d.ts.map +1 -1
- package/lib/footer/index.js +33 -37
- package/lib/footer/index.js.map +1 -1
- package/lib/footer/styleMap.d.ts +0 -0
- package/lib/footer/styleMap.d.ts.map +0 -0
- package/lib/footer/styleMap.js +0 -0
- package/lib/footer/styleMap.js.map +0 -0
- package/lib/header/empty-profile.d.ts +0 -0
- package/lib/header/empty-profile.d.ts.map +0 -0
- package/lib/header/empty-profile.js +0 -0
- package/lib/header/empty-profile.js.map +0 -0
- package/lib/header/index.d.ts +4 -4
- package/lib/header/index.d.ts.map +1 -1
- package/lib/header/index.js +126 -134
- package/lib/header/index.js.map +1 -1
- package/lib/header/styleMap.d.ts +0 -0
- package/lib/header/styleMap.d.ts.map +0 -0
- package/lib/header/styleMap.js +0 -0
- package/lib/header/styleMap.js.map +0 -0
- package/lib/iconBase.d.ts +0 -0
- package/lib/iconBase.d.ts.map +0 -0
- package/lib/iconBase.js +0 -0
- package/lib/iconBase.js.map +0 -0
- package/lib/icons/solid_logo.d.ts +0 -0
- package/lib/icons/solid_logo.d.ts.map +0 -0
- package/lib/icons/solid_logo.js +0 -0
- package/lib/icons/solid_logo.js.map +0 -0
- package/lib/index.d.ts +0 -0
- package/lib/index.d.ts.map +0 -0
- package/lib/index.js +0 -0
- package/lib/index.js.map +0 -0
- package/lib/jss/index.d.ts +0 -0
- package/lib/jss/index.d.ts.map +0 -0
- package/lib/jss/index.js +0 -0
- package/lib/jss/index.js.map +0 -0
- package/lib/log.d.ts +0 -0
- package/lib/log.d.ts.map +0 -0
- package/lib/log.js +0 -0
- package/lib/log.js.map +0 -0
- package/lib/login/login.d.ts +0 -0
- package/lib/login/login.d.ts.map +0 -0
- package/lib/login/login.js +470 -470
- package/lib/login/login.js.map +1 -1
- package/lib/matrix/index.d.ts +0 -0
- package/lib/matrix/index.d.ts.map +0 -0
- package/lib/matrix/index.js +0 -0
- package/lib/matrix/index.js.map +0 -0
- package/lib/matrix/matrix.d.ts +0 -0
- package/lib/matrix/matrix.d.ts.map +0 -0
- package/lib/matrix/matrix.js +0 -0
- package/lib/matrix/matrix.js.map +0 -0
- package/lib/matrix/types.d.ts +1 -1
- package/lib/matrix/types.d.ts.map +1 -1
- package/lib/matrix/types.js +0 -0
- package/lib/matrix/types.js.map +0 -0
- package/lib/media/index.d.ts +0 -0
- package/lib/media/index.d.ts.map +0 -0
- package/lib/media/index.js +0 -0
- package/lib/media/index.js.map +0 -0
- package/lib/media/media-capture.d.ts +0 -0
- package/lib/media/media-capture.d.ts.map +0 -0
- package/lib/media/media-capture.js +8 -10
- package/lib/media/media-capture.js.map +1 -1
- package/lib/messageArea.js +0 -0
- package/lib/messageArea.js.map +0 -0
- package/lib/noun_Camera_1618446_000000.js +0 -0
- package/lib/noun_Camera_1618446_000000.js.map +0 -0
- package/lib/ns.js +0 -0
- package/lib/ns.js.map +0 -0
- package/lib/pad.d.ts +1 -1
- package/lib/pad.d.ts.map +1 -1
- package/lib/pad.js +0 -0
- package/lib/pad.js.map +0 -0
- package/lib/participation.d.ts +1 -1
- package/lib/participation.d.ts.map +1 -1
- package/lib/participation.js +1 -1
- package/lib/participation.js.map +0 -0
- package/lib/preferences.js +0 -0
- package/lib/preferences.js.map +0 -0
- package/lib/signup/config-default.js +0 -0
- package/lib/signup/config-default.js.map +0 -0
- package/lib/signup/signup.js +0 -0
- package/lib/signup/signup.js.map +0 -0
- package/lib/stories/decorators.js +0 -0
- package/lib/stories/decorators.js.map +0 -0
- package/lib/style.js +0 -0
- package/lib/style.js.map +0 -0
- package/lib/style_multiSelect.js +0 -0
- package/lib/style_multiSelect.js.map +0 -0
- package/lib/table.js +0 -0
- package/lib/table.js.map +0 -0
- package/lib/tabs.d.ts +1 -1
- package/lib/tabs.d.ts.map +1 -1
- package/lib/tabs.js +0 -0
- package/lib/tabs.js.map +0 -0
- package/lib/typings.d.js +0 -0
- package/lib/typings.d.js.map +0 -0
- package/lib/utils/headerFooterHelpers.d.ts +1 -1
- package/lib/utils/headerFooterHelpers.d.ts.map +1 -1
- package/lib/utils/headerFooterHelpers.js +78 -80
- package/lib/utils/headerFooterHelpers.js.map +1 -1
- package/lib/utils/index.js +2 -6
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/label.d.ts +0 -0
- package/lib/utils/label.d.ts.map +0 -0
- package/lib/utils/label.js +0 -0
- package/lib/utils/label.js.map +0 -0
- package/lib/versionInfo.d.ts +0 -0
- package/lib/versionInfo.d.ts.map +0 -0
- package/lib/versionInfo.js +13 -13
- package/lib/versionInfo.js.map +1 -1
- package/lib/widgets/buttons/iconLinks.d.ts +0 -0
- package/lib/widgets/buttons/iconLinks.d.ts.map +0 -0
- package/lib/widgets/buttons/iconLinks.js +0 -0
- package/lib/widgets/buttons/iconLinks.js.map +0 -0
- package/lib/widgets/buttons.d.ts +5 -5
- package/lib/widgets/buttons.d.ts.map +1 -1
- package/lib/widgets/buttons.js +0 -0
- package/lib/widgets/buttons.js.map +0 -0
- package/lib/widgets/dragAndDrop.js +0 -0
- package/lib/widgets/dragAndDrop.js.map +0 -0
- package/lib/widgets/error.d.ts +0 -0
- package/lib/widgets/error.d.ts.map +0 -0
- package/lib/widgets/error.js +0 -0
- package/lib/widgets/error.js.map +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteBar.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteBar.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteBar.js +217 -229
- package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompleteField.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteField.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteField.js +70 -74
- package/lib/widgets/forms/autocomplete/autocompleteField.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts +2 -2
- package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompletePicker.js +363 -379
- package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +1 -1
- package/lib/widgets/forms/autocomplete/language.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/language.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/language.js +79 -83
- package/lib/widgets/forms/autocomplete/language.js.map +1 -1
- package/lib/widgets/forms/autocomplete/publicData.d.ts +2 -2
- package/lib/widgets/forms/autocomplete/publicData.d.ts.map +1 -1
- package/lib/widgets/forms/autocomplete/publicData.js +263 -281
- package/lib/widgets/forms/autocomplete/publicData.js.map +1 -1
- package/lib/widgets/forms/basic.d.ts +0 -0
- package/lib/widgets/forms/basic.d.ts.map +0 -0
- package/lib/widgets/forms/basic.js +0 -0
- package/lib/widgets/forms/basic.js.map +0 -0
- package/lib/widgets/forms/comment.d.ts +0 -0
- package/lib/widgets/forms/comment.d.ts.map +0 -0
- package/lib/widgets/forms/comment.js +0 -0
- package/lib/widgets/forms/comment.js.map +0 -0
- package/lib/widgets/forms/fieldFunction.d.ts +1 -1
- package/lib/widgets/forms/fieldFunction.d.ts.map +1 -1
- package/lib/widgets/forms/fieldFunction.js +1 -3
- package/lib/widgets/forms/fieldFunction.js.map +1 -1
- package/lib/widgets/forms/fieldParams.d.ts +1 -1
- package/lib/widgets/forms/fieldParams.d.ts.map +1 -1
- package/lib/widgets/forms/fieldParams.js +0 -0
- package/lib/widgets/forms/fieldParams.js.map +0 -0
- package/lib/widgets/forms/formStyle.d.ts +0 -0
- package/lib/widgets/forms/formStyle.d.ts.map +0 -0
- package/lib/widgets/forms/formStyle.js +0 -0
- package/lib/widgets/forms/formStyle.js.map +0 -0
- package/lib/widgets/forms.js +197 -225
- package/lib/widgets/forms.js.map +1 -1
- package/lib/widgets/index.js +0 -0
- package/lib/widgets/index.js.map +0 -0
- package/lib/widgets/multiSelect.js +4 -4
- package/lib/widgets/multiSelect.js.map +1 -1
- package/lib/widgets/peoplePicker.js +0 -0
- package/lib/widgets/peoplePicker.js.map +0 -0
- package/lib/widgets/widgetHelpers.d.ts +0 -0
- package/lib/widgets/widgetHelpers.d.ts.map +0 -0
- package/lib/widgets/widgetHelpers.js +0 -0
- package/lib/widgets/widgetHelpers.js.map +0 -0
- package/package.json +34 -31
package/lib/chat/infinite.js
CHANGED
|
@@ -117,698 +117,674 @@ function _infiniteMessageArea() {
|
|
|
117
117
|
_infiniteMessageArea = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee12(dom, wasStore, chatChannel, options) {
|
|
118
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
119
|
return _regenerator["default"].wrap(function _callee12$(_context12) {
|
|
120
|
-
while (1) {
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
_loadInitialContent = function
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
if (liveMessageTable.inputRow.scrollIntoView) {
|
|
137
|
-
liveMessageTable.inputRow.scrollIntoView(newestFirst); // align tops or bottoms
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
};
|
|
141
|
-
yank = function _yank() {
|
|
142
|
-
selectedMessageTable.selectedElement.scrollIntoView({
|
|
143
|
-
block: 'center'
|
|
144
|
-
});
|
|
145
|
-
};
|
|
146
|
-
if (options.selectedMessage) {
|
|
147
|
-
selectedDocument = options.selectedMessage.doc();
|
|
148
|
-
now = new Date();
|
|
149
|
-
todayDocument = dateFolder.leafDocumentFromDate(now);
|
|
150
|
-
live = todayDocument.sameTerm(selectedDocument);
|
|
120
|
+
while (1) switch (_context12.prev = _context12.next) {
|
|
121
|
+
case 0:
|
|
122
|
+
_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) {
|
|
127
|
+
case 0:
|
|
128
|
+
fixScroll = function _fixScroll() {
|
|
129
|
+
if (options.selectedElement) {
|
|
130
|
+
options.selectedElement.scrollIntoView({
|
|
131
|
+
block: 'center'
|
|
132
|
+
}); // align tops or bottoms
|
|
133
|
+
} else {
|
|
134
|
+
if (liveMessageTable.inputRow.scrollIntoView) {
|
|
135
|
+
liveMessageTable.inputRow.scrollIntoView(newestFirst); // align tops or bottoms
|
|
151
136
|
}
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
yank();
|
|
165
|
-
setTimeout(yank, 1000); // @@ kludge - restore position distubed by other cHANGES
|
|
166
|
-
_context11.next = 19;
|
|
167
|
-
break;
|
|
168
|
-
case 15:
|
|
169
|
-
_context11.next = 17;
|
|
170
|
-
return appendCurrentMessages();
|
|
171
|
-
case 17:
|
|
172
|
-
earliest.messageTable = liveMessageTable;
|
|
173
|
-
latest.messageTable = liveMessageTable;
|
|
174
|
-
case 19:
|
|
175
|
-
_context11.next = 21;
|
|
176
|
-
return loadMoreWhereNeeded(null, fixScroll);
|
|
177
|
-
case 21:
|
|
178
|
-
div.addEventListener('scroll', loadMoreWhereNeeded);
|
|
179
|
-
if (options.solo) {
|
|
180
|
-
document.body.addEventListener('scroll', loadMoreWhereNeeded);
|
|
181
|
-
}
|
|
182
|
-
case 23:
|
|
183
|
-
case "end":
|
|
184
|
-
return _context11.stop();
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
yank = function _yank() {
|
|
140
|
+
selectedMessageTable.selectedElement.scrollIntoView({
|
|
141
|
+
block: 'center'
|
|
142
|
+
});
|
|
143
|
+
};
|
|
144
|
+
if (options.selectedMessage) {
|
|
145
|
+
selectedDocument = options.selectedMessage.doc();
|
|
146
|
+
now = new Date();
|
|
147
|
+
todayDocument = dateFolder.leafDocumentFromDate(now);
|
|
148
|
+
live = todayDocument.sameTerm(selectedDocument);
|
|
185
149
|
}
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
return _loadInitialContent.apply(this, arguments);
|
|
190
|
-
};
|
|
191
|
-
loadInitialContent = function _loadInitialContent2() {
|
|
192
|
-
return _loadInitialContent.apply(this, arguments);
|
|
193
|
-
};
|
|
194
|
-
_loadMoreWhereNeeded = function _loadMoreWhereNeeded3() {
|
|
195
|
-
_loadMoreWhereNeeded = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee10(event, fixScroll) {
|
|
196
|
-
var freeze, magicZone, done, scrollBottom, scrollTop;
|
|
197
|
-
return _regenerator["default"].wrap(function _callee10$(_context10) {
|
|
198
|
-
while (1) {
|
|
199
|
-
switch (_context10.prev = _context10.next) {
|
|
200
|
-
case 0:
|
|
201
|
-
if (!lock) {
|
|
202
|
-
_context10.next = 2;
|
|
203
|
-
break;
|
|
204
|
-
}
|
|
205
|
-
return _context10.abrupt("return");
|
|
206
|
-
case 2:
|
|
207
|
-
lock = true;
|
|
208
|
-
freeze = !fixScroll;
|
|
209
|
-
magicZone = 150; // const top = div.scrollTop
|
|
210
|
-
// const bottom = div.scrollHeight - top - div.clientHeight
|
|
211
|
-
case 5:
|
|
212
|
-
if (!(div.scrollTop < magicZone && earliest.messageTable && !earliest.messageTable.initial && earliest.messageTable.extendBackwards)) {
|
|
213
|
-
_context10.next = 21;
|
|
214
|
-
break;
|
|
215
|
-
}
|
|
216
|
-
if (!(div.scrollHeight === 0)) {
|
|
217
|
-
_context10.next = 10;
|
|
218
|
-
break;
|
|
219
|
-
}
|
|
220
|
-
// console.log(' chat/loadMoreWhereNeeded: trying later...')
|
|
221
|
-
setTimeout(loadMoreWhereNeeded, 2000); // couple be less
|
|
222
|
-
lock = false;
|
|
223
|
-
return _context10.abrupt("return");
|
|
224
|
-
case 10:
|
|
225
|
-
// console.log(' chat/loadMoreWhereNeeded: Going now')
|
|
226
|
-
scrollBottom = div.scrollHeight - div.scrollTop;
|
|
227
|
-
debug.log('infinite scroll: adding above: top ' + div.scrollTop);
|
|
228
|
-
_context10.next = 14;
|
|
229
|
-
return earliest.messageTable.extendBackwards();
|
|
230
|
-
case 14:
|
|
231
|
-
done = _context10.sent;
|
|
232
|
-
if (freeze) {
|
|
233
|
-
div.scrollTop = div.scrollHeight - scrollBottom;
|
|
234
|
-
}
|
|
235
|
-
if (fixScroll) fixScroll();
|
|
236
|
-
if (!done) {
|
|
237
|
-
_context10.next = 19;
|
|
238
|
-
break;
|
|
239
|
-
}
|
|
240
|
-
return _context10.abrupt("break", 21);
|
|
241
|
-
case 19:
|
|
242
|
-
_context10.next = 5;
|
|
243
|
-
break;
|
|
244
|
-
case 21:
|
|
245
|
-
if (!(options.selectedMessage &&
|
|
246
|
-
// we started in the middle not at the bottom
|
|
247
|
-
div.scrollHeight - div.scrollTop - div.clientHeight < magicZone &&
|
|
248
|
-
// we are scrolled right to the bottom
|
|
249
|
-
latest.messageTable && !latest.messageTable["final"] &&
|
|
250
|
-
// there is more data to come
|
|
251
|
-
latest.messageTable.extendForwards)) {
|
|
252
|
-
_context10.next = 33;
|
|
253
|
-
break;
|
|
254
|
-
}
|
|
255
|
-
scrollTop = div.scrollTop;
|
|
256
|
-
debug.log('infinite scroll: adding below: bottom: ' + (div.scrollHeight - div.scrollTop - div.clientHeight));
|
|
257
|
-
_context10.next = 26;
|
|
258
|
-
return latest.messageTable.extendForwards();
|
|
259
|
-
case 26:
|
|
260
|
-
done = _context10.sent;
|
|
261
|
-
// then add more data on the bottom
|
|
262
|
-
if (freeze) {
|
|
263
|
-
div.scrollTop = scrollTop; // while adding below keep same things in view
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
if (fixScroll) fixScroll();
|
|
267
|
-
if (!done) {
|
|
268
|
-
_context10.next = 31;
|
|
269
|
-
break;
|
|
270
|
-
}
|
|
271
|
-
return _context10.abrupt("break", 33);
|
|
272
|
-
case 31:
|
|
273
|
-
_context10.next = 21;
|
|
274
|
-
break;
|
|
275
|
-
case 33:
|
|
276
|
-
lock = false;
|
|
277
|
-
case 34:
|
|
278
|
-
case "end":
|
|
279
|
-
return _context10.stop();
|
|
150
|
+
if (!(options.selectedMessage && !live)) {
|
|
151
|
+
_context11.next = 15;
|
|
152
|
+
break;
|
|
280
153
|
}
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
switch (_context8.prev = _context8.next) {
|
|
307
|
-
case 0:
|
|
308
|
-
_context8.next = 2;
|
|
309
|
-
return addNewChatDocumentIfNewDay(new Date());
|
|
310
|
-
case 2:
|
|
311
|
-
syncMessages(chatChannel, messageTable); // @@ livemessagetable??
|
|
312
|
-
desktopNotification(chatChannel);
|
|
313
|
-
case 4:
|
|
314
|
-
case "end":
|
|
315
|
-
return _context8.stop();
|
|
316
|
-
}
|
|
317
|
-
}
|
|
318
|
-
}, _callee8);
|
|
319
|
-
})); // The short chat version the live update listening is done in the pane but we do it in the widget @@
|
|
320
|
-
_solidLogic.store.updater.addDownstreamChangeListener(chatDocument, div.refresh); // Live update
|
|
321
|
-
liveMessageTable = messageTable;
|
|
322
|
-
latest.messageTable = liveMessageTable;
|
|
323
|
-
return _context9.abrupt("return", messageTable);
|
|
324
|
-
case 11:
|
|
325
|
-
case "end":
|
|
326
|
-
return _context9.stop();
|
|
154
|
+
selectedDate = dateFolder.dateFromLeafDocument(selectedDocument);
|
|
155
|
+
_context11.next = 7;
|
|
156
|
+
return createMessageTable(selectedDate, live);
|
|
157
|
+
case 7:
|
|
158
|
+
selectedMessageTable = _context11.sent;
|
|
159
|
+
div.appendChild(selectedMessageTable);
|
|
160
|
+
earliest.messageTable = selectedMessageTable;
|
|
161
|
+
latest.messageTable = selectedMessageTable;
|
|
162
|
+
yank();
|
|
163
|
+
setTimeout(yank, 1000); // @@ kludge - restore position distubed by other cHANGES
|
|
164
|
+
_context11.next = 19;
|
|
165
|
+
break;
|
|
166
|
+
case 15:
|
|
167
|
+
_context11.next = 17;
|
|
168
|
+
return appendCurrentMessages();
|
|
169
|
+
case 17:
|
|
170
|
+
earliest.messageTable = liveMessageTable;
|
|
171
|
+
latest.messageTable = liveMessageTable;
|
|
172
|
+
case 19:
|
|
173
|
+
_context11.next = 21;
|
|
174
|
+
return loadMoreWhereNeeded(null, fixScroll);
|
|
175
|
+
case 21:
|
|
176
|
+
div.addEventListener('scroll', loadMoreWhereNeeded);
|
|
177
|
+
if (options.solo) {
|
|
178
|
+
document.body.addEventListener('scroll', loadMoreWhereNeeded);
|
|
327
179
|
}
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
180
|
+
case 23:
|
|
181
|
+
case "end":
|
|
182
|
+
return _context11.stop();
|
|
183
|
+
}
|
|
184
|
+
}, _callee11);
|
|
185
|
+
}));
|
|
186
|
+
return _loadInitialContent.apply(this, arguments);
|
|
187
|
+
};
|
|
188
|
+
loadInitialContent = function _loadInitialContent2() {
|
|
189
|
+
return _loadInitialContent.apply(this, arguments);
|
|
190
|
+
};
|
|
191
|
+
_loadMoreWhereNeeded = function _loadMoreWhereNeeded3() {
|
|
192
|
+
_loadMoreWhereNeeded = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee10(event, fixScroll) {
|
|
193
|
+
var freeze, magicZone, done, scrollBottom, scrollTop;
|
|
194
|
+
return _regenerator["default"].wrap(function _callee10$(_context10) {
|
|
195
|
+
while (1) switch (_context10.prev = _context10.next) {
|
|
196
|
+
case 0:
|
|
197
|
+
if (!lock) {
|
|
198
|
+
_context10.next = 2;
|
|
199
|
+
break;
|
|
200
|
+
}
|
|
201
|
+
return _context10.abrupt("return");
|
|
202
|
+
case 2:
|
|
203
|
+
lock = true;
|
|
204
|
+
freeze = !fixScroll;
|
|
205
|
+
magicZone = 150; // const top = div.scrollTop
|
|
206
|
+
// const bottom = div.scrollHeight - top - div.clientHeight
|
|
207
|
+
case 5:
|
|
208
|
+
if (!(div.scrollTop < magicZone && earliest.messageTable && !earliest.messageTable.initial && earliest.messageTable.extendBackwards)) {
|
|
209
|
+
_context10.next = 21;
|
|
210
|
+
break;
|
|
211
|
+
}
|
|
212
|
+
if (!(div.scrollHeight === 0)) {
|
|
213
|
+
_context10.next = 10;
|
|
214
|
+
break;
|
|
215
|
+
}
|
|
216
|
+
// console.log(' chat/loadMoreWhereNeeded: trying later...')
|
|
217
|
+
setTimeout(loadMoreWhereNeeded, 2000); // couple be less
|
|
218
|
+
lock = false;
|
|
219
|
+
return _context10.abrupt("return");
|
|
220
|
+
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;
|
|
225
|
+
return earliest.messageTable.extendBackwards();
|
|
226
|
+
case 14:
|
|
227
|
+
done = _context10.sent;
|
|
228
|
+
if (freeze) {
|
|
229
|
+
div.scrollTop = div.scrollHeight - scrollBottom;
|
|
230
|
+
}
|
|
231
|
+
if (fixScroll) fixScroll();
|
|
232
|
+
if (!done) {
|
|
233
|
+
_context10.next = 19;
|
|
234
|
+
break;
|
|
235
|
+
}
|
|
236
|
+
return _context10.abrupt("break", 21);
|
|
237
|
+
case 19:
|
|
238
|
+
_context10.next = 5;
|
|
239
|
+
break;
|
|
240
|
+
case 21:
|
|
241
|
+
if (!(options.selectedMessage &&
|
|
242
|
+
// we started in the middle not at the bottom
|
|
243
|
+
div.scrollHeight - div.scrollTop - div.clientHeight < magicZone &&
|
|
244
|
+
// we are scrolled right to the bottom
|
|
245
|
+
latest.messageTable && !latest.messageTable["final"] &&
|
|
246
|
+
// there is more data to come
|
|
247
|
+
latest.messageTable.extendForwards)) {
|
|
248
|
+
_context10.next = 33;
|
|
249
|
+
break;
|
|
250
|
+
}
|
|
251
|
+
scrollTop = div.scrollTop;
|
|
252
|
+
debug.log('infinite scroll: adding below: bottom: ' + (div.scrollHeight - div.scrollTop - div.clientHeight));
|
|
253
|
+
_context10.next = 26;
|
|
254
|
+
return latest.messageTable.extendForwards();
|
|
255
|
+
case 26:
|
|
256
|
+
done = _context10.sent;
|
|
257
|
+
// then add more data on the bottom
|
|
258
|
+
if (freeze) {
|
|
259
|
+
div.scrollTop = scrollTop; // while adding below keep same things in view
|
|
370
260
|
}
|
|
371
|
-
}
|
|
372
|
-
}, _callee7);
|
|
373
|
-
}));
|
|
374
|
-
return _addNewChatDocumentIfNewDay.apply(this, arguments);
|
|
375
|
-
};
|
|
376
|
-
addNewChatDocumentIfNewDay = function _addNewChatDocumentIf() {
|
|
377
|
-
return _addNewChatDocumentIfNewDay.apply(this, arguments);
|
|
378
|
-
};
|
|
379
|
-
renderMessageTable = function _renderMessageTable(date, live) {
|
|
380
|
-
var scrollBackbutton;
|
|
381
|
-
var scrollForwardButton;
|
|
382
261
|
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
function _extendBackwards() {
|
|
388
|
-
_extendBackwards = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
389
|
-
var done;
|
|
390
|
-
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
391
|
-
while (1) {
|
|
392
|
-
switch (_context.prev = _context.next) {
|
|
393
|
-
case 0:
|
|
394
|
-
_context.next = 2;
|
|
395
|
-
return insertPreviousMessages(true);
|
|
396
|
-
case 2:
|
|
397
|
-
done = _context.sent;
|
|
398
|
-
if (done) {
|
|
399
|
-
if (scrollBackbutton) {
|
|
400
|
-
scrollBackbutton.firstChild.setAttribute('src', _iconBase.icons.iconBase + 'noun_T-Block_1114655_000000.svg'); // T
|
|
401
|
-
scrollBackbutton.disabled = true;
|
|
402
|
-
}
|
|
403
|
-
messageTable.initial = true;
|
|
404
|
-
} else {
|
|
405
|
-
messageTable.extendedBack = true;
|
|
406
|
-
}
|
|
407
|
-
setScrollBackbuttonIcon();
|
|
408
|
-
return _context.abrupt("return", done);
|
|
409
|
-
case 6:
|
|
410
|
-
case "end":
|
|
411
|
-
return _context.stop();
|
|
412
|
-
}
|
|
262
|
+
if (fixScroll) fixScroll();
|
|
263
|
+
if (!done) {
|
|
264
|
+
_context10.next = 31;
|
|
265
|
+
break;
|
|
413
266
|
}
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
267
|
+
return _context10.abrupt("break", 33);
|
|
268
|
+
case 31:
|
|
269
|
+
_context10.next = 21;
|
|
270
|
+
break;
|
|
271
|
+
case 33:
|
|
272
|
+
lock = false;
|
|
273
|
+
case 34:
|
|
274
|
+
case "end":
|
|
275
|
+
return _context10.stop();
|
|
421
276
|
}
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
277
|
+
}, _callee10);
|
|
278
|
+
}));
|
|
279
|
+
return _loadMoreWhereNeeded.apply(this, arguments);
|
|
280
|
+
};
|
|
281
|
+
loadMoreWhereNeeded = function _loadMoreWhereNeeded2(_x10, _x11) {
|
|
282
|
+
return _loadMoreWhereNeeded.apply(this, arguments);
|
|
283
|
+
};
|
|
284
|
+
_appendCurrentMessages = function _appendCurrentMessage2() {
|
|
285
|
+
_appendCurrentMessages = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee9() {
|
|
286
|
+
var now, chatDocument, messageTable;
|
|
287
|
+
return _regenerator["default"].wrap(function _callee9$(_context9) {
|
|
288
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
289
|
+
case 0:
|
|
290
|
+
now = new Date();
|
|
291
|
+
chatDocument = dateFolder.leafDocumentFromDate(now); /// ///////////////////////////////////////////////////////////
|
|
292
|
+
_context9.next = 4;
|
|
293
|
+
return createMessageTable(now, true);
|
|
294
|
+
case 4:
|
|
295
|
+
messageTable = _context9.sent;
|
|
296
|
+
div.appendChild(messageTable);
|
|
297
|
+
div.refresh = /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8() {
|
|
298
|
+
return _regenerator["default"].wrap(function _callee8$(_context8) {
|
|
299
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
300
|
+
case 0:
|
|
301
|
+
_context8.next = 2;
|
|
302
|
+
return addNewChatDocumentIfNewDay(new Date());
|
|
303
|
+
case 2:
|
|
304
|
+
syncMessages(chatChannel, messageTable); // @@ livemessagetable??
|
|
305
|
+
desktopNotification(chatChannel);
|
|
306
|
+
case 4:
|
|
307
|
+
case "end":
|
|
308
|
+
return _context8.stop();
|
|
309
|
+
}
|
|
310
|
+
}, _callee8);
|
|
311
|
+
})); // The short chat version the live update listening is done in the pane but we do it in the widget @@
|
|
312
|
+
_solidLogic.store.updater.addDownstreamChangeListener(chatDocument, div.refresh); // Live update
|
|
313
|
+
liveMessageTable = messageTable;
|
|
314
|
+
latest.messageTable = liveMessageTable;
|
|
315
|
+
return _context9.abrupt("return", messageTable);
|
|
316
|
+
case 11:
|
|
317
|
+
case "end":
|
|
318
|
+
return _context9.stop();
|
|
427
319
|
}
|
|
428
|
-
}
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
break;
|
|
447
|
-
case 6:
|
|
448
|
-
_context2.next = 8;
|
|
449
|
-
return extendBackwards();
|
|
450
|
-
case 8:
|
|
451
|
-
case "end":
|
|
452
|
-
return _context2.stop();
|
|
453
|
-
}
|
|
320
|
+
}, _callee9);
|
|
321
|
+
}));
|
|
322
|
+
return _appendCurrentMessages.apply(this, arguments);
|
|
323
|
+
};
|
|
324
|
+
appendCurrentMessages = function _appendCurrentMessage() {
|
|
325
|
+
return _appendCurrentMessages.apply(this, arguments);
|
|
326
|
+
};
|
|
327
|
+
_addNewChatDocumentIfNewDay = function _addNewChatDocumentIf2() {
|
|
328
|
+
_addNewChatDocumentIfNewDay = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
|
|
329
|
+
var newChatDocument, oldChatDocument, sts;
|
|
330
|
+
return _regenerator["default"].wrap(function _callee7$(_context7) {
|
|
331
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
332
|
+
case 0:
|
|
333
|
+
// @@ Remove listener from previous table as it is now static
|
|
334
|
+
newChatDocument = dateFolder.leafDocumentFromDate(new Date());
|
|
335
|
+
if (newChatDocument.sameTerm(latest.messageTable.chatDocument)) {
|
|
336
|
+
_context7.next = 7;
|
|
337
|
+
break;
|
|
454
338
|
}
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
case 2:
|
|
472
|
-
done = _context3.sent;
|
|
473
|
-
if (done) {
|
|
474
|
-
scrollForwardButton.firstChild.setAttribute('src', _iconBase.icons.iconBase + 'noun_T-Block_1114655_000000.svg');
|
|
475
|
-
scrollForwardButton.disabled = true;
|
|
476
|
-
messageTable["final"] = true;
|
|
477
|
-
} else {
|
|
478
|
-
messageTable.extendedForwards = true;
|
|
479
|
-
}
|
|
480
|
-
setScrollForwardButtonIcon();
|
|
481
|
-
return _context3.abrupt("return", done);
|
|
482
|
-
case 6:
|
|
483
|
-
case "end":
|
|
484
|
-
return _context3.stop();
|
|
339
|
+
// It is a new day
|
|
340
|
+
if (liveMessageTable.inputRow) {
|
|
341
|
+
liveMessageTable.removeChild(liveMessageTable.inputRow);
|
|
342
|
+
delete liveMessageTable.inputRow;
|
|
343
|
+
}
|
|
344
|
+
oldChatDocument = latest.messageTable.chatDocument;
|
|
345
|
+
_context7.next = 6;
|
|
346
|
+
return appendCurrentMessages();
|
|
347
|
+
case 6:
|
|
348
|
+
// Adding a link in the document will ping listeners to add the new block too
|
|
349
|
+
if (!_solidLogic.store.holds(oldChatDocument, ns.rdfs('seeAlso'), newChatDocument, oldChatDocument)) {
|
|
350
|
+
sts = [$rdf.st(oldChatDocument, ns.rdfs('seeAlso'), newChatDocument, oldChatDocument)];
|
|
351
|
+
try {
|
|
352
|
+
_solidLogic.store.updater.update([], sts);
|
|
353
|
+
} catch (err) {
|
|
354
|
+
alert('Unable to link old chat file to new one:' + err);
|
|
485
355
|
}
|
|
486
356
|
}
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
}
|
|
491
|
-
function setScrollForwardButtonIcon() {
|
|
492
|
-
var sense = messageTable.extendedForwards ? !newestFirst : newestFirst; // noun_T-Block_1114657_000000.svg
|
|
493
|
-
var scrollForwardIcon = messageTable["final"] ? 'noun_T-Block_1114657_000000.svg' : getScrollForwardButtonIcon(sense);
|
|
494
|
-
scrollForwardButton.firstChild.setAttribute('src', _iconBase.icons.iconBase + scrollForwardIcon);
|
|
495
|
-
function getScrollForwardButtonIcon(sense) {
|
|
496
|
-
return !sense ? 'noun_1369241.svg' : 'noun_1369237.svg';
|
|
357
|
+
case 7:
|
|
358
|
+
case "end":
|
|
359
|
+
return _context7.stop();
|
|
497
360
|
}
|
|
361
|
+
}, _callee7);
|
|
362
|
+
}));
|
|
363
|
+
return _addNewChatDocumentIfNewDay.apply(this, arguments);
|
|
364
|
+
};
|
|
365
|
+
addNewChatDocumentIfNewDay = function _addNewChatDocumentIf() {
|
|
366
|
+
return _addNewChatDocumentIfNewDay.apply(this, arguments);
|
|
367
|
+
};
|
|
368
|
+
renderMessageTable = function _renderMessageTable(date, live) {
|
|
369
|
+
var scrollBackbutton;
|
|
370
|
+
var scrollForwardButton;
|
|
371
|
+
|
|
372
|
+
/// ///////////////// Scroll down adding more above
|
|
373
|
+
function extendBackwards() {
|
|
374
|
+
return _extendBackwards.apply(this, arguments);
|
|
375
|
+
}
|
|
376
|
+
function _extendBackwards() {
|
|
377
|
+
_extendBackwards = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
378
|
+
var done;
|
|
379
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
380
|
+
while (1) switch (_context.prev = _context.next) {
|
|
381
|
+
case 0:
|
|
382
|
+
_context.next = 2;
|
|
383
|
+
return insertPreviousMessages(true);
|
|
384
|
+
case 2:
|
|
385
|
+
done = _context.sent;
|
|
386
|
+
if (done) {
|
|
387
|
+
if (scrollBackbutton) {
|
|
388
|
+
scrollBackbutton.firstChild.setAttribute('src', _iconBase.icons.iconBase + 'noun_T-Block_1114655_000000.svg'); // T
|
|
389
|
+
scrollBackbutton.disabled = true;
|
|
390
|
+
}
|
|
391
|
+
messageTable.initial = true;
|
|
392
|
+
} else {
|
|
393
|
+
messageTable.extendedBack = true;
|
|
394
|
+
}
|
|
395
|
+
setScrollBackbuttonIcon();
|
|
396
|
+
return _context.abrupt("return", done);
|
|
397
|
+
case 6:
|
|
398
|
+
case "end":
|
|
399
|
+
return _context.stop();
|
|
400
|
+
}
|
|
401
|
+
}, _callee);
|
|
402
|
+
}));
|
|
403
|
+
return _extendBackwards.apply(this, arguments);
|
|
404
|
+
}
|
|
405
|
+
function setScrollBackbuttonIcon() {
|
|
406
|
+
if (!scrollBackbutton) {
|
|
407
|
+
return;
|
|
498
408
|
}
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
case 0:
|
|
518
|
-
if (!messageTable.extendedForwards) {
|
|
519
|
-
_context4.next = 6;
|
|
520
|
-
break;
|
|
521
|
-
}
|
|
522
|
-
removePreviousMessages(false, messageTable);
|
|
523
|
-
messageTable.extendedForwards = false;
|
|
524
|
-
setScrollForwardButtonIcon();
|
|
525
|
-
_context4.next = 9;
|
|
526
|
-
break;
|
|
527
|
-
case 6:
|
|
528
|
-
_context4.next = 8;
|
|
529
|
-
return extendForwards();
|
|
530
|
-
case 8:
|
|
531
|
-
// async
|
|
532
|
-
latest.messageTable.scrollIntoView(newestFirst);
|
|
533
|
-
case 9:
|
|
534
|
-
case "end":
|
|
535
|
-
return _context4.stop();
|
|
409
|
+
var sense = messageTable.extendedBack ? !newestFirst : newestFirst;
|
|
410
|
+
var scrollBackIcon = messageTable.initial ? 'noun_T-Block_1114655_000000.svg' : getScrollbackIcon(sense);
|
|
411
|
+
scrollBackbutton.firstChild.setAttribute('src', _iconBase.icons.iconBase + scrollBackIcon);
|
|
412
|
+
function getScrollbackIcon(sense) {
|
|
413
|
+
return sense ? 'noun_1369241.svg' : 'noun_1369237.svg';
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
function scrollBackbuttonHandler(_x8) {
|
|
417
|
+
return _scrollBackbuttonHandler.apply(this, arguments);
|
|
418
|
+
} /// ////////////// Scroll up adding more below
|
|
419
|
+
function _scrollBackbuttonHandler() {
|
|
420
|
+
_scrollBackbuttonHandler = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(_event) {
|
|
421
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
422
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
423
|
+
case 0:
|
|
424
|
+
if (!messageTable.extendedBack) {
|
|
425
|
+
_context2.next = 6;
|
|
426
|
+
break;
|
|
536
427
|
}
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
428
|
+
removePreviousMessages(true, messageTable);
|
|
429
|
+
messageTable.extendedBack = false;
|
|
430
|
+
setScrollBackbuttonIcon();
|
|
431
|
+
_context2.next = 8;
|
|
432
|
+
break;
|
|
433
|
+
case 6:
|
|
434
|
+
_context2.next = 8;
|
|
435
|
+
return extendBackwards();
|
|
436
|
+
case 8:
|
|
437
|
+
case "end":
|
|
438
|
+
return _context2.stop();
|
|
439
|
+
}
|
|
440
|
+
}, _callee2);
|
|
441
|
+
}));
|
|
442
|
+
return _scrollBackbuttonHandler.apply(this, arguments);
|
|
443
|
+
}
|
|
444
|
+
function extendForwards() {
|
|
445
|
+
return _extendForwards.apply(this, arguments);
|
|
446
|
+
}
|
|
447
|
+
function _extendForwards() {
|
|
448
|
+
_extendForwards = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
449
|
+
var done;
|
|
450
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
451
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
452
|
+
case 0:
|
|
453
|
+
_context3.next = 2;
|
|
454
|
+
return insertPreviousMessages(false);
|
|
455
|
+
case 2:
|
|
456
|
+
done = _context3.sent;
|
|
457
|
+
if (done) {
|
|
458
|
+
scrollForwardButton.firstChild.setAttribute('src', _iconBase.icons.iconBase + 'noun_T-Block_1114655_000000.svg');
|
|
459
|
+
scrollForwardButton.disabled = true;
|
|
460
|
+
messageTable["final"] = true;
|
|
461
|
+
} else {
|
|
462
|
+
messageTable.extendedForwards = true;
|
|
463
|
+
}
|
|
464
|
+
setScrollForwardButtonIcon();
|
|
465
|
+
return _context3.abrupt("return", done);
|
|
466
|
+
case 6:
|
|
467
|
+
case "end":
|
|
468
|
+
return _context3.stop();
|
|
469
|
+
}
|
|
470
|
+
}, _callee3);
|
|
471
|
+
}));
|
|
472
|
+
return _extendForwards.apply(this, arguments);
|
|
473
|
+
}
|
|
474
|
+
function setScrollForwardButtonIcon() {
|
|
475
|
+
var sense = messageTable.extendedForwards ? !newestFirst : newestFirst; // noun_T-Block_1114657_000000.svg
|
|
476
|
+
var scrollForwardIcon = messageTable["final"] ? 'noun_T-Block_1114657_000000.svg' : getScrollForwardButtonIcon(sense);
|
|
477
|
+
scrollForwardButton.firstChild.setAttribute('src', _iconBase.icons.iconBase + scrollForwardIcon);
|
|
478
|
+
function getScrollForwardButtonIcon(sense) {
|
|
479
|
+
return !sense ? 'noun_1369241.svg' : 'noun_1369237.svg';
|
|
541
480
|
}
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
481
|
+
}
|
|
482
|
+
function scrollForwardButtonHandler(_x9) {
|
|
483
|
+
return _scrollForwardButtonHandler.apply(this, arguments);
|
|
484
|
+
} /// ///////////////////////
|
|
485
|
+
/*
|
|
486
|
+
options = options || {}
|
|
487
|
+
options.authorDateOnLeft = true
|
|
488
|
+
const newestFirst = options.newestFirst === '1' || options.newestFirst === true // hack for now
|
|
489
|
+
const channelObject = new ChatChannel(chatChannel, options)
|
|
490
|
+
const dateFolder = channelObject.dateFolder
|
|
491
|
+
const div = dom.createElement('div')
|
|
492
|
+
const statusArea = div.appendChild(dom.createElement('div'))
|
|
493
|
+
const userContext = { dom, statusArea, div: statusArea } // logged on state, pointers to user's stuff
|
|
494
|
+
*/
|
|
495
|
+
function _scrollForwardButtonHandler() {
|
|
496
|
+
_scrollForwardButtonHandler = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(_event) {
|
|
497
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
498
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
499
|
+
case 0:
|
|
500
|
+
if (!messageTable.extendedForwards) {
|
|
501
|
+
_context4.next = 6;
|
|
502
|
+
break;
|
|
503
|
+
}
|
|
504
|
+
removePreviousMessages(false, messageTable);
|
|
505
|
+
messageTable.extendedForwards = false;
|
|
506
|
+
setScrollForwardButtonIcon();
|
|
507
|
+
_context4.next = 9;
|
|
508
|
+
break;
|
|
509
|
+
case 6:
|
|
510
|
+
_context4.next = 8;
|
|
511
|
+
return extendForwards();
|
|
512
|
+
case 8:
|
|
513
|
+
// async
|
|
514
|
+
latest.messageTable.scrollIntoView(newestFirst);
|
|
515
|
+
case 9:
|
|
516
|
+
case "end":
|
|
517
|
+
return _context4.stop();
|
|
518
|
+
}
|
|
519
|
+
}, _callee4);
|
|
520
|
+
}));
|
|
521
|
+
return _scrollForwardButtonHandler.apply(this, arguments);
|
|
522
|
+
}
|
|
523
|
+
var messageTable = dom.createElement('table');
|
|
524
|
+
messageTable.extendBackwards = extendBackwards; // Make function available to scroll stuff
|
|
525
|
+
messageTable.extendForwards = extendForwards; // Make function available to scroll stuff
|
|
561
526
|
|
|
562
|
-
|
|
527
|
+
messageTable.date = date;
|
|
528
|
+
var chatDocument = dateFolder.leafDocumentFromDate(date);
|
|
529
|
+
messageTable.chatDocument = chatDocument;
|
|
530
|
+
messageTable.fresh = false;
|
|
531
|
+
messageTable.setAttribute('style', 'width: 100%;'); // fill that div!
|
|
532
|
+
if (live) {
|
|
533
|
+
messageTable["final"] = true;
|
|
534
|
+
liveMessageTable = messageTable;
|
|
535
|
+
latest.messageTable = messageTable;
|
|
536
|
+
var tr = (0, _message.renderMessageEditor)(channelObject, messageTable, userContext, options);
|
|
537
|
+
if (newestFirst) {
|
|
538
|
+
messageTable.insertBefore(tr, messageTable.firstChild); // If newestFirst
|
|
539
|
+
} else {
|
|
540
|
+
messageTable.appendChild(tr); // not newestFirst
|
|
563
541
|
}
|
|
564
542
|
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
// @@ listen for swipe past end event not just button
|
|
568
|
-
if (options.infinite) {
|
|
569
|
-
var scrollBackbuttonTR = dom.createElement('tr');
|
|
570
|
-
var scrollBackbuttonCell = scrollBackbuttonTR.appendChild(dom.createElement('td'));
|
|
571
|
-
// up traingles: noun_1369237.svg
|
|
572
|
-
// down triangles: noun_1369241.svg
|
|
573
|
-
var scrollBackIcon = newestFirst ? 'noun_1369241.svg' : 'noun_1369237.svg'; // down and up arrows respoctively
|
|
574
|
-
scrollBackbutton = widgets.button(dom, _iconBase.icons.iconBase + scrollBackIcon, 'Previous messages ...');
|
|
575
|
-
scrollBackbuttonCell.style = 'width:3em; height:3em;';
|
|
576
|
-
scrollBackbutton.addEventListener('click', scrollBackbuttonHandler, false);
|
|
577
|
-
messageTable.extendedBack = false;
|
|
578
|
-
scrollBackbuttonCell.appendChild(scrollBackbutton);
|
|
579
|
-
setScrollBackbuttonIcon();
|
|
580
|
-
var dateCell = scrollBackbuttonTR.appendChild(dom.createElement('td'));
|
|
581
|
-
dateCell.style = 'text-align: center; vertical-align: middle; color: #888; font-style: italic;';
|
|
582
|
-
dateCell.textContent = widgets.shortDate(date.toISOString(), true); // no time, only date
|
|
543
|
+
messageTable.inputRow = tr;
|
|
544
|
+
}
|
|
583
545
|
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
546
|
+
/// ///// Infinite scroll
|
|
547
|
+
//
|
|
548
|
+
// @@ listen for swipe past end event not just button
|
|
549
|
+
if (options.infinite) {
|
|
550
|
+
var scrollBackbuttonTR = dom.createElement('tr');
|
|
551
|
+
var scrollBackbuttonCell = scrollBackbuttonTR.appendChild(dom.createElement('td'));
|
|
552
|
+
// up traingles: noun_1369237.svg
|
|
553
|
+
// down triangles: noun_1369241.svg
|
|
554
|
+
var scrollBackIcon = newestFirst ? 'noun_1369241.svg' : 'noun_1369237.svg'; // down and up arrows respoctively
|
|
555
|
+
scrollBackbutton = widgets.button(dom, _iconBase.icons.iconBase + scrollBackIcon, 'Previous messages ...');
|
|
556
|
+
scrollBackbuttonCell.style = 'width:3em; height:3em;';
|
|
557
|
+
scrollBackbutton.addEventListener('click', scrollBackbuttonHandler, false);
|
|
558
|
+
messageTable.extendedBack = false;
|
|
559
|
+
scrollBackbuttonCell.appendChild(scrollBackbutton);
|
|
560
|
+
setScrollBackbuttonIcon();
|
|
561
|
+
var dateCell = scrollBackbuttonTR.appendChild(dom.createElement('td'));
|
|
562
|
+
dateCell.style = 'text-align: center; vertical-align: middle; color: #888; font-style: italic;';
|
|
563
|
+
dateCell.textContent = widgets.shortDate(date.toISOString(), true); // no time, only date
|
|
601
564
|
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
565
|
+
// @@@@@@@@@@@ todo move this button to other end of message cell, o
|
|
566
|
+
var scrollForwardButtonCell = scrollBackbuttonTR.appendChild(dom.createElement('td'));
|
|
567
|
+
var scrollForwardIcon = newestFirst ? 'noun_1369241.svg' : 'noun_1369237.svg'; // down and up arrows respoctively
|
|
568
|
+
scrollForwardButton = widgets.button(dom, _iconBase.icons.iconBase + scrollForwardIcon, 'Later messages ...');
|
|
569
|
+
scrollForwardButtonCell.appendChild(scrollForwardButton);
|
|
570
|
+
scrollForwardButtonCell.style = 'width:3em; height:3em;';
|
|
571
|
+
scrollForwardButton.addEventListener('click', scrollForwardButtonHandler, false);
|
|
572
|
+
messageTable.extendedForward = false;
|
|
573
|
+
setScrollForwardButtonIcon();
|
|
574
|
+
messageTable.extendedForwards = false;
|
|
575
|
+
if (!newestFirst) {
|
|
576
|
+
// opposite end from the entry field
|
|
577
|
+
messageTable.insertBefore(scrollBackbuttonTR, messageTable.firstChild); // If not newestFirst
|
|
578
|
+
} else {
|
|
579
|
+
messageTable.appendChild(scrollBackbuttonTR); // newestFirst
|
|
607
580
|
}
|
|
608
|
-
|
|
609
|
-
addMessage(st.object, messageTable);
|
|
610
|
-
});
|
|
611
|
-
messageTable.fresh = true;
|
|
581
|
+
}
|
|
612
582
|
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
case 20:
|
|
651
|
-
case "end":
|
|
652
|
-
return _context6.stop();
|
|
583
|
+
var sts = _solidLogic.store.statementsMatching(null, ns.wf('message'), null, chatDocument);
|
|
584
|
+
if (!live && sts.length === 0) {
|
|
585
|
+
// not todays
|
|
586
|
+
// no need buttomns at the moment
|
|
587
|
+
// messageTable.style.visibility = 'collapse' // Hide files with no messages
|
|
588
|
+
}
|
|
589
|
+
sts.forEach(function (st) {
|
|
590
|
+
addMessage(st.object, messageTable);
|
|
591
|
+
});
|
|
592
|
+
messageTable.fresh = true;
|
|
593
|
+
|
|
594
|
+
// loadMessageTable(messageTable, chatDocument)
|
|
595
|
+
messageTable.fresh = false;
|
|
596
|
+
return messageTable;
|
|
597
|
+
};
|
|
598
|
+
_createMessageTable = function _createMessageTable3() {
|
|
599
|
+
_createMessageTable = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6(date, live) {
|
|
600
|
+
var chatDocument, messageTable, statusTR;
|
|
601
|
+
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
|
602
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
603
|
+
case 0:
|
|
604
|
+
debug.log(' createMessageTable for ' + date);
|
|
605
|
+
chatDocument = dateFolder.leafDocumentFromDate(date);
|
|
606
|
+
_context6.prev = 2;
|
|
607
|
+
_context6.next = 5;
|
|
608
|
+
return _solidLogic.store.fetcher.load(chatDocument);
|
|
609
|
+
case 5:
|
|
610
|
+
_context6.next = 19;
|
|
611
|
+
break;
|
|
612
|
+
case 7:
|
|
613
|
+
_context6.prev = 7;
|
|
614
|
+
_context6.t0 = _context6["catch"](2);
|
|
615
|
+
messageTable = dom.createElement('table');
|
|
616
|
+
statusTR = messageTable.appendChild(dom.createElement('tr')); // ### find status in exception
|
|
617
|
+
if (!(_context6.t0.response && _context6.t0.response.status && _context6.t0.response.status === 404)) {
|
|
618
|
+
_context6.next = 16;
|
|
619
|
+
break;
|
|
653
620
|
}
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
div.removeChild(messageTable.nextSibling);
|
|
667
|
-
}
|
|
668
|
-
} else {
|
|
669
|
-
// it was put on top as we scroll back
|
|
670
|
-
while (messageTable.previousSibling) {
|
|
671
|
-
div.removeChild(messageTable.previousSibling);
|
|
621
|
+
debug.log('Error 404 for chat file ' + chatDocument);
|
|
622
|
+
return _context6.abrupt("return", renderMessageTable(date, live));
|
|
623
|
+
case 16:
|
|
624
|
+
debug.log('*** Error NON 404 for chat file ' + chatDocument);
|
|
625
|
+
statusTR.appendChild(widgets.errorMessageBlock(dom, _context6.t0, 'pink'));
|
|
626
|
+
case 18:
|
|
627
|
+
return _context6.abrupt("return", statusTR);
|
|
628
|
+
case 19:
|
|
629
|
+
return _context6.abrupt("return", renderMessageTable(date, live));
|
|
630
|
+
case 20:
|
|
631
|
+
case "end":
|
|
632
|
+
return _context6.stop();
|
|
672
633
|
}
|
|
634
|
+
}, _callee6, null, [[2, 7]]);
|
|
635
|
+
}));
|
|
636
|
+
return _createMessageTable.apply(this, arguments);
|
|
637
|
+
};
|
|
638
|
+
createMessageTable = function _createMessageTable2(_x6, _x7) {
|
|
639
|
+
return _createMessageTable.apply(this, arguments);
|
|
640
|
+
};
|
|
641
|
+
removePreviousMessages = function _removePreviousMessag(backwards, messageTable) {
|
|
642
|
+
if (backwards ? newestFirst : !newestFirst) {
|
|
643
|
+
// it was put on bottom
|
|
644
|
+
while (messageTable.nextSibling) {
|
|
645
|
+
div.removeChild(messageTable.nextSibling);
|
|
673
646
|
}
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
_insertPreviousMessages = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(backwards) {
|
|
679
|
-
var extremity, date, live, todayDoc, doc, newMessageTable;
|
|
680
|
-
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
681
|
-
while (1) {
|
|
682
|
-
switch (_context5.prev = _context5.next) {
|
|
683
|
-
case 0:
|
|
684
|
-
extremity = backwards ? earliest : latest;
|
|
685
|
-
date = extremity.messageTable.date; // day in mssecs
|
|
686
|
-
_context5.next = 4;
|
|
687
|
-
return dateFolder.loadPrevious(date, backwards);
|
|
688
|
-
case 4:
|
|
689
|
-
date = _context5.sent;
|
|
690
|
-
// backwards
|
|
691
|
-
debug.log("insertPreviousMessages: from ".concat(backwards ? 'backwards' : 'forwards', " loadPrevious: ").concat(date));
|
|
692
|
-
if (!(!date && !backwards && !liveMessageTable)) {
|
|
693
|
-
_context5.next = 9;
|
|
694
|
-
break;
|
|
695
|
-
}
|
|
696
|
-
_context5.next = 9;
|
|
697
|
-
return appendCurrentMessages();
|
|
698
|
-
case 9:
|
|
699
|
-
if (date) {
|
|
700
|
-
_context5.next = 11;
|
|
701
|
-
break;
|
|
702
|
-
}
|
|
703
|
-
return _context5.abrupt("return", true);
|
|
704
|
-
case 11:
|
|
705
|
-
// done
|
|
706
|
-
live = false;
|
|
707
|
-
if (!backwards) {
|
|
708
|
-
todayDoc = dateFolder.leafDocumentFromDate(new Date());
|
|
709
|
-
doc = dateFolder.leafDocumentFromDate(date);
|
|
710
|
-
live = doc.sameTerm(todayDoc); // Is this todays?
|
|
711
|
-
}
|
|
712
|
-
_context5.next = 15;
|
|
713
|
-
return createMessageTable(date, live);
|
|
714
|
-
case 15:
|
|
715
|
-
newMessageTable = _context5.sent;
|
|
716
|
-
extremity.messageTable = newMessageTable; // move pointer to earliest
|
|
717
|
-
if (backwards ? newestFirst : !newestFirst) {
|
|
718
|
-
// put on bottom or top
|
|
719
|
-
div.appendChild(newMessageTable);
|
|
720
|
-
} else {
|
|
721
|
-
// put on top as we scroll back
|
|
722
|
-
div.insertBefore(newMessageTable, div.firstChild);
|
|
723
|
-
}
|
|
724
|
-
return _context5.abrupt("return", live);
|
|
725
|
-
case 19:
|
|
726
|
-
case "end":
|
|
727
|
-
return _context5.stop();
|
|
728
|
-
}
|
|
729
|
-
}
|
|
730
|
-
}, _callee5);
|
|
731
|
-
}));
|
|
732
|
-
return _insertPreviousMessages.apply(this, arguments);
|
|
733
|
-
};
|
|
734
|
-
insertPreviousMessages = function _insertPreviousMessag(_x5) {
|
|
735
|
-
return _insertPreviousMessages.apply(this, arguments);
|
|
736
|
-
};
|
|
737
|
-
addMessage = function _addMessage(message, messageTable) {
|
|
738
|
-
var latest = (0, _chatLogic.mostRecentVersion)(message);
|
|
739
|
-
// const content = store.any(latest, ns.sioc('content'))
|
|
740
|
-
if ((0, _chatLogic.isDeleted)(latest) && !options.showDeletedMessages) {
|
|
741
|
-
return; // ignore deleted messaged -- @@ could also leave a placeholder
|
|
647
|
+
} else {
|
|
648
|
+
// it was put on top as we scroll back
|
|
649
|
+
while (messageTable.previousSibling) {
|
|
650
|
+
div.removeChild(messageTable.previousSibling);
|
|
742
651
|
}
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
652
|
+
}
|
|
653
|
+
var extr = backwards ? earliest : latest;
|
|
654
|
+
extr.messageTable = messageTable;
|
|
655
|
+
};
|
|
656
|
+
_insertPreviousMessages = function _insertPreviousMessag2() {
|
|
657
|
+
_insertPreviousMessages = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(backwards) {
|
|
658
|
+
var extremity, date, live, todayDoc, doc, newMessageTable;
|
|
659
|
+
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
660
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
661
|
+
case 0:
|
|
662
|
+
extremity = backwards ? earliest : latest;
|
|
663
|
+
date = extremity.messageTable.date; // day in mssecs
|
|
664
|
+
_context5.next = 4;
|
|
665
|
+
return dateFolder.loadPrevious(date, backwards);
|
|
666
|
+
case 4:
|
|
667
|
+
date = _context5.sent;
|
|
668
|
+
// backwards
|
|
669
|
+
debug.log("insertPreviousMessages: from ".concat(backwards ? 'backwards' : 'forwards', " loadPrevious: ").concat(date));
|
|
670
|
+
if (!(!date && !backwards && !liveMessageTable)) {
|
|
671
|
+
_context5.next = 9;
|
|
672
|
+
break;
|
|
673
|
+
}
|
|
674
|
+
_context5.next = 9;
|
|
675
|
+
return appendCurrentMessages();
|
|
676
|
+
case 9:
|
|
677
|
+
if (date) {
|
|
678
|
+
_context5.next = 11;
|
|
679
|
+
break;
|
|
680
|
+
}
|
|
681
|
+
return _context5.abrupt("return", true);
|
|
682
|
+
case 11:
|
|
683
|
+
// done
|
|
684
|
+
live = false;
|
|
685
|
+
if (!backwards) {
|
|
686
|
+
todayDoc = dateFolder.leafDocumentFromDate(new Date());
|
|
687
|
+
doc = dateFolder.leafDocumentFromDate(date);
|
|
688
|
+
live = doc.sameTerm(todayDoc); // Is this todays?
|
|
689
|
+
}
|
|
690
|
+
_context5.next = 15;
|
|
691
|
+
return createMessageTable(date, live);
|
|
692
|
+
case 15:
|
|
693
|
+
newMessageTable = _context5.sent;
|
|
694
|
+
extremity.messageTable = newMessageTable; // move pointer to earliest
|
|
695
|
+
if (backwards ? newestFirst : !newestFirst) {
|
|
696
|
+
// put on bottom or top
|
|
697
|
+
div.appendChild(newMessageTable);
|
|
698
|
+
} else {
|
|
699
|
+
// put on top as we scroll back
|
|
700
|
+
div.insertBefore(newMessageTable, div.firstChild);
|
|
701
|
+
}
|
|
702
|
+
return _context5.abrupt("return", live);
|
|
703
|
+
case 19:
|
|
704
|
+
case "end":
|
|
705
|
+
return _context5.stop();
|
|
752
706
|
}
|
|
707
|
+
}, _callee5);
|
|
708
|
+
}));
|
|
709
|
+
return _insertPreviousMessages.apply(this, arguments);
|
|
710
|
+
};
|
|
711
|
+
insertPreviousMessages = function _insertPreviousMessag(_x5) {
|
|
712
|
+
return _insertPreviousMessages.apply(this, arguments);
|
|
713
|
+
};
|
|
714
|
+
addMessage = function _addMessage(message, messageTable) {
|
|
715
|
+
var latest = (0, _chatLogic.mostRecentVersion)(message);
|
|
716
|
+
// const content = store.any(latest, ns.sioc('content'))
|
|
717
|
+
if ((0, _chatLogic.isDeleted)(latest) && !options.showDeletedMessages) {
|
|
718
|
+
return; // ignore deleted messaged -- @@ could also leave a placeholder
|
|
719
|
+
}
|
|
720
|
+
|
|
721
|
+
insertMessageIntoTable(channelObject, messageTable, message, messageTable.fresh, options, userContext); // fresh from elsewhere
|
|
722
|
+
};
|
|
723
|
+
syncMessages = function _syncMessages(about, messageTable) {
|
|
724
|
+
var displayed = {};
|
|
725
|
+
var ele, ele2;
|
|
726
|
+
for (ele = messageTable.firstChild; ele; ele = ele.nextSibling) {
|
|
727
|
+
if (ele.AJAR_subject) {
|
|
728
|
+
displayed[ele.AJAR_subject.uri] = true;
|
|
753
729
|
}
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
}
|
|
730
|
+
}
|
|
731
|
+
var messages = _solidLogic.store.statementsMatching(about, ns.wf('message'), null, messageTable.chatDocument).map(function (st) {
|
|
732
|
+
return st.object;
|
|
733
|
+
});
|
|
734
|
+
var stored = {};
|
|
735
|
+
messages.forEach(function (m) {
|
|
736
|
+
stored[m.uri] = true;
|
|
737
|
+
if (!displayed[m.uri]) {
|
|
738
|
+
addMessage(m, messageTable);
|
|
739
|
+
}
|
|
740
|
+
});
|
|
764
741
|
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
}
|
|
771
|
-
ele = ele2;
|
|
742
|
+
// eslint-disable-next-line space-in-parens
|
|
743
|
+
for (ele = messageTable.firstChild; ele;) {
|
|
744
|
+
ele2 = ele.nextSibling;
|
|
745
|
+
if (ele.AJAR_subject && !stored[ele.AJAR_subject.uri]) {
|
|
746
|
+
messageTable.removeChild(ele);
|
|
772
747
|
}
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
748
|
+
ele = ele2;
|
|
749
|
+
}
|
|
750
|
+
for (ele = messageTable.firstChild; ele; ele = ele.nextSibling) {
|
|
751
|
+
if (ele.AJAR_subject) {
|
|
752
|
+
// Refresh thumbs up etc
|
|
753
|
+
widgets.refreshTree(ele); // Things inside may have changed too
|
|
778
754
|
}
|
|
779
|
-
}
|
|
755
|
+
}
|
|
756
|
+
};
|
|
780
757
|
|
|
781
|
-
|
|
758
|
+
// Body of main function
|
|
782
759
|
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
}
|
|
760
|
+
options = options || {};
|
|
761
|
+
options.authorDateOnLeft = false; // @@ make a user optiosn
|
|
762
|
+
newestFirst = options.newestFirst === '1' || options.newestFirst === true; // hack for now
|
|
763
|
+
channelObject = new _chatLogic.ChatChannel(chatChannel, options);
|
|
764
|
+
dateFolder = channelObject.dateFolder;
|
|
765
|
+
div = dom.createElement('div');
|
|
766
|
+
channelObject.div = div;
|
|
767
|
+
statusArea = div.appendChild(dom.createElement('div'));
|
|
768
|
+
userContext = {
|
|
769
|
+
dom: dom,
|
|
770
|
+
statusArea: statusArea,
|
|
771
|
+
div: statusArea
|
|
772
|
+
}; // logged on state, pointers to user's stuff
|
|
773
|
+
// const messageTable = dom.createElement('table') // @@ check does this go in renderMessageTable
|
|
774
|
+
earliest = {
|
|
775
|
+
messageTable: null
|
|
776
|
+
}; // Stuff about each end of the loaded days
|
|
777
|
+
latest = {
|
|
778
|
+
messageTable: null
|
|
779
|
+
};
|
|
780
|
+
lock = false;
|
|
781
|
+
_context12.next = 30;
|
|
782
|
+
return loadInitialContent();
|
|
783
|
+
case 30:
|
|
784
|
+
return _context12.abrupt("return", div);
|
|
785
|
+
case 31:
|
|
786
|
+
case "end":
|
|
787
|
+
return _context12.stop();
|
|
812
788
|
}
|
|
813
789
|
}, _callee12);
|
|
814
790
|
}));
|