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