solid-ui 2.4.24 → 2.4.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +0 -0
- package/README.md +0 -0
- package/dist/index.html +0 -0
- package/dist/main.js +50483 -50370
- package/dist/main.js.map +1 -1
- package/lib/acl/access-controller.d.ts +0 -0
- package/lib/acl/access-controller.d.ts.map +0 -0
- package/lib/acl/access-controller.js +90 -98
- package/lib/acl/access-controller.js.map +1 -1
- package/lib/acl/access-groups.d.ts +0 -0
- package/lib/acl/access-groups.d.ts.map +0 -0
- package/lib/acl/access-groups.js +82 -90
- package/lib/acl/access-groups.js.map +1 -1
- package/lib/acl/acl-control.d.ts +0 -0
- package/lib/acl/acl-control.d.ts.map +0 -0
- package/lib/acl/acl-control.js +50 -54
- package/lib/acl/acl-control.js.map +1 -1
- package/lib/acl/acl.d.ts +3 -3
- package/lib/acl/acl.d.ts.map +1 -1
- package/lib/acl/acl.js +13 -15
- package/lib/acl/acl.js.map +1 -1
- package/lib/acl/add-agent-buttons.d.ts +0 -0
- package/lib/acl/add-agent-buttons.d.ts.map +0 -0
- package/lib/acl/add-agent-buttons.js +142 -154
- package/lib/acl/add-agent-buttons.js.map +1 -1
- package/lib/acl/index.d.ts +0 -0
- package/lib/acl/index.d.ts.map +0 -0
- package/lib/acl/index.js +0 -0
- package/lib/acl/index.js.map +0 -0
- package/lib/acl/styles.d.ts +0 -0
- package/lib/acl/styles.d.ts.map +0 -0
- package/lib/acl/styles.js +0 -0
- package/lib/acl/styles.js.map +0 -0
- package/lib/acl/types.d.ts +6 -6
- package/lib/acl/types.d.ts.map +1 -1
- package/lib/acl/types.js +0 -0
- package/lib/acl/types.js.map +0 -0
- package/lib/chat/bookmarks.js +181 -191
- package/lib/chat/bookmarks.js.map +1 -1
- package/lib/chat/chatLogic.js +96 -104
- package/lib/chat/chatLogic.js.map +1 -1
- package/lib/chat/dateFolder.js +232 -224
- package/lib/chat/dateFolder.js.map +1 -1
- package/lib/chat/infinite.js +634 -658
- package/lib/chat/infinite.js.map +1 -1
- package/lib/chat/message.js +119 -131
- package/lib/chat/message.js.map +1 -1
- package/lib/chat/messageTools.js +106 -114
- package/lib/chat/messageTools.js.map +1 -1
- package/lib/chat/thread.js +16 -18
- package/lib/chat/thread.js.map +1 -1
- package/lib/create/create.d.ts +0 -0
- package/lib/create/create.d.ts.map +0 -0
- package/lib/create/create.js +0 -0
- package/lib/create/create.js.map +0 -0
- package/lib/create/index.d.ts +0 -0
- package/lib/create/index.d.ts.map +0 -0
- package/lib/create/index.js +0 -0
- package/lib/create/index.js.map +0 -0
- package/lib/create/types.d.ts +1 -1
- package/lib/create/types.d.ts.map +1 -1
- package/lib/create/types.js +0 -0
- package/lib/create/types.js.map +0 -0
- package/lib/debug.d.ts +0 -0
- package/lib/debug.d.ts.map +0 -0
- package/lib/debug.js +0 -0
- package/lib/debug.js.map +0 -0
- package/lib/folders.js +0 -0
- package/lib/folders.js.map +0 -0
- package/lib/footer/index.d.ts +1 -1
- package/lib/footer/index.d.ts.map +1 -1
- package/lib/footer/index.js +33 -37
- package/lib/footer/index.js.map +1 -1
- package/lib/footer/styleMap.d.ts +0 -0
- package/lib/footer/styleMap.d.ts.map +0 -0
- package/lib/footer/styleMap.js +0 -0
- package/lib/footer/styleMap.js.map +0 -0
- package/lib/header/empty-profile.d.ts +0 -0
- package/lib/header/empty-profile.d.ts.map +0 -0
- package/lib/header/empty-profile.js +0 -0
- package/lib/header/empty-profile.js.map +0 -0
- package/lib/header/index.d.ts +4 -4
- package/lib/header/index.d.ts.map +1 -1
- package/lib/header/index.js +126 -134
- package/lib/header/index.js.map +1 -1
- package/lib/header/styleMap.d.ts +0 -0
- package/lib/header/styleMap.d.ts.map +0 -0
- package/lib/header/styleMap.js +0 -0
- package/lib/header/styleMap.js.map +0 -0
- package/lib/iconBase.d.ts +0 -0
- package/lib/iconBase.d.ts.map +0 -0
- package/lib/iconBase.js +0 -0
- package/lib/iconBase.js.map +0 -0
- package/lib/icons/solid_logo.d.ts +0 -0
- package/lib/icons/solid_logo.d.ts.map +0 -0
- package/lib/icons/solid_logo.js +0 -0
- package/lib/icons/solid_logo.js.map +0 -0
- package/lib/index.d.ts +0 -0
- package/lib/index.d.ts.map +0 -0
- package/lib/index.js +0 -0
- package/lib/index.js.map +0 -0
- package/lib/jss/index.d.ts +0 -0
- package/lib/jss/index.d.ts.map +0 -0
- package/lib/jss/index.js +0 -0
- package/lib/jss/index.js.map +0 -0
- package/lib/log.d.ts +0 -0
- package/lib/log.d.ts.map +0 -0
- package/lib/log.js +0 -0
- package/lib/log.js.map +0 -0
- package/lib/login/login.d.ts +0 -0
- package/lib/login/login.d.ts.map +0 -0
- package/lib/login/login.js +470 -470
- package/lib/login/login.js.map +1 -1
- package/lib/matrix/index.d.ts +0 -0
- package/lib/matrix/index.d.ts.map +0 -0
- package/lib/matrix/index.js +0 -0
- package/lib/matrix/index.js.map +0 -0
- package/lib/matrix/matrix.d.ts +0 -0
- package/lib/matrix/matrix.d.ts.map +0 -0
- package/lib/matrix/matrix.js +0 -0
- package/lib/matrix/matrix.js.map +0 -0
- package/lib/matrix/types.d.ts +1 -1
- package/lib/matrix/types.d.ts.map +1 -1
- package/lib/matrix/types.js +0 -0
- package/lib/matrix/types.js.map +0 -0
- package/lib/media/index.d.ts +0 -0
- package/lib/media/index.d.ts.map +0 -0
- package/lib/media/index.js +0 -0
- package/lib/media/index.js.map +0 -0
- package/lib/media/media-capture.d.ts +0 -0
- package/lib/media/media-capture.d.ts.map +0 -0
- package/lib/media/media-capture.js +8 -10
- package/lib/media/media-capture.js.map +1 -1
- package/lib/messageArea.js +0 -0
- package/lib/messageArea.js.map +0 -0
- package/lib/noun_Camera_1618446_000000.js +0 -0
- package/lib/noun_Camera_1618446_000000.js.map +0 -0
- package/lib/ns.js +0 -0
- package/lib/ns.js.map +0 -0
- package/lib/pad.d.ts +1 -1
- package/lib/pad.d.ts.map +1 -1
- package/lib/pad.js +0 -0
- package/lib/pad.js.map +0 -0
- package/lib/participation.d.ts +1 -1
- package/lib/participation.d.ts.map +1 -1
- package/lib/participation.js +1 -1
- package/lib/participation.js.map +0 -0
- package/lib/preferences.js +0 -0
- package/lib/preferences.js.map +0 -0
- package/lib/signup/config-default.js +0 -0
- package/lib/signup/config-default.js.map +0 -0
- package/lib/signup/signup.js +0 -0
- package/lib/signup/signup.js.map +0 -0
- package/lib/stories/decorators.js +0 -0
- package/lib/stories/decorators.js.map +0 -0
- package/lib/style.js +0 -0
- package/lib/style.js.map +0 -0
- package/lib/style_multiSelect.js +0 -0
- package/lib/style_multiSelect.js.map +0 -0
- package/lib/table.js +0 -0
- package/lib/table.js.map +0 -0
- package/lib/tabs.d.ts +1 -1
- package/lib/tabs.d.ts.map +1 -1
- package/lib/tabs.js +0 -0
- package/lib/tabs.js.map +0 -0
- package/lib/typings.d.js +0 -0
- package/lib/typings.d.js.map +0 -0
- package/lib/utils/headerFooterHelpers.d.ts +1 -1
- package/lib/utils/headerFooterHelpers.d.ts.map +1 -1
- package/lib/utils/headerFooterHelpers.js +78 -80
- package/lib/utils/headerFooterHelpers.js.map +1 -1
- package/lib/utils/index.js +2 -6
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/label.d.ts +0 -0
- package/lib/utils/label.d.ts.map +0 -0
- package/lib/utils/label.js +0 -0
- package/lib/utils/label.js.map +0 -0
- package/lib/versionInfo.d.ts +0 -0
- package/lib/versionInfo.d.ts.map +0 -0
- package/lib/versionInfo.js +13 -13
- package/lib/versionInfo.js.map +1 -1
- package/lib/widgets/buttons/iconLinks.d.ts +0 -0
- package/lib/widgets/buttons/iconLinks.d.ts.map +0 -0
- package/lib/widgets/buttons/iconLinks.js +0 -0
- package/lib/widgets/buttons/iconLinks.js.map +0 -0
- package/lib/widgets/buttons.d.ts +5 -5
- package/lib/widgets/buttons.d.ts.map +1 -1
- package/lib/widgets/buttons.js +0 -0
- package/lib/widgets/buttons.js.map +0 -0
- package/lib/widgets/dragAndDrop.js +0 -0
- package/lib/widgets/dragAndDrop.js.map +0 -0
- package/lib/widgets/error.d.ts +0 -0
- package/lib/widgets/error.d.ts.map +0 -0
- package/lib/widgets/error.js +0 -0
- package/lib/widgets/error.js.map +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteBar.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteBar.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteBar.js +217 -229
- package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompleteField.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteField.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteField.js +70 -74
- package/lib/widgets/forms/autocomplete/autocompleteField.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts +2 -2
- package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompletePicker.js +363 -379
- package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +1 -1
- package/lib/widgets/forms/autocomplete/language.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/language.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/language.js +79 -83
- package/lib/widgets/forms/autocomplete/language.js.map +1 -1
- package/lib/widgets/forms/autocomplete/publicData.d.ts +2 -2
- package/lib/widgets/forms/autocomplete/publicData.d.ts.map +1 -1
- package/lib/widgets/forms/autocomplete/publicData.js +263 -281
- package/lib/widgets/forms/autocomplete/publicData.js.map +1 -1
- package/lib/widgets/forms/basic.d.ts +0 -0
- package/lib/widgets/forms/basic.d.ts.map +0 -0
- package/lib/widgets/forms/basic.js +0 -0
- package/lib/widgets/forms/basic.js.map +0 -0
- package/lib/widgets/forms/comment.d.ts +0 -0
- package/lib/widgets/forms/comment.d.ts.map +0 -0
- package/lib/widgets/forms/comment.js +0 -0
- package/lib/widgets/forms/comment.js.map +0 -0
- package/lib/widgets/forms/fieldFunction.d.ts +1 -1
- package/lib/widgets/forms/fieldFunction.d.ts.map +1 -1
- package/lib/widgets/forms/fieldFunction.js +1 -3
- package/lib/widgets/forms/fieldFunction.js.map +1 -1
- package/lib/widgets/forms/fieldParams.d.ts +1 -1
- package/lib/widgets/forms/fieldParams.d.ts.map +1 -1
- package/lib/widgets/forms/fieldParams.js +0 -0
- package/lib/widgets/forms/fieldParams.js.map +0 -0
- package/lib/widgets/forms/formStyle.d.ts +0 -0
- package/lib/widgets/forms/formStyle.d.ts.map +0 -0
- package/lib/widgets/forms/formStyle.js +0 -0
- package/lib/widgets/forms/formStyle.js.map +0 -0
- package/lib/widgets/forms.js +197 -225
- package/lib/widgets/forms.js.map +1 -1
- package/lib/widgets/index.js +0 -0
- package/lib/widgets/index.js.map +0 -0
- package/lib/widgets/multiSelect.js +4 -4
- package/lib/widgets/multiSelect.js.map +1 -1
- package/lib/widgets/peoplePicker.js +0 -0
- package/lib/widgets/peoplePicker.js.map +0 -0
- package/lib/widgets/widgetHelpers.d.ts +0 -0
- package/lib/widgets/widgetHelpers.d.ts.map +0 -0
- package/lib/widgets/widgetHelpers.js +0 -0
- package/lib/widgets/widgetHelpers.js.map +0 -0
- package/package.json +34 -31
package/lib/chat/chatLogic.js
CHANGED
|
@@ -57,14 +57,12 @@ var ChatChannel = /*#__PURE__*/function () {
|
|
|
57
57
|
value: function () {
|
|
58
58
|
var _createMessage = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(text) {
|
|
59
59
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
60
|
-
while (1) {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
return _context.stop();
|
|
67
|
-
}
|
|
60
|
+
while (1) switch (_context.prev = _context.next) {
|
|
61
|
+
case 0:
|
|
62
|
+
return _context.abrupt("return", this.updateMessage(text));
|
|
63
|
+
case 1:
|
|
64
|
+
case "end":
|
|
65
|
+
return _context.stop();
|
|
68
66
|
}
|
|
69
67
|
}, _callee, this);
|
|
70
68
|
}));
|
|
@@ -87,50 +85,48 @@ var ChatChannel = /*#__PURE__*/function () {
|
|
|
87
85
|
return /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
88
86
|
var sts, now, timestamp, dateStamp, chatDocument, message, me, msg;
|
|
89
87
|
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
90
|
-
while (1) {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
sts.push($rdf.st(message, ns.schema('dateDeleted'), dateStamp, chatDocument));
|
|
105
|
-
}
|
|
106
|
-
} else {
|
|
107
|
-
// link new message to channel
|
|
108
|
-
sts.push($rdf.st(_this.channel, ns.wf('message'), message, chatDocument));
|
|
109
|
-
}
|
|
110
|
-
sts.push($rdf.st(message, ns.sioc('content'), _solidLogic.store.literal(text), chatDocument));
|
|
111
|
-
sts.push($rdf.st(message, ns.dct('created'), dateStamp, chatDocument));
|
|
112
|
-
if (me) {
|
|
113
|
-
sts.push($rdf.st(message, ns.foaf('maker'), me, chatDocument));
|
|
88
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
89
|
+
case 0:
|
|
90
|
+
sts = [];
|
|
91
|
+
now = new Date();
|
|
92
|
+
timestamp = '' + now.getTime();
|
|
93
|
+
dateStamp = $rdf.term(now);
|
|
94
|
+
chatDocument = oldMsg ? oldMsg.doc() : _this.dateFolder.leafDocumentFromDate(now);
|
|
95
|
+
message = _solidLogic.store.sym(chatDocument.uri + '#' + 'Msg' + timestamp); // const content = store.literal(text)
|
|
96
|
+
me = _solidLogic.authn.currentUser(); // If already logged on
|
|
97
|
+
if (oldMsg) {
|
|
98
|
+
// edit message replaces old one
|
|
99
|
+
sts.push($rdf.st(mostRecentVersion(oldMsg), ns.dct('isReplacedBy'), message, chatDocument));
|
|
100
|
+
if (deleteIt) {
|
|
101
|
+
sts.push($rdf.st(message, ns.schema('dateDeleted'), dateStamp, chatDocument));
|
|
114
102
|
}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
103
|
+
} else {
|
|
104
|
+
// link new message to channel
|
|
105
|
+
sts.push($rdf.st(_this.channel, ns.wf('message'), message, chatDocument));
|
|
106
|
+
}
|
|
107
|
+
sts.push($rdf.st(message, ns.sioc('content'), _solidLogic.store.literal(text), chatDocument));
|
|
108
|
+
sts.push($rdf.st(message, ns.dct('created'), dateStamp, chatDocument));
|
|
109
|
+
if (me) {
|
|
110
|
+
sts.push($rdf.st(message, ns.foaf('maker'), me, chatDocument));
|
|
111
|
+
}
|
|
112
|
+
_context2.prev = 11;
|
|
113
|
+
_context2.next = 14;
|
|
114
|
+
return _solidLogic.store.updater.update([], sts);
|
|
115
|
+
case 14:
|
|
116
|
+
_context2.next = 22;
|
|
117
|
+
break;
|
|
118
|
+
case 16:
|
|
119
|
+
_context2.prev = 16;
|
|
120
|
+
_context2.t0 = _context2["catch"](11);
|
|
121
|
+
msg = 'Error saving chat message: ' + _context2.t0;
|
|
122
|
+
debug.warn(msg);
|
|
123
|
+
alert(msg);
|
|
124
|
+
throw new Error(msg);
|
|
125
|
+
case 22:
|
|
126
|
+
return _context2.abrupt("return", message);
|
|
127
|
+
case 23:
|
|
128
|
+
case "end":
|
|
129
|
+
return _context2.stop();
|
|
134
130
|
}
|
|
135
131
|
}, _callee2, null, [[11, 16]]);
|
|
136
132
|
})();
|
|
@@ -149,14 +145,12 @@ var ChatChannel = /*#__PURE__*/function () {
|
|
|
149
145
|
value: function () {
|
|
150
146
|
var _deleteMessage = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(message) {
|
|
151
147
|
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
152
|
-
while (1) {
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
return _context3.stop();
|
|
159
|
-
}
|
|
148
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
149
|
+
case 0:
|
|
150
|
+
return _context3.abrupt("return", this.updateMessage('(message deleted)', message, true));
|
|
151
|
+
case 1:
|
|
152
|
+
case "end":
|
|
153
|
+
return _context3.stop();
|
|
160
154
|
}
|
|
161
155
|
}, _callee3, this);
|
|
162
156
|
}));
|
|
@@ -212,52 +206,50 @@ function _createIfNotExists2() {
|
|
|
212
206
|
return /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
213
207
|
var response;
|
|
214
208
|
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
215
|
-
while (1) {
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
209
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
210
|
+
case 0:
|
|
211
|
+
_context4.prev = 0;
|
|
212
|
+
_context4.next = 3;
|
|
213
|
+
return _solidLogic.store.fetcher.load(doc);
|
|
214
|
+
case 3:
|
|
215
|
+
response = _context4.sent;
|
|
216
|
+
_context4.next = 26;
|
|
217
|
+
break;
|
|
218
|
+
case 6:
|
|
219
|
+
_context4.prev = 6;
|
|
220
|
+
_context4.t0 = _context4["catch"](0);
|
|
221
|
+
if (!(_context4.t0.response.status === 404)) {
|
|
222
|
+
_context4.next = 24;
|
|
224
223
|
break;
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
throw _context4.t0;
|
|
255
|
-
case 26:
|
|
256
|
-
return _context4.abrupt("return", response);
|
|
257
|
-
case 27:
|
|
258
|
-
case "end":
|
|
259
|
-
return _context4.stop();
|
|
260
|
-
}
|
|
224
|
+
}
|
|
225
|
+
debug.log('createIfNotExists: doc does NOT exist, will create... ' + doc);
|
|
226
|
+
_context4.prev = 10;
|
|
227
|
+
_context4.next = 13;
|
|
228
|
+
return _solidLogic.store.fetcher.webOperation('PUT', doc.uri, {
|
|
229
|
+
data: data,
|
|
230
|
+
contentType: contentType
|
|
231
|
+
});
|
|
232
|
+
case 13:
|
|
233
|
+
response = _context4.sent;
|
|
234
|
+
_context4.next = 20;
|
|
235
|
+
break;
|
|
236
|
+
case 16:
|
|
237
|
+
_context4.prev = 16;
|
|
238
|
+
_context4.t1 = _context4["catch"](10);
|
|
239
|
+
debug.log('createIfNotExists doc FAILED: ' + doc + ': ' + _context4.t1);
|
|
240
|
+
throw _context4.t1;
|
|
241
|
+
case 20:
|
|
242
|
+
delete _solidLogic.store.fetcher.requested[doc.uri]; // delete cached 404 error
|
|
243
|
+
// debug.log('createIfNotExists doc created ok ' + doc)
|
|
244
|
+
return _context4.abrupt("return", response);
|
|
245
|
+
case 24:
|
|
246
|
+
debug.log('createIfNotExists doc load error NOT 404: ' + doc + ': ' + _context4.t0);
|
|
247
|
+
throw _context4.t0;
|
|
248
|
+
case 26:
|
|
249
|
+
return _context4.abrupt("return", response);
|
|
250
|
+
case 27:
|
|
251
|
+
case "end":
|
|
252
|
+
return _context4.stop();
|
|
261
253
|
}
|
|
262
254
|
}, _callee4, null, [[0, 6], [10, 16]]);
|
|
263
255
|
})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chatLogic.js","names":["ChatChannel","channel","options","channelRoot","doc","dateFolder","DateFolder","div","text","updateMessage","oldMsg","deleteIt","sts","now","Date","timestamp","getTime","dateStamp","$rdf","term","chatDocument","leafDocumentFromDate","message","store","sym","uri","me","authn","currentUser","push","st","mostRecentVersion","ns","dct","schema","wf","sioc","literal","foaf","updater","update","msg","debug","warn","alert","Error","originalVersion","any","isDeleted","holds","isReplaced","isHidden","nick","person","s","value","utils","label","_createIfNotExists","contentType","data","fetcher","load","response","status","log","webOperation","requested"],"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'\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) {\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 if (oldMsg) { // edit message replaces old one\n sts.push($rdf.st(mostRecentVersion(oldMsg), ns.dct('isReplacedBy'), message, chatDocument))\n if (deleteIt) {\n sts.push($rdf.st(message, ns.schema('dateDeleted'), dateStamp, chatDocument))\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 sts.push(\n $rdf.st(message, ns.dct('created'), dateStamp, chatDocument)\n )\n if (me) {\n sts.push($rdf.st(message, ns.foaf('maker'), me, chatDocument))\n }\n try {\n await store.updater.update([], sts)\n } catch (err) {\n const msg = 'Error saving chat message: ' + err\n debug.warn(msg)\n alert(msg)\n throw new Error(msg)\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} // class ChatChannel\n\nexport function originalVersion (message) {\n let msg = message\n while (msg) {\n message = msg\n msg = store.any(null, ns.dct('isReplacedBy'), message, message.doc())\n }\n return message\n}\n\nexport function mostRecentVersion (message) {\n let msg = message\n while (msg) {\n message = msg\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\nexport async function _createIfNotExists (doc, contentType = 'text/turtle', data = '') {\n let response\n try {\n response = await store.fetcher.load(doc)\n } catch (err) {\n if (err.response.status === 404) {\n debug.log(\n 'createIfNotExists: doc does NOT exist, will create... ' + doc\n )\n try {\n response = await store.fetcher.webOperation('PUT', doc.uri, {\n data,\n contentType\n })\n } catch (err) {\n debug.log('createIfNotExists doc FAILED: ' + doc + ': ' + err)\n throw err\n }\n delete store.fetcher.requested[doc.uri] // delete cached 404 error\n // debug.log('createIfNotExists doc created ok ' + doc)\n return response\n } else {\n debug.log(\n 'createIfNotExists doc load error NOT 404: ' + doc + ': ' + err\n )\n throw err\n }\n }\n // debug.log('createIfNotExists: doc exists, all good: ' + doc)\n return response\n}\n// ends\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chatLogic.js","names":["ChatChannel","channel","options","channelRoot","doc","dateFolder","DateFolder","div","text","updateMessage","oldMsg","deleteIt","sts","now","Date","timestamp","getTime","dateStamp","$rdf","term","chatDocument","leafDocumentFromDate","message","store","sym","uri","me","authn","currentUser","push","st","mostRecentVersion","ns","dct","schema","wf","sioc","literal","foaf","updater","update","msg","debug","warn","alert","Error","originalVersion","any","isDeleted","holds","isReplaced","isHidden","nick","person","s","value","utils","label","_createIfNotExists","contentType","data","fetcher","load","response","status","log","webOperation","requested"],"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'\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) {\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 if (oldMsg) { // edit message replaces old one\n sts.push($rdf.st(mostRecentVersion(oldMsg), ns.dct('isReplacedBy'), message, chatDocument))\n if (deleteIt) {\n sts.push($rdf.st(message, ns.schema('dateDeleted'), dateStamp, chatDocument))\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 sts.push(\n $rdf.st(message, ns.dct('created'), dateStamp, chatDocument)\n )\n if (me) {\n sts.push($rdf.st(message, ns.foaf('maker'), me, chatDocument))\n }\n try {\n await store.updater.update([], sts)\n } catch (err) {\n const msg = 'Error saving chat message: ' + err\n debug.warn(msg)\n alert(msg)\n throw new Error(msg)\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} // class ChatChannel\n\nexport function originalVersion (message) {\n let msg = message\n while (msg) {\n message = msg\n msg = store.any(null, ns.dct('isReplacedBy'), message, message.doc())\n }\n return message\n}\n\nexport function mostRecentVersion (message) {\n let msg = message\n while (msg) {\n message = msg\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\nexport async function _createIfNotExists (doc, contentType = 'text/turtle', data = '') {\n let response\n try {\n response = await store.fetcher.load(doc)\n } catch (err) {\n if (err.response.status === 404) {\n debug.log(\n 'createIfNotExists: doc does NOT exist, will create... ' + doc\n )\n try {\n response = await store.fetcher.webOperation('PUT', doc.uri, {\n data,\n contentType\n })\n } catch (err) {\n debug.log('createIfNotExists doc FAILED: ' + doc + ': ' + err)\n throw err\n }\n delete store.fetcher.requested[doc.uri] // delete cached 404 error\n // debug.log('createIfNotExists doc created ok ' + doc)\n return response\n } else {\n debug.log(\n 'createIfNotExists doc load error NOT 404: ' + doc + ': ' + err\n )\n throw err\n }\n }\n // debug.log('createIfNotExists: doc exists, all good: ' + doc)\n return response\n}\n// ends\n"],"mappings":"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"}
|