solid-ui 2.6.1 → 3.0.0-63a1640
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +3 -1
- package/README.md +236 -30
- package/dist/acl/access-controller.js +238 -0
- package/dist/acl/access-controller.js.map +1 -0
- package/{lib → dist}/acl/access-groups.d.ts +2 -2
- package/{lib → dist}/acl/access-groups.d.ts.map +1 -1
- package/dist/acl/access-groups.js +323 -0
- package/dist/acl/access-groups.js.map +1 -0
- package/dist/acl/acl-control.js +173 -0
- package/dist/acl/acl-control.js.map +1 -0
- package/dist/acl/acl.js +495 -0
- package/dist/acl/acl.js.map +1 -0
- package/dist/acl/add-agent-buttons.js +217 -0
- package/dist/acl/add-agent-buttons.js.map +1 -0
- package/dist/acl/index.js +32 -0
- package/dist/acl/index.js.map +1 -0
- package/dist/acl/types.js +6 -0
- package/dist/acl/types.js.map +1 -0
- package/dist/chat/keys.js +106 -0
- package/dist/chat/keys.js.map +1 -0
- package/dist/chat/signature.js +63 -0
- package/dist/chat/signature.js.map +1 -0
- package/dist/create/create.js +249 -0
- package/dist/create/create.js.map +1 -0
- package/dist/create/index.js +5 -0
- package/dist/create/index.js.map +1 -0
- package/dist/create/types.js +2 -0
- package/dist/create/types.js.map +1 -0
- package/dist/debug.d.ts.map +1 -0
- package/dist/debug.js +13 -0
- package/dist/debug.js.map +1 -0
- package/dist/footer/index.js +67 -0
- package/dist/footer/index.js.map +1 -0
- package/dist/header/empty-profile.js +11 -0
- package/dist/header/empty-profile.js.map +1 -0
- package/dist/header/index.js +260 -0
- package/dist/header/index.js.map +1 -0
- package/dist/iconBase.js +37 -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 +102 -0
- package/dist/index.js.map +1 -0
- package/{lib → dist}/log.d.ts.map +1 -1
- package/dist/log.js +182 -0
- package/dist/log.js.map +1 -0
- package/dist/login/login.js +858 -0
- package/dist/login/login.js.map +1 -0
- package/dist/matrix/index.js +5 -0
- package/dist/matrix/index.js.map +1 -0
- package/dist/matrix/matrix.js +217 -0
- package/dist/matrix/matrix.js.map +1 -0
- package/dist/matrix/types.js +2 -0
- package/dist/matrix/types.js.map +1 -0
- package/dist/media/index.js +6 -0
- package/dist/media/index.js.map +1 -0
- package/dist/media/media-capture.js +161 -0
- package/dist/media/media-capture.js.map +1 -0
- package/dist/pad.js +775 -0
- package/dist/pad.js.map +1 -0
- package/{lib → dist}/participation.d.ts.map +1 -1
- package/dist/participation.js +184 -0
- package/dist/participation.js.map +1 -0
- package/dist/solid-ui.esm.js +25531 -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 +23479 -68931
- 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 +388 -0
- package/dist/tabs.js.map +1 -0
- package/{lib → dist}/utils/headerFooterHelpers.d.ts.map +1 -1
- package/dist/utils/headerFooterHelpers.js +114 -0
- package/dist/utils/headerFooterHelpers.js.map +1 -0
- package/dist/utils/keyHelpers/accessData.js +64 -0
- package/dist/utils/keyHelpers/accessData.js.map +1 -0
- package/dist/utils/keyHelpers/acl.js +74 -0
- package/dist/utils/keyHelpers/acl.js.map +1 -0
- package/dist/utils/keyHelpers/otherHelpers.js +13 -0
- package/dist/utils/keyHelpers/otherHelpers.js.map +1 -0
- package/dist/utils/label.js +111 -0
- package/dist/utils/label.js.map +1 -0
- package/dist/versionInfo.js +30 -0
- package/dist/versionInfo.js.map +1 -0
- package/dist/widgets/buttons/iconLinks.js +44 -0
- package/dist/widgets/buttons/iconLinks.js.map +1 -0
- package/dist/widgets/buttons.js +1280 -0
- package/dist/widgets/buttons.js.map +1 -0
- package/dist/widgets/error.d.ts +14 -0
- package/dist/widgets/error.d.ts.map +1 -0
- package/dist/widgets/error.js +35 -0
- package/dist/widgets/error.js.map +1 -0
- package/dist/widgets/forms/autocomplete/autocompleteBar.js +123 -0
- package/dist/widgets/forms/autocomplete/autocompleteBar.js.map +1 -0
- package/dist/widgets/forms/autocomplete/autocompleteField.js +199 -0
- package/dist/widgets/forms/autocomplete/autocompleteField.js.map +1 -0
- package/dist/widgets/forms/autocomplete/autocompletePicker.js +256 -0
- package/dist/widgets/forms/autocomplete/autocompletePicker.js.map +1 -0
- package/dist/widgets/forms/autocomplete/language.js +104 -0
- package/dist/widgets/forms/autocomplete/language.js.map +1 -0
- package/dist/widgets/forms/autocomplete/publicData.js +460 -0
- package/dist/widgets/forms/autocomplete/publicData.js.map +1 -0
- package/dist/widgets/forms/basic.js +241 -0
- package/dist/widgets/forms/basic.js.map +1 -0
- package/dist/widgets/forms/comment.js +46 -0
- package/dist/widgets/forms/comment.js.map +1 -0
- package/dist/widgets/forms/fieldFunction.js +44 -0
- package/dist/widgets/forms/fieldFunction.js.map +1 -0
- package/dist/widgets/forms/fieldParams.js +89 -0
- package/dist/widgets/forms/fieldParams.js.map +1 -0
- package/{lib → dist}/widgets/forms/formStyle.d.ts.map +1 -1
- package/dist/widgets/forms/formStyle.js +36 -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 +14 -25
- package/dist/widgets/widgetHelpers.js.map +1 -0
- package/package.json +48 -52
- 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.d.ts.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 +0 -213
- 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.d.ts +0 -2
- package/lib/widgets/error.d.ts.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.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/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/keys.d.ts +0 -0
- /package/{lib → dist}/chat/keys.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}/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}/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}/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/keyHelpers/accessData.d.ts +0 -0
- /package/{lib → dist}/utils/keyHelpers/accessData.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/keyHelpers/otherHelpers.d.ts +0 -0
- /package/{lib → dist}/utils/keyHelpers/otherHelpers.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/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/autocomplete/publicData.d.ts +0 -0
- /package/{lib → dist}/widgets/forms/autocomplete/publicData.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/widgetHelpers.d.ts +0 -0
package/lib/chat/chatLogic.js
DELETED
|
@@ -1,420 +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.ChatChannel = void 0;
|
|
9
|
-
exports.allVersions = allVersions;
|
|
10
|
-
exports.isDeleted = isDeleted;
|
|
11
|
-
exports.isHidden = isHidden;
|
|
12
|
-
exports.isReplaced = isReplaced;
|
|
13
|
-
exports.mostRecentVersion = mostRecentVersion;
|
|
14
|
-
exports.nick = nick;
|
|
15
|
-
exports.originalVersion = originalVersion;
|
|
16
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
17
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
18
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
19
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
20
|
-
var debug = _interopRequireWildcard(require("../debug"));
|
|
21
|
-
var _dateFolder = require("./dateFolder");
|
|
22
|
-
var _solidLogic = require("solid-logic");
|
|
23
|
-
var ns = _interopRequireWildcard(require("../ns"));
|
|
24
|
-
var $rdf = _interopRequireWildcard(require("rdflib"));
|
|
25
|
-
var utils = _interopRequireWildcard(require("../utils"));
|
|
26
|
-
var _signature = require("./signature");
|
|
27
|
-
var _keys = require("./keys");
|
|
28
|
-
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 _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
|
|
29
|
-
/**
|
|
30
|
-
* Contains the [[ChatChannel]] class and logic for Solid Chat
|
|
31
|
-
* @packageDocumentation
|
|
32
|
-
*/
|
|
33
|
-
// pull in first avoid cross-refs
|
|
34
|
-
/* The Solid logic for a 'LongChat'
|
|
35
|
-
*/
|
|
36
|
-
/**
|
|
37
|
-
* Common code for a chat (discussion area of messages about something)
|
|
38
|
-
* This version runs over a series of files for different time periods
|
|
39
|
-
*
|
|
40
|
-
* Parameters for the whole chat like its title are stored on
|
|
41
|
-
* index.ttl#this and the chats messages are stored in YYYY/MM/DD/chat.ttl
|
|
42
|
-
*
|
|
43
|
-
*/
|
|
44
|
-
var ChatChannel = exports.ChatChannel = /*#__PURE__*/function () {
|
|
45
|
-
function ChatChannel(channel, options) {
|
|
46
|
-
(0, _classCallCheck2["default"])(this, ChatChannel);
|
|
47
|
-
this.channel = channel;
|
|
48
|
-
this.channelRoot = channel.doc();
|
|
49
|
-
this.options = options;
|
|
50
|
-
this.dateFolder = new _dateFolder.DateFolder(this.channelRoot, 'chat.ttl');
|
|
51
|
-
this.div = null; // : HTMLElement
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
/* Store a new message in the web,
|
|
55
|
-
*/
|
|
56
|
-
return (0, _createClass2["default"])(ChatChannel, [{
|
|
57
|
-
key: "createMessage",
|
|
58
|
-
value: (function () {
|
|
59
|
-
var _createMessage = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(text) {
|
|
60
|
-
return _regenerator["default"].wrap(function (_context) {
|
|
61
|
-
while (1) switch (_context.prev = _context.next) {
|
|
62
|
-
case 0:
|
|
63
|
-
return _context.abrupt("return", this.updateMessage(text));
|
|
64
|
-
case 1:
|
|
65
|
-
case "end":
|
|
66
|
-
return _context.stop();
|
|
67
|
-
}
|
|
68
|
-
}, _callee, this);
|
|
69
|
-
}));
|
|
70
|
-
function createMessage(_x) {
|
|
71
|
-
return _createMessage.apply(this, arguments);
|
|
72
|
-
}
|
|
73
|
-
return createMessage;
|
|
74
|
-
}()
|
|
75
|
-
/* Store a new message in the web,
|
|
76
|
-
as a replacement for an existing one.
|
|
77
|
-
The old one iis left, and the two are linked
|
|
78
|
-
*/
|
|
79
|
-
)
|
|
80
|
-
}, {
|
|
81
|
-
key: "updateMessage",
|
|
82
|
-
value: (function () {
|
|
83
|
-
var _updateMessage = (0, _asyncToGenerator2["default"])(function (text) {
|
|
84
|
-
var _this = this;
|
|
85
|
-
var oldMsg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
86
|
-
var deleteIt = arguments.length > 2 ? arguments[2] : undefined;
|
|
87
|
-
var thread = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
|
|
88
|
-
return /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
89
|
-
var sts, now, timestamp, dateStamp, chatDocument, message, me, msg, oldMsgMaker, oldMsgMostRecentVersion, oldMsgThread, errMsg, privateKey, sig, _errMsg, _t;
|
|
90
|
-
return _regenerator["default"].wrap(function (_context2) {
|
|
91
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
92
|
-
case 0:
|
|
93
|
-
sts = [];
|
|
94
|
-
now = new Date();
|
|
95
|
-
timestamp = '' + now.getTime();
|
|
96
|
-
dateStamp = $rdf.term(now);
|
|
97
|
-
chatDocument = oldMsg ? oldMsg.doc() : _this.dateFolder.leafDocumentFromDate(now);
|
|
98
|
-
message = _solidLogic.store.sym(chatDocument.uri + '#' + 'Msg' + timestamp); // const content = store.literal(text)
|
|
99
|
-
me = _solidLogic.authn.currentUser(); // If already logged on
|
|
100
|
-
msg = (0, _signature.getBlankMsg)();
|
|
101
|
-
msg.id = message.uri;
|
|
102
|
-
if (!oldMsg) {
|
|
103
|
-
_context2.next = 4;
|
|
104
|
-
break;
|
|
105
|
-
}
|
|
106
|
-
// edit message replaces old one
|
|
107
|
-
oldMsgMaker = _solidLogic.store.any(oldMsg, ns.foaf('maker')); // may not be needed here, but needed on READ
|
|
108
|
-
if (!(oldMsgMaker.uri === me.uri)) {
|
|
109
|
-
_context2.next = 2;
|
|
110
|
-
break;
|
|
111
|
-
}
|
|
112
|
-
_context2.next = 1;
|
|
113
|
-
return mostRecentVersion(oldMsg);
|
|
114
|
-
case 1:
|
|
115
|
-
oldMsgMostRecentVersion = _context2.sent;
|
|
116
|
-
sts.push($rdf.st(oldMsgMostRecentVersion, ns.dct('isReplacedBy'), message, chatDocument));
|
|
117
|
-
// if oldMsg has_reply => add has_reply to message
|
|
118
|
-
oldMsgThread = _solidLogic.store.any(oldMsgMostRecentVersion, ns.sioc('has_reply'));
|
|
119
|
-
if (oldMsgThread) {
|
|
120
|
-
sts.push($rdf.st(message, ns.sioc('has_reply'), oldMsgThread, chatDocument));
|
|
121
|
-
}
|
|
122
|
-
if (deleteIt) {
|
|
123
|
-
// we need to add a specific signature, else anyone can delete a msg ?
|
|
124
|
-
sts.push($rdf.st(message, ns.schema('dateDeleted'), dateStamp, chatDocument));
|
|
125
|
-
}
|
|
126
|
-
_context2.next = 3;
|
|
127
|
-
break;
|
|
128
|
-
case 2:
|
|
129
|
-
errMsg = 'Error you cannot delete/edit a message from someone else : \n' + oldMsgMaker.uri;
|
|
130
|
-
debug.warn(errMsg);
|
|
131
|
-
alert(errMsg);
|
|
132
|
-
throw new Error(errMsg);
|
|
133
|
-
case 3:
|
|
134
|
-
_context2.next = 5;
|
|
135
|
-
break;
|
|
136
|
-
case 4:
|
|
137
|
-
// link new message to channel
|
|
138
|
-
sts.push($rdf.st(_this.channel, ns.wf('message'), message, chatDocument));
|
|
139
|
-
case 5:
|
|
140
|
-
sts.push($rdf.st(message, ns.sioc('content'), _solidLogic.store.literal(text), chatDocument));
|
|
141
|
-
msg.content = text;
|
|
142
|
-
sts.push($rdf.st(message, ns.dct('created'), dateStamp, chatDocument));
|
|
143
|
-
msg.created = dateStamp.value;
|
|
144
|
-
if (!me) {
|
|
145
|
-
_context2.next = 7;
|
|
146
|
-
break;
|
|
147
|
-
}
|
|
148
|
-
sts.push($rdf.st(message, ns.foaf('maker'), me, chatDocument));
|
|
149
|
-
msg.maker = me.uri;
|
|
150
|
-
// privateKey the cached private key of me, cached in store
|
|
151
|
-
_context2.next = 6;
|
|
152
|
-
return (0, _keys.getPrivateKey)(me);
|
|
153
|
-
case 6:
|
|
154
|
-
privateKey = _context2.sent;
|
|
155
|
-
// me.uri)
|
|
156
|
-
sig = (0, _signature.signMsg)(msg, privateKey);
|
|
157
|
-
sts.push($rdf.st(message, $rdf.sym("".concat(_signature.SEC, "proofValue")), $rdf.lit(sig), chatDocument));
|
|
158
|
-
case 7:
|
|
159
|
-
if (thread) {
|
|
160
|
-
sts.push($rdf.st(thread, ns.sioc('has_member'), message, chatDocument));
|
|
161
|
-
if (!thread.doc().sameTerm(message.doc())) {
|
|
162
|
-
sts.push($rdf.st(thread, ns.sioc('has_member'), message, thread.doc()));
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
_context2.prev = 8;
|
|
166
|
-
_context2.next = 9;
|
|
167
|
-
return _solidLogic.store.updater.updateMany([], sts);
|
|
168
|
-
case 9:
|
|
169
|
-
_context2.next = 11;
|
|
170
|
-
break;
|
|
171
|
-
case 10:
|
|
172
|
-
_context2.prev = 10;
|
|
173
|
-
_t = _context2["catch"](8);
|
|
174
|
-
_errMsg = 'Error saving chat message: ' + _t;
|
|
175
|
-
debug.warn(_errMsg);
|
|
176
|
-
alert(_errMsg);
|
|
177
|
-
throw new Error(_errMsg);
|
|
178
|
-
case 11:
|
|
179
|
-
return _context2.abrupt("return", message);
|
|
180
|
-
case 12:
|
|
181
|
-
case "end":
|
|
182
|
-
return _context2.stop();
|
|
183
|
-
}
|
|
184
|
-
}, _callee2, null, [[8, 10]]);
|
|
185
|
-
})();
|
|
186
|
-
});
|
|
187
|
-
function updateMessage(_x2) {
|
|
188
|
-
return _updateMessage.apply(this, arguments);
|
|
189
|
-
}
|
|
190
|
-
return updateMessage;
|
|
191
|
-
}()
|
|
192
|
-
/* Mark a message as deleted
|
|
193
|
-
* Wee add a new version of the message,m witha deletion flag (deletion date)
|
|
194
|
-
* so that the deletion can be revoked by adding another non-deleted update
|
|
195
|
-
*/
|
|
196
|
-
)
|
|
197
|
-
}, {
|
|
198
|
-
key: "deleteMessage",
|
|
199
|
-
value: (function () {
|
|
200
|
-
var _deleteMessage = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(message) {
|
|
201
|
-
return _regenerator["default"].wrap(function (_context3) {
|
|
202
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
203
|
-
case 0:
|
|
204
|
-
return _context3.abrupt("return", this.updateMessage('(message deleted)', message, true));
|
|
205
|
-
case 1:
|
|
206
|
-
case "end":
|
|
207
|
-
return _context3.stop();
|
|
208
|
-
}
|
|
209
|
-
}, _callee3, this);
|
|
210
|
-
}));
|
|
211
|
-
function deleteMessage(_x3) {
|
|
212
|
-
return _deleteMessage.apply(this, arguments);
|
|
213
|
-
}
|
|
214
|
-
return deleteMessage;
|
|
215
|
-
}() // Create a new thread of replies to the thread root message
|
|
216
|
-
// or return one which already exists
|
|
217
|
-
)
|
|
218
|
-
}, {
|
|
219
|
-
key: "createThread",
|
|
220
|
-
value: function () {
|
|
221
|
-
var _createThread = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4(threadRoot) {
|
|
222
|
-
var already, thread, insert;
|
|
223
|
-
return _regenerator["default"].wrap(function (_context4) {
|
|
224
|
-
while (1) switch (_context4.prev = _context4.next) {
|
|
225
|
-
case 0:
|
|
226
|
-
already = _solidLogic.store.each(threadRoot, ns.sioc('has_reply'), null, threadRoot.doc()).filter(function (thread) {
|
|
227
|
-
return _solidLogic.store.holds(thread, ns.rdf('type'), ns.sioc('Thread'), thread.doc());
|
|
228
|
-
});
|
|
229
|
-
if (!(already.length > 0)) {
|
|
230
|
-
_context4.next = 1;
|
|
231
|
-
break;
|
|
232
|
-
}
|
|
233
|
-
return _context4.abrupt("return", already[0]);
|
|
234
|
-
case 1:
|
|
235
|
-
thread = $rdf.sym(threadRoot.uri + '-thread');
|
|
236
|
-
insert = [$rdf.st(thread, ns.rdf('type'), ns.sioc('Thread'), thread.doc()), $rdf.st(threadRoot, ns.sioc('has_reply'), thread, thread.doc())];
|
|
237
|
-
_context4.next = 2;
|
|
238
|
-
return _solidLogic.store.updater.update([], insert);
|
|
239
|
-
case 2:
|
|
240
|
-
return _context4.abrupt("return", thread);
|
|
241
|
-
case 3:
|
|
242
|
-
case "end":
|
|
243
|
-
return _context4.stop();
|
|
244
|
-
}
|
|
245
|
-
}, _callee4);
|
|
246
|
-
}));
|
|
247
|
-
function createThread(_x4) {
|
|
248
|
-
return _createThread.apply(this, arguments);
|
|
249
|
-
}
|
|
250
|
-
return createThread;
|
|
251
|
-
}()
|
|
252
|
-
}]);
|
|
253
|
-
}(); // class ChatChannel
|
|
254
|
-
// ////////// Utility functions
|
|
255
|
-
// Have to not loop forever if fed loops
|
|
256
|
-
function allVersions(_x5) {
|
|
257
|
-
return _allVersions.apply(this, arguments);
|
|
258
|
-
}
|
|
259
|
-
function _allVersions() {
|
|
260
|
-
_allVersions = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5(message) {
|
|
261
|
-
var versions, done, m, prev, next;
|
|
262
|
-
return _regenerator["default"].wrap(function (_context5) {
|
|
263
|
-
while (1) switch (_context5.prev = _context5.next) {
|
|
264
|
-
case 0:
|
|
265
|
-
versions = [message];
|
|
266
|
-
done = {};
|
|
267
|
-
done[message.uri] = true;
|
|
268
|
-
m = message;
|
|
269
|
-
case 1:
|
|
270
|
-
if (!true) {
|
|
271
|
-
_context5.next = 4;
|
|
272
|
-
break;
|
|
273
|
-
}
|
|
274
|
-
// earlier?
|
|
275
|
-
prev = _solidLogic.store.any(null, ns.dct('isReplacedBy'), m, m.doc());
|
|
276
|
-
if (!(!prev || done[prev.uri])) {
|
|
277
|
-
_context5.next = 2;
|
|
278
|
-
break;
|
|
279
|
-
}
|
|
280
|
-
return _context5.abrupt("continue", 4);
|
|
281
|
-
case 2:
|
|
282
|
-
_context5.next = 3;
|
|
283
|
-
return _solidLogic.store.fetcher.load(prev);
|
|
284
|
-
case 3:
|
|
285
|
-
versions.unshift(prev);
|
|
286
|
-
done[prev.uri] = true;
|
|
287
|
-
m = prev;
|
|
288
|
-
_context5.next = 1;
|
|
289
|
-
break;
|
|
290
|
-
case 4:
|
|
291
|
-
m = message;
|
|
292
|
-
case 5:
|
|
293
|
-
if (!true) {
|
|
294
|
-
_context5.next = 7;
|
|
295
|
-
break;
|
|
296
|
-
}
|
|
297
|
-
// later?
|
|
298
|
-
next = _solidLogic.store.any(m, ns.dct('isReplacedBy'), null, m.doc());
|
|
299
|
-
if (!(!next || done[next.uri])) {
|
|
300
|
-
_context5.next = 6;
|
|
301
|
-
break;
|
|
302
|
-
}
|
|
303
|
-
return _context5.abrupt("continue", 7);
|
|
304
|
-
case 6:
|
|
305
|
-
versions.push(next);
|
|
306
|
-
done[next.uri] = true;
|
|
307
|
-
m = next;
|
|
308
|
-
_context5.next = 5;
|
|
309
|
-
break;
|
|
310
|
-
case 7:
|
|
311
|
-
return _context5.abrupt("return", versions);
|
|
312
|
-
case 8:
|
|
313
|
-
case "end":
|
|
314
|
-
return _context5.stop();
|
|
315
|
-
}
|
|
316
|
-
}, _callee5);
|
|
317
|
-
}));
|
|
318
|
-
return _allVersions.apply(this, arguments);
|
|
319
|
-
}
|
|
320
|
-
function originalVersion(_x6) {
|
|
321
|
-
return _originalVersion.apply(this, arguments);
|
|
322
|
-
}
|
|
323
|
-
function _originalVersion() {
|
|
324
|
-
_originalVersion = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee6(message) {
|
|
325
|
-
var msg, done;
|
|
326
|
-
return _regenerator["default"].wrap(function (_context6) {
|
|
327
|
-
while (1) switch (_context6.prev = _context6.next) {
|
|
328
|
-
case 0:
|
|
329
|
-
msg = message;
|
|
330
|
-
done = {}; // done[message.uri] = true
|
|
331
|
-
case 1:
|
|
332
|
-
if (!msg) {
|
|
333
|
-
_context6.next = 4;
|
|
334
|
-
break;
|
|
335
|
-
}
|
|
336
|
-
if (!done[msg.uri]) {
|
|
337
|
-
_context6.next = 2;
|
|
338
|
-
break;
|
|
339
|
-
}
|
|
340
|
-
debug.error('originalVersion: verion loop' + message);
|
|
341
|
-
return _context6.abrupt("return", message);
|
|
342
|
-
case 2:
|
|
343
|
-
done[msg.uri] = true;
|
|
344
|
-
message = msg;
|
|
345
|
-
_context6.next = 3;
|
|
346
|
-
return _solidLogic.store.fetcher.load(message);
|
|
347
|
-
case 3:
|
|
348
|
-
msg = _solidLogic.store.any(null, ns.dct('isReplacedBy'), message, message.doc());
|
|
349
|
-
_context6.next = 1;
|
|
350
|
-
break;
|
|
351
|
-
case 4:
|
|
352
|
-
return _context6.abrupt("return", message);
|
|
353
|
-
case 5:
|
|
354
|
-
case "end":
|
|
355
|
-
return _context6.stop();
|
|
356
|
-
}
|
|
357
|
-
}, _callee6);
|
|
358
|
-
}));
|
|
359
|
-
return _originalVersion.apply(this, arguments);
|
|
360
|
-
}
|
|
361
|
-
function mostRecentVersion(_x7) {
|
|
362
|
-
return _mostRecentVersion.apply(this, arguments);
|
|
363
|
-
}
|
|
364
|
-
function _mostRecentVersion() {
|
|
365
|
-
_mostRecentVersion = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee7(message) {
|
|
366
|
-
var msg, done;
|
|
367
|
-
return _regenerator["default"].wrap(function (_context7) {
|
|
368
|
-
while (1) switch (_context7.prev = _context7.next) {
|
|
369
|
-
case 0:
|
|
370
|
-
msg = message;
|
|
371
|
-
done = {};
|
|
372
|
-
case 1:
|
|
373
|
-
if (!msg) {
|
|
374
|
-
_context7.next = 4;
|
|
375
|
-
break;
|
|
376
|
-
}
|
|
377
|
-
if (!done[msg.uri]) {
|
|
378
|
-
_context7.next = 2;
|
|
379
|
-
break;
|
|
380
|
-
}
|
|
381
|
-
debug.error('mostRecentVersion: verion loop' + message);
|
|
382
|
-
return _context7.abrupt("return", message);
|
|
383
|
-
case 2:
|
|
384
|
-
done[msg.uri] = true;
|
|
385
|
-
message = msg;
|
|
386
|
-
_context7.next = 3;
|
|
387
|
-
return _solidLogic.store.fetcher.load(message);
|
|
388
|
-
case 3:
|
|
389
|
-
msg = _solidLogic.store.any(message, ns.dct('isReplacedBy'), null, message.doc());
|
|
390
|
-
_context7.next = 1;
|
|
391
|
-
break;
|
|
392
|
-
case 4:
|
|
393
|
-
return _context7.abrupt("return", message);
|
|
394
|
-
case 5:
|
|
395
|
-
case "end":
|
|
396
|
-
return _context7.stop();
|
|
397
|
-
}
|
|
398
|
-
}, _callee7);
|
|
399
|
-
}));
|
|
400
|
-
return _mostRecentVersion.apply(this, arguments);
|
|
401
|
-
}
|
|
402
|
-
function isDeleted(message) {
|
|
403
|
-
return _solidLogic.store.holds(message, ns.schema('dateDeleted'), null, message.doc());
|
|
404
|
-
}
|
|
405
|
-
function isReplaced(message) {
|
|
406
|
-
return _solidLogic.store.holds(message, ns.dct('isReplacedBy'), null, message.doc());
|
|
407
|
-
}
|
|
408
|
-
function isHidden(message) {
|
|
409
|
-
return this.isDeleted(message) || this.isReplaced(message);
|
|
410
|
-
}
|
|
411
|
-
|
|
412
|
-
// A Nickname for a person
|
|
413
|
-
|
|
414
|
-
function nick(person) {
|
|
415
|
-
var s = _solidLogic.store.any(person, ns.foaf('nick'));
|
|
416
|
-
if (s) return '' + s.value;
|
|
417
|
-
return '' + utils.label(person);
|
|
418
|
-
}
|
|
419
|
-
// ends
|
|
420
|
-
//# sourceMappingURL=chatLogic.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chatLogic.js","names":["debug","_interopRequireWildcard","require","_dateFolder","_solidLogic","ns","$rdf","utils","_signature","_keys","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t2","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ChatChannel","exports","channel","options","_classCallCheck2","channelRoot","doc","dateFolder","DateFolder","div","_createClass2","key","value","_createMessage","_asyncToGenerator2","_regenerator","mark","_callee","text","wrap","_context","prev","next","abrupt","updateMessage","stop","createMessage","_x","apply","arguments","_updateMessage","_this","oldMsg","length","undefined","deleteIt","thread","_callee2","sts","now","timestamp","dateStamp","chatDocument","message","me","msg","oldMsgMaker","oldMsgMostRecentVersion","oldMsgThread","errMsg","privateKey","sig","_errMsg","_t","_context2","Date","getTime","term","leafDocumentFromDate","store","sym","uri","authn","currentUser","getBlankMsg","id","any","foaf","mostRecentVersion","sent","push","st","dct","sioc","schema","warn","alert","Error","wf","literal","content","created","maker","getPrivateKey","signMsg","concat","SEC","lit","sameTerm","updater","updateMany","_x2","_deleteMessage","_callee3","_context3","deleteMessage","_x3","_createThread","_callee4","threadRoot","already","insert","_context4","each","filter","holds","rdf","update","createThread","_x4","allVersions","_x5","_allVersions","_callee5","versions","done","m","_context5","fetcher","load","unshift","originalVersion","_x6","_originalVersion","_callee6","_context6","error","_x7","_mostRecentVersion","_callee7","_context7","isDeleted","isReplaced","isHidden","nick","person","s","label"],"sources":["../../src/chat/chatLogic.js"],"sourcesContent":["/**\n * Contains the [[ChatChannel]] class and logic for Solid Chat\n * @packageDocumentation\n */\n\nimport * as debug from '../debug'\nimport { DateFolder } from './dateFolder'\nimport { store, authn } from 'solid-logic'\nimport * as ns from '../ns'\nimport * as $rdf from 'rdflib' // pull in first avoid cross-refs\nimport * as utils from '../utils'\nimport { getBlankMsg, signMsg, SEC } from './signature'\nimport { getPrivateKey } from './keys'\n\n/* The Solid logic for a 'LongChat'\n*/\n/**\n * Common code for a chat (discussion area of messages about something)\n * This version runs over a series of files for different time periods\n *\n * Parameters for the whole chat like its title are stored on\n * index.ttl#this and the chats messages are stored in YYYY/MM/DD/chat.ttl\n *\n */\n\nexport class ChatChannel {\n constructor (channel, options) {\n this.channel = channel\n this.channelRoot = channel.doc()\n this.options = options\n this.dateFolder = new DateFolder(this.channelRoot, 'chat.ttl')\n this.div = null // : HTMLElement\n }\n\n /* Store a new message in the web,\n */\n async createMessage (text) {\n return this.updateMessage(text)\n }\n\n /* Store a new message in the web,\n as a replacement for an existing one.\n The old one iis left, and the two are linked\n */\n async updateMessage (text, oldMsg = null, deleteIt, thread = null) {\n const sts = []\n const now = new Date()\n const timestamp = '' + now.getTime()\n const dateStamp = $rdf.term(now)\n const chatDocument = oldMsg ? oldMsg.doc() : this.dateFolder.leafDocumentFromDate(now)\n const message = store.sym(chatDocument.uri + '#' + 'Msg' + timestamp)\n // const content = store.literal(text)\n\n const me = authn.currentUser() // If already logged on\n\n const msg = getBlankMsg()\n msg.id = message.uri\n if (oldMsg) { // edit message replaces old one\n const oldMsgMaker = store.any(oldMsg, ns.foaf('maker')) // may not be needed here, but needed on READ\n if (oldMsgMaker.uri === me.uri) {\n const oldMsgMostRecentVersion = await mostRecentVersion(oldMsg)\n sts.push($rdf.st(oldMsgMostRecentVersion, ns.dct('isReplacedBy'), message, chatDocument))\n // if oldMsg has_reply => add has_reply to message\n const oldMsgThread = store.any(oldMsgMostRecentVersion, ns.sioc('has_reply'))\n if (oldMsgThread) {\n sts.push($rdf.st(message, ns.sioc('has_reply'), oldMsgThread, chatDocument))\n }\n if (deleteIt) { // we need to add a specific signature, else anyone can delete a msg ?\n sts.push($rdf.st(message, ns.schema('dateDeleted'), dateStamp, chatDocument))\n }\n } else {\n const errMsg = 'Error you cannot delete/edit a message from someone else : \\n' + oldMsgMaker.uri\n debug.warn(errMsg)\n alert(errMsg)\n throw new Error(errMsg)\n }\n } else { // link new message to channel\n sts.push($rdf.st(this.channel, ns.wf('message'), message, chatDocument))\n }\n sts.push(\n $rdf.st(message, ns.sioc('content'), store.literal(text), chatDocument)\n )\n msg.content = text\n\n sts.push(\n $rdf.st(message, ns.dct('created'), dateStamp, chatDocument)\n )\n msg.created = dateStamp.value\n if (me) {\n sts.push($rdf.st(message, ns.foaf('maker'), me, chatDocument))\n msg.maker = me.uri\n // privateKey the cached private key of me, cached in store\n const privateKey = await getPrivateKey(me) // me.uri)\n\n const sig = signMsg(msg, privateKey)\n sts.push($rdf.st(message, $rdf.sym(`${SEC}proofValue`), $rdf.lit(sig), chatDocument))\n }\n if (thread) {\n sts.push($rdf.st(thread, ns.sioc('has_member'), message, chatDocument))\n if (!thread.doc().sameTerm(message.doc())) {\n sts.push($rdf.st(thread, ns.sioc('has_member'), message, thread.doc()))\n }\n }\n\n try {\n await store.updater.updateMany([], sts)\n } catch (err) {\n const errMsg = 'Error saving chat message: ' + err\n debug.warn(errMsg)\n alert(errMsg)\n throw new Error(errMsg)\n }\n return message\n }\n\n /* Mark a message as deleted\n * Wee add a new version of the message,m witha deletion flag (deletion date)\n * so that the deletion can be revoked by adding another non-deleted update\n */\n async deleteMessage (message) {\n return this.updateMessage('(message deleted)', message, true)\n }\n\n // Create a new thread of replies to the thread root message\n // or return one which already exists\n\n async createThread (threadRoot) {\n const already = store.each(threadRoot, ns.sioc('has_reply'), null, threadRoot.doc())\n .filter(thread => store.holds(thread, ns.rdf('type'), ns.sioc('Thread'), thread.doc()))\n if (already.length > 0) return already[0]\n\n const thread = $rdf.sym(threadRoot.uri + '-thread')\n const insert = [\n $rdf.st(thread, ns.rdf('type'), ns.sioc('Thread'), thread.doc()),\n $rdf.st(threadRoot, ns.sioc('has_reply'), thread, thread.doc())\n ]\n await store.updater.update([], insert)\n return thread\n }\n} // class ChatChannel\n\n// ////////// Utility functions\n\n// Have to not loop forever if fed loops\nexport async function allVersions (message) {\n const versions = [message]\n const done = {}\n done[message.uri] = true\n let m = message\n while (true) { // earlier?\n const prev = store.any(null, ns.dct('isReplacedBy'), m, m.doc())\n if (!prev || done[prev.uri]) break\n await store.fetcher.load(prev)\n versions.unshift(prev)\n done[prev.uri] = true\n m = prev\n }\n m = message\n while (true) { // later?\n const next = store.any(m, ns.dct('isReplacedBy'), null, m.doc())\n if (!next || done[next.uri]) break\n versions.push(next)\n done[next.uri] = true\n m = next\n }\n return versions\n}\n\nexport async function originalVersion (message) {\n let msg = message\n const done = {}\n // done[message.uri] = true\n while (msg) {\n if (done[msg.uri]) {\n debug.error('originalVersion: verion loop' + message)\n return message\n }\n done[msg.uri] = true\n message = msg\n await store.fetcher.load(message)\n msg = store.any(null, ns.dct('isReplacedBy'), message, message.doc())\n }\n return message\n}\n\nexport async function mostRecentVersion (message) {\n let msg = message\n const done = {}\n while (msg) {\n if (done[msg.uri]) {\n debug.error('mostRecentVersion: verion loop' + message)\n return message\n }\n done[msg.uri] = true\n message = msg\n await store.fetcher.load(message)\n msg = store.any(message, ns.dct('isReplacedBy'), null, message.doc())\n }\n return message\n}\n\nexport function isDeleted (message) {\n return store.holds(message, ns.schema('dateDeleted'), null, message.doc())\n}\n\nexport function isReplaced (message) {\n return store.holds(message, ns.dct('isReplacedBy'), null, message.doc())\n}\n\nexport function isHidden (message) {\n return this.isDeleted(message) || this.isReplaced(message)\n}\n\n// A Nickname for a person\n\nexport function nick (person) {\n const s = store.any(person, ns.foaf('nick'))\n if (s) return '' + s.value\n return '' + utils.label(person)\n}\n// ends\n"],"mappings":"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","ignoreList":[]}
|