solid-ui 2.5.1 → 2.6.0
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/README.md +4 -0
- package/dist/841.solid-ui.min.js +1 -1
- package/dist/841.solid-ui.min.js.map +1 -1
- package/dist/_2b19.solid-ui.js.map +1 -1
- package/dist/solid-ui.js +42754 -45728
- package/dist/solid-ui.js.map +1 -1
- package/dist/solid-ui.min.js +1 -1
- package/dist/solid-ui.min.js.LICENSE.txt +1 -5
- package/dist/solid-ui.min.js.map +1 -1
- package/lib/acl/access-controller.js +48 -49
- package/lib/acl/access-controller.js.map +1 -1
- package/lib/acl/access-groups.js +40 -40
- package/lib/acl/access-groups.js.map +1 -1
- package/lib/acl/acl-control.js +18 -19
- package/lib/acl/acl-control.js.map +1 -1
- package/lib/acl/acl.js +4 -5
- package/lib/acl/acl.js.map +1 -1
- package/lib/acl/add-agent-buttons.js +51 -52
- package/lib/acl/add-agent-buttons.js.map +1 -1
- package/lib/chat/bookmarks.js +76 -77
- package/lib/chat/bookmarks.js.map +1 -1
- package/lib/chat/chatLogic.js +74 -75
- package/lib/chat/chatLogic.js.map +1 -1
- package/lib/chat/dateFolder.js +66 -67
- package/lib/chat/dateFolder.js.map +1 -1
- package/lib/chat/infinite.js +218 -220
- package/lib/chat/infinite.js.map +1 -1
- package/lib/chat/keys.js +62 -63
- package/lib/chat/keys.js.map +1 -1
- package/lib/chat/message.js +98 -100
- package/lib/chat/message.js.map +1 -1
- package/lib/chat/messageTools.js +99 -100
- package/lib/chat/messageTools.js.map +1 -1
- package/lib/chat/signature.d.ts.map +1 -1
- package/lib/chat/signature.js +0 -1
- package/lib/chat/signature.js.map +1 -1
- package/lib/chat/thread.js +57 -61
- package/lib/chat/thread.js.map +1 -1
- package/lib/create/create.js +1 -2
- package/lib/create/create.js.map +1 -1
- package/lib/folders.js +1 -4
- package/lib/folders.js.map +1 -1
- package/lib/footer/index.d.ts.map +1 -1
- package/lib/footer/index.js +14 -16
- package/lib/footer/index.js.map +1 -1
- package/lib/header/index.js +34 -36
- package/lib/header/index.js.map +1 -1
- package/lib/iconBase.d.ts.map +1 -1
- package/lib/iconBase.js +0 -1
- package/lib/iconBase.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +5 -5
- package/lib/index.js.map +1 -1
- package/lib/log.d.ts +7 -7
- package/lib/log.d.ts.map +1 -1
- package/lib/log.js +2 -2
- package/lib/log.js.map +1 -1
- package/lib/login/login.js +217 -222
- package/lib/login/login.js.map +1 -1
- package/lib/matrix/matrix.js +1 -2
- package/lib/matrix/matrix.js.map +1 -1
- package/lib/matrix/types.js.map +1 -1
- package/lib/media/media-capture.js +3 -4
- package/lib/media/media-capture.js.map +1 -1
- package/lib/messageArea.js +1 -4
- package/lib/messageArea.js.map +1 -1
- package/lib/ns.js +1 -2
- package/lib/ns.js.map +1 -1
- package/lib/pad.js +1 -2
- package/lib/pad.js.map +1 -1
- package/lib/participation.js +1 -2
- package/lib/participation.js.map +1 -1
- package/lib/preferences.js +1 -2
- package/lib/preferences.js.map +1 -1
- package/lib/table.js +1 -2
- package/lib/table.js.map +1 -1
- package/lib/tabs.d.ts.map +1 -1
- package/lib/tabs.js +1 -2
- package/lib/tabs.js.map +1 -1
- package/lib/utils/headerFooterHelpers.d.ts.map +1 -1
- package/lib/utils/headerFooterHelpers.js +36 -36
- package/lib/utils/headerFooterHelpers.js.map +1 -1
- package/lib/utils/index.js +1 -2
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/keyHelpers/accessData.d.ts.map +1 -1
- package/lib/utils/keyHelpers/accessData.js +33 -34
- package/lib/utils/keyHelpers/accessData.js.map +1 -1
- package/lib/utils/keyHelpers/acl.d.ts.map +1 -1
- package/lib/utils/keyHelpers/acl.js +21 -22
- package/lib/utils/keyHelpers/acl.js.map +1 -1
- package/lib/utils/keyHelpers/otherHelpers.d.ts.map +1 -1
- package/lib/utils/keyHelpers/otherHelpers.js +1 -2
- package/lib/utils/keyHelpers/otherHelpers.js.map +1 -1
- package/lib/utils/label.js +1 -2
- package/lib/utils/label.js.map +1 -1
- package/lib/versionInfo.d.ts +4 -3
- package/lib/versionInfo.d.ts.map +1 -1
- package/lib/versionInfo.js +30 -30
- package/lib/versionInfo.js.map +1 -1
- package/lib/widgets/buttons/iconLinks.d.ts.map +1 -1
- package/lib/widgets/buttons/iconLinks.js +2 -2
- package/lib/widgets/buttons/iconLinks.js.map +1 -1
- package/lib/widgets/buttons.d.ts +1 -1
- package/lib/widgets/buttons.d.ts.map +1 -1
- package/lib/widgets/buttons.js +1 -3
- package/lib/widgets/buttons.js.map +1 -1
- package/lib/widgets/dragAndDrop.js +1 -2
- package/lib/widgets/dragAndDrop.js.map +1 -1
- package/lib/widgets/error.js +1 -2
- package/lib/widgets/error.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompleteBar.js +47 -48
- package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompleteField.js +38 -39
- package/lib/widgets/forms/autocomplete/autocompleteField.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompletePicker.js +44 -45
- package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +1 -1
- package/lib/widgets/forms/autocomplete/language.js +23 -24
- package/lib/widgets/forms/autocomplete/language.js.map +1 -1
- package/lib/widgets/forms/autocomplete/publicData.d.ts.map +1 -1
- package/lib/widgets/forms/autocomplete/publicData.js +91 -93
- package/lib/widgets/forms/autocomplete/publicData.js.map +1 -1
- package/lib/widgets/forms/basic.js +2 -3
- package/lib/widgets/forms/basic.js.map +1 -1
- package/lib/widgets/forms/comment.js +1 -2
- package/lib/widgets/forms/comment.js.map +1 -1
- package/lib/widgets/forms/fieldParams.js +1 -2
- package/lib/widgets/forms/fieldParams.js.map +1 -1
- package/lib/widgets/forms/formStyle.js +1 -2
- package/lib/widgets/forms/formStyle.js.map +1 -1
- package/lib/widgets/forms.js +79 -80
- package/lib/widgets/forms.js.map +1 -1
- package/lib/widgets/index.js +1 -2
- package/lib/widgets/index.js.map +1 -1
- package/lib/widgets/multiSelect.js +1 -2
- package/lib/widgets/multiSelect.js.map +1 -1
- package/lib/widgets/peoplePicker.js +1 -2
- package/lib/widgets/peoplePicker.js.map +1 -1
- package/lib/widgets/widgetHelpers.d.ts.map +1 -1
- package/lib/widgets/widgetHelpers.js +3 -3
- package/lib/widgets/widgetHelpers.js.map +1 -1
- package/package.json +57 -57
package/lib/chat/dateFolder.js
CHANGED
|
@@ -15,8 +15,7 @@ var debug = _interopRequireWildcard(require("../debug"));
|
|
|
15
15
|
var _solidLogic = require("solid-logic");
|
|
16
16
|
var ns = _interopRequireWildcard(require("../ns"));
|
|
17
17
|
var $rdf = _interopRequireWildcard(require("rdflib"));
|
|
18
|
-
function
|
|
19
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
18
|
+
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); }
|
|
20
19
|
/**
|
|
21
20
|
* Contains the [[DateFolder]] class
|
|
22
21
|
* This tracks data stored in dated folders and sub-folders
|
|
@@ -31,14 +30,14 @@ function emptyLeaf(_x) {
|
|
|
31
30
|
*/
|
|
32
31
|
function _emptyLeaf() {
|
|
33
32
|
_emptyLeaf = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5(leafDocument) {
|
|
34
|
-
return _regenerator["default"].wrap(function
|
|
33
|
+
return _regenerator["default"].wrap(function (_context5) {
|
|
35
34
|
while (1) switch (_context5.prev = _context5.next) {
|
|
36
35
|
case 0:
|
|
37
|
-
_context5.next =
|
|
36
|
+
_context5.next = 1;
|
|
38
37
|
return _solidLogic.store.fetcher.load(leafDocument);
|
|
39
|
-
case
|
|
38
|
+
case 1:
|
|
40
39
|
return _context5.abrupt("return", !(_solidLogic.store.statementsMatching(null, ns.dct('created'), null, leafDocument).length > 0));
|
|
41
|
-
case
|
|
40
|
+
case 2:
|
|
42
41
|
case "end":
|
|
43
42
|
return _context5.stop();
|
|
44
43
|
}
|
|
@@ -86,13 +85,13 @@ var DateFolder = exports.DateFolder = /*#__PURE__*/function () {
|
|
|
86
85
|
value: function () {
|
|
87
86
|
var _loadPrevious = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(date, backwards) {
|
|
88
87
|
var previousPeriod, _previousPeriod, folder, found, leafDocument, nextDate;
|
|
89
|
-
return _regenerator["default"].wrap(function
|
|
88
|
+
return _regenerator["default"].wrap(function (_context2) {
|
|
90
89
|
while (1) switch (_context2.prev = _context2.next) {
|
|
91
90
|
case 0:
|
|
92
91
|
_previousPeriod = function _previousPeriod3() {
|
|
93
92
|
_previousPeriod = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(file, level) {
|
|
94
|
-
var younger, suitable, lastOrFirst, parent, siblings, _folder, uncle, cousins, result;
|
|
95
|
-
return _regenerator["default"].wrap(function
|
|
93
|
+
var younger, suitable, lastOrFirst, parent, siblings, _folder, uncle, cousins, result, _t;
|
|
94
|
+
return _regenerator["default"].wrap(function (_context) {
|
|
96
95
|
while (1) switch (_context.prev = _context.next) {
|
|
97
96
|
case 0:
|
|
98
97
|
lastOrFirst = function _lastOrFirst(siblings) {
|
|
@@ -112,64 +111,64 @@ var DateFolder = exports.DateFolder = /*#__PURE__*/function () {
|
|
|
112
111
|
};
|
|
113
112
|
// debug.log(' previousPeriod level' + level + ' file ' + file)
|
|
114
113
|
parent = file.dir();
|
|
115
|
-
_context.prev =
|
|
116
|
-
_context.next =
|
|
114
|
+
_context.prev = 1;
|
|
115
|
+
_context.next = 2;
|
|
117
116
|
return _solidLogic.store.fetcher.load(parent);
|
|
118
|
-
case
|
|
117
|
+
case 2:
|
|
119
118
|
siblings = _solidLogic.store.each(parent, ns.ldp('contains'));
|
|
120
119
|
siblings = siblings.filter(younger);
|
|
121
120
|
_folder = lastOrFirst(siblings);
|
|
122
121
|
if (!_folder) {
|
|
123
|
-
_context.next =
|
|
122
|
+
_context.next = 3;
|
|
124
123
|
break;
|
|
125
124
|
}
|
|
126
125
|
return _context.abrupt("return", _folder);
|
|
127
|
-
case
|
|
128
|
-
_context.next =
|
|
126
|
+
case 3:
|
|
127
|
+
_context.next = 6;
|
|
129
128
|
break;
|
|
130
|
-
case
|
|
131
|
-
_context.prev =
|
|
132
|
-
|
|
133
|
-
if (!(
|
|
134
|
-
_context.next =
|
|
129
|
+
case 4:
|
|
130
|
+
_context.prev = 4;
|
|
131
|
+
_t = _context["catch"](1);
|
|
132
|
+
if (!(_t.response && _t.response.status && _t.response.status === 404)) {
|
|
133
|
+
_context.next = 5;
|
|
135
134
|
break;
|
|
136
135
|
}
|
|
137
136
|
debug.log('Error 404 for chat parent file ' + parent);
|
|
138
|
-
_context.next =
|
|
137
|
+
_context.next = 6;
|
|
139
138
|
break;
|
|
140
|
-
case
|
|
139
|
+
case 5:
|
|
141
140
|
debug.log('*** Error NON 404 for chat parent file ' + parent);
|
|
142
141
|
// statusTR.appendChild(widgets.errorMessageBlock(dom, err, 'pink'))
|
|
143
|
-
throw new Error("*** ".concat(
|
|
144
|
-
case
|
|
142
|
+
throw new Error("*** ".concat(_t.message, " for chat folder ").concat(parent));
|
|
143
|
+
case 6:
|
|
145
144
|
if (!(level === 0)) {
|
|
146
|
-
_context.next =
|
|
145
|
+
_context.next = 7;
|
|
147
146
|
break;
|
|
148
147
|
}
|
|
149
148
|
return _context.abrupt("return", null);
|
|
150
|
-
case
|
|
151
|
-
_context.next =
|
|
149
|
+
case 7:
|
|
150
|
+
_context.next = 8;
|
|
152
151
|
return previousPeriod(parent, level - 1);
|
|
153
|
-
case
|
|
152
|
+
case 8:
|
|
154
153
|
uncle = _context.sent;
|
|
155
154
|
if (uncle) {
|
|
156
|
-
_context.next =
|
|
155
|
+
_context.next = 9;
|
|
157
156
|
break;
|
|
158
157
|
}
|
|
159
158
|
return _context.abrupt("return", null);
|
|
160
|
-
case
|
|
161
|
-
_context.next =
|
|
159
|
+
case 9:
|
|
160
|
+
_context.next = 10;
|
|
162
161
|
return _solidLogic.store.fetcher.load(uncle);
|
|
163
|
-
case
|
|
162
|
+
case 10:
|
|
164
163
|
cousins = _solidLogic.store.each(uncle, ns.ldp('contains'));
|
|
165
164
|
result = lastOrFirst(cousins); // debug.log(' previousPeriod: returning cousins at level ' + level, cousins)
|
|
166
165
|
// debug.log(' previousPeriod: returning result at level ' + level, result)
|
|
167
166
|
return _context.abrupt("return", result);
|
|
168
|
-
case
|
|
167
|
+
case 11:
|
|
169
168
|
case "end":
|
|
170
169
|
return _context.stop();
|
|
171
170
|
}
|
|
172
|
-
}, _callee, null, [[
|
|
171
|
+
}, _callee, null, [[1, 4]]);
|
|
173
172
|
}));
|
|
174
173
|
return _previousPeriod.apply(this, arguments);
|
|
175
174
|
};
|
|
@@ -177,43 +176,43 @@ var DateFolder = exports.DateFolder = /*#__PURE__*/function () {
|
|
|
177
176
|
return _previousPeriod.apply(this, arguments);
|
|
178
177
|
}; // previousPeriod
|
|
179
178
|
folder = this.leafDocumentFromDate(date).dir();
|
|
180
|
-
case
|
|
179
|
+
case 1:
|
|
181
180
|
if (!true) {
|
|
182
|
-
_context2.next =
|
|
181
|
+
_context2.next = 8;
|
|
183
182
|
break;
|
|
184
183
|
}
|
|
185
|
-
_context2.next =
|
|
184
|
+
_context2.next = 2;
|
|
186
185
|
return previousPeriod(folder, 3);
|
|
187
|
-
case
|
|
186
|
+
case 2:
|
|
188
187
|
found = _context2.sent;
|
|
189
188
|
if (!found) {
|
|
190
|
-
_context2.next =
|
|
189
|
+
_context2.next = 6;
|
|
191
190
|
break;
|
|
192
191
|
}
|
|
193
192
|
leafDocument = _solidLogic.store.sym(found.uri + this.leafFileName);
|
|
194
193
|
nextDate = this.dateFromLeafDocument(leafDocument);
|
|
195
|
-
_context2.next =
|
|
194
|
+
_context2.next = 3;
|
|
196
195
|
return emptyLeaf(leafDocument);
|
|
197
|
-
case
|
|
196
|
+
case 3:
|
|
198
197
|
if (_context2.sent) {
|
|
199
|
-
_context2.next =
|
|
198
|
+
_context2.next = 4;
|
|
200
199
|
break;
|
|
201
200
|
}
|
|
202
201
|
return _context2.abrupt("return", nextDate);
|
|
203
|
-
case
|
|
202
|
+
case 4:
|
|
204
203
|
// debug.log(' loadPrevious: skipping empty ' + leafDocument)
|
|
205
204
|
date = nextDate;
|
|
206
205
|
folder = this.leafDocumentFromDate(date).dir();
|
|
207
206
|
// debug.log(' loadPrevious: moved back to ' + folder)
|
|
208
|
-
case
|
|
209
|
-
_context2.next =
|
|
207
|
+
case 5:
|
|
208
|
+
_context2.next = 7;
|
|
210
209
|
break;
|
|
211
|
-
case
|
|
210
|
+
case 6:
|
|
212
211
|
return _context2.abrupt("return", null);
|
|
213
|
-
case
|
|
214
|
-
_context2.next =
|
|
212
|
+
case 7:
|
|
213
|
+
_context2.next = 1;
|
|
215
214
|
break;
|
|
216
|
-
case
|
|
215
|
+
case 8:
|
|
217
216
|
case "end":
|
|
218
217
|
return _context2.stop();
|
|
219
218
|
}
|
|
@@ -229,13 +228,13 @@ var DateFolder = exports.DateFolder = /*#__PURE__*/function () {
|
|
|
229
228
|
value: function () {
|
|
230
229
|
var _firstLeaf = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4(backwards) {
|
|
231
230
|
var folderStore, folderFetcher, earliestSubfolder, _earliestSubfolder, y, month, d, leafDocument, leafObjects, msg, sortMe;
|
|
232
|
-
return _regenerator["default"].wrap(function
|
|
231
|
+
return _regenerator["default"].wrap(function (_context4) {
|
|
233
232
|
while (1) switch (_context4.prev = _context4.next) {
|
|
234
233
|
case 0:
|
|
235
234
|
_earliestSubfolder = function _earliestSubfolder3() {
|
|
236
235
|
_earliestSubfolder = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(parent) {
|
|
237
236
|
var suitable, kids;
|
|
238
|
-
return _regenerator["default"].wrap(function
|
|
237
|
+
return _regenerator["default"].wrap(function (_context3) {
|
|
239
238
|
while (1) switch (_context3.prev = _context3.next) {
|
|
240
239
|
case 0:
|
|
241
240
|
suitable = function _suitable2(x) {
|
|
@@ -246,26 +245,26 @@ var DateFolder = exports.DateFolder = /*#__PURE__*/function () {
|
|
|
246
245
|
// debug.log(' parent ' + parent)
|
|
247
246
|
delete folderFetcher.requested[parent.uri];
|
|
248
247
|
// try {
|
|
249
|
-
_context3.next =
|
|
248
|
+
_context3.next = 1;
|
|
250
249
|
return folderFetcher.load(parent, {
|
|
251
250
|
force: true
|
|
252
251
|
});
|
|
253
|
-
case
|
|
252
|
+
case 1:
|
|
254
253
|
// Force fetch as will have changed
|
|
255
254
|
// }catch (err) {
|
|
256
255
|
// }
|
|
257
256
|
kids = folderStore.each(parent, ns.ldp('contains'));
|
|
258
257
|
kids = kids.filter(suitable);
|
|
259
258
|
if (!(kids.length === 0)) {
|
|
260
|
-
_context3.next =
|
|
259
|
+
_context3.next = 2;
|
|
261
260
|
break;
|
|
262
261
|
}
|
|
263
262
|
throw new Error(' @@@ No children to parent2 ' + parent);
|
|
264
|
-
case
|
|
263
|
+
case 2:
|
|
265
264
|
kids.sort();
|
|
266
265
|
if (backwards) kids.reverse();
|
|
267
266
|
return _context3.abrupt("return", kids[0]);
|
|
268
|
-
case
|
|
267
|
+
case 3:
|
|
269
268
|
case "end":
|
|
270
269
|
return _context3.stop();
|
|
271
270
|
}
|
|
@@ -279,31 +278,31 @@ var DateFolder = exports.DateFolder = /*#__PURE__*/function () {
|
|
|
279
278
|
// backwards -> last leafObject
|
|
280
279
|
folderStore = $rdf.graph();
|
|
281
280
|
folderFetcher = new $rdf.Fetcher(folderStore);
|
|
282
|
-
_context4.next =
|
|
281
|
+
_context4.next = 1;
|
|
283
282
|
return earliestSubfolder(this.root.dir());
|
|
284
|
-
case
|
|
283
|
+
case 1:
|
|
285
284
|
y = _context4.sent;
|
|
286
|
-
_context4.next =
|
|
285
|
+
_context4.next = 2;
|
|
287
286
|
return earliestSubfolder(y);
|
|
288
|
-
case
|
|
287
|
+
case 2:
|
|
289
288
|
month = _context4.sent;
|
|
290
|
-
_context4.next =
|
|
289
|
+
_context4.next = 3;
|
|
291
290
|
return earliestSubfolder(month);
|
|
292
|
-
case
|
|
291
|
+
case 3:
|
|
293
292
|
d = _context4.sent;
|
|
294
293
|
leafDocument = $rdf.sym(d.uri + 'chat.ttl');
|
|
295
|
-
_context4.next =
|
|
294
|
+
_context4.next = 4;
|
|
296
295
|
return folderFetcher.load(leafDocument);
|
|
297
|
-
case
|
|
296
|
+
case 4:
|
|
298
297
|
leafObjects = folderStore.each(this.root, this.membershipProperty, null, leafDocument);
|
|
299
298
|
if (!(leafObjects.length === 0)) {
|
|
300
|
-
_context4.next =
|
|
299
|
+
_context4.next = 5;
|
|
301
300
|
break;
|
|
302
301
|
}
|
|
303
302
|
msg = ' INCONSISTENCY -- no chat leafObject in file ' + leafDocument;
|
|
304
303
|
debug.trace(msg);
|
|
305
304
|
throw new Error(msg);
|
|
306
|
-
case
|
|
305
|
+
case 5:
|
|
307
306
|
sortMe = leafObjects.map(function (leafObject) {
|
|
308
307
|
return [folderStore.any(leafObject, ns.dct('created')), leafObject];
|
|
309
308
|
});
|
|
@@ -313,7 +312,7 @@ var DateFolder = exports.DateFolder = /*#__PURE__*/function () {
|
|
|
313
312
|
(backwards ? 'Latest' : 'Earliest') + ' leafObject is ' + sortMe[0][1]
|
|
314
313
|
) */
|
|
315
314
|
return _context4.abrupt("return", sortMe[0][1]);
|
|
316
|
-
case
|
|
315
|
+
case 6:
|
|
317
316
|
case "end":
|
|
318
317
|
return _context4.stop();
|
|
319
318
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dateFolder.js","names":["debug","_interopRequireWildcard","require","_solidLogic","ns","$rdf","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","emptyLeaf","_x","_emptyLeaf","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee5","leafDocument","wrap","_callee5$","_context5","prev","next","store","fetcher","load","abrupt","statementsMatching","dct","length","stop","DateFolder","exports","rootThing","leafFileName","membershipProperty","_classCallCheck2","root","rootFolder","dir","wf","_createClass2","key","value","leafDocumentFromDate","date","isoDate","toISOString","path","split","replace","uri","sym","dateFromLeafDocument","doc","head","str","slice","Date","_loadPrevious","_callee2","backwards","previousPeriod","_previousPeriod","folder","found","nextDate","_callee2$","_context2","_previousPeriod3","_callee","file","level","younger","suitable","lastOrFirst","parent","siblings","_folder","uncle","cousins","result","_callee$","_context","_lastOrFirst","filter","sort","reverse","pop","_suitable","x","tail","includes","_younger","each","ldp","t0","response","status","log","Error","concat","message","sent","_previousPeriod2","_x4","_x5","loadPrevious","_x2","_x3","_firstLeaf","_callee4","folderStore","folderFetcher","earliestSubfolder","_earliestSubfolder","y","month","d","leafObjects","msg","sortMe","_callee4$","_context4","_earliestSubfolder3","_callee3","kids","_callee3$","_context3","_suitable2","requested","force","_earliestSubfolder2","_x7","graph","Fetcher","trace","map","leafObject","any","firstLeaf","_x6"],"sources":["../../src/chat/dateFolder.js"],"sourcesContent":["/**\n * Contains the [[DateFolder]] class\n * This tracks data stored in dated folders and sub-folders\n *\n */\nimport * as debug from '../debug'\nimport { store } from 'solid-logic'\nimport * as ns from '../ns'\nimport * as $rdf from 'rdflib' // pull in first avoid cross-refs\n\nexport async function emptyLeaf (leafDocument) {\n await store.fetcher.load(leafDocument)\n // files can have seealso links. skip ones with no leafObjects with a date\n return !(\n store.statementsMatching(null, ns.dct('created'), null, leafDocument)\n .length > 0\n )\n}\n\n/**\n * Track back through the YYYY/MM/DD tree to find the previous/next day\n */\nexport class DateFolder {\n constructor (rootThing, leafFileName, membershipProperty) {\n this.root = rootThing\n this.rootFolder = rootThing.dir()\n this.leafFileName = leafFileName || 'index.ttl' // typically chat.ttl\n this.membershipProperty = membershipProperty || ns.wf('leafObject')\n }\n\n /* Generate the leaf document (rdf object) from date\n * @returns: <NamedNode> - document\n */\n leafDocumentFromDate (date) {\n // debug.log('incoming date: ' + date)\n const isoDate = date.toISOString() // Like \"2018-05-07T17:42:46.576Z\"\n let path = isoDate.split('T')[0].replace(/-/g, '/') // Like \"2018/05/07\"\n path = this.root.dir().uri + path + '/' + this.leafFileName\n return store.sym(path)\n }\n\n /* Generate a date object from the leaf file name\n */\n dateFromLeafDocument (doc) {\n const head = this.rootFolder.uri.length\n const str = doc.uri.slice(head, head + 10).replace(/\\//g, '-')\n // let date = new Date(str + 'Z') // GMT - but fails in FF - invalid format :-(\n const date = new Date(str) // not explicitly UTC but is assumed so in spec\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse\n // debug.log('Date for ' + doc + ':' + date.toISOString())\n return date\n }\n\n async loadPrevious (date, backwards) {\n async function previousPeriod (file, level) {\n function younger (x) {\n if (backwards ? x.uri >= file.uri : x.uri <= file.uri) return false // later than we want or same -- looking for different\n return true\n }\n function suitable (x) {\n const tail = x.uri\n .slice(0, -1)\n .split('/')\n .slice(-1)[0]\n if (!'0123456789'.includes(tail[0])) return false // not numeric\n return true\n }\n\n function lastOrFirst (siblings) {\n siblings = siblings.filter(suitable)\n siblings.sort() // chronological order\n if (!backwards) siblings.reverse()\n return siblings.pop() // date folder\n }\n // debug.log(' previousPeriod level' + level + ' file ' + file)\n const parent = file.dir()\n try {\n await store.fetcher.load(parent)\n let siblings = store.each(parent, ns.ldp('contains'))\n siblings = siblings.filter(younger)\n const folder = lastOrFirst(siblings)\n if (folder) return folder\n // debug.log(' parent no suitable offspring ' + parent)\n } catch (err) {\n if (err.response && err.response.status && err.response.status === 404) {\n debug.log('Error 404 for chat parent file ' + parent)\n } else {\n debug.log('*** Error NON 404 for chat parent file ' + parent)\n // statusTR.appendChild(widgets.errorMessageBlock(dom, err, 'pink'))\n throw (new Error(`*** ${err.message} for chat folder ${parent}`))\n }\n }\n if (level === 0) {\n // debug.log('loadPrevious: returning as level is zero')\n return null // 3:day, 2:month, 1: year 0: no\n }\n\n const uncle = await previousPeriod(parent, level - 1)\n if (!uncle) {\n // debug.log(' previousPeriod: nothing left before. ', parent)\n return null // reached first ever\n }\n await store.fetcher.load(uncle)\n const cousins = store.each(uncle, ns.ldp('contains'))\n const result = lastOrFirst(cousins)\n // debug.log(' previousPeriod: returning cousins at level ' + level, cousins)\n // debug.log(' previousPeriod: returning result at level ' + level, result)\n\n return result\n } // previousPeriod\n\n let folder = this.leafDocumentFromDate(date).dir()\n while (true) {\n const found = await previousPeriod(folder, 3)\n if (found) {\n const leafDocument = store.sym(found.uri + this.leafFileName)\n const nextDate = this.dateFromLeafDocument(leafDocument)\n if (!await emptyLeaf(leafDocument)) {\n return nextDate\n } else {\n // debug.log(' loadPrevious: skipping empty ' + leafDocument)\n date = nextDate\n folder = this.leafDocumentFromDate(date).dir()\n // debug.log(' loadPrevious: moved back to ' + folder)\n }\n } else {\n return null // no more left\n }\n }\n } // loadPrevious\n\n async firstLeaf (backwards) {\n // backwards -> last leafObject\n const folderStore = $rdf.graph()\n const folderFetcher = new $rdf.Fetcher(folderStore)\n async function earliestSubfolder (parent) {\n function suitable (x) {\n const tail = x.uri\n .slice(0, -1)\n .split('/')\n .slice(-1)[0]\n if (!'0123456789'.includes(tail[0])) return false // not numeric\n return true\n }\n // debug.log(' parent ' + parent)\n delete folderFetcher.requested[parent.uri]\n // try {\n await folderFetcher.load(parent, { force: true }) // Force fetch as will have changed\n // }catch (err) {\n // }\n\n let kids = folderStore.each(parent, ns.ldp('contains'))\n kids = kids.filter(suitable)\n if (kids.length === 0) {\n throw new Error(' @@@ No children to parent2 ' + parent)\n }\n\n kids.sort()\n if (backwards) kids.reverse()\n return kids[0]\n }\n const y = await earliestSubfolder(this.root.dir())\n const month = await earliestSubfolder(y)\n const d = await earliestSubfolder(month)\n const leafDocument = $rdf.sym(d.uri + 'chat.ttl')\n await folderFetcher.load(leafDocument)\n const leafObjects = folderStore.each(\n this.root,\n this.membershipProperty,\n null,\n leafDocument\n )\n if (leafObjects.length === 0) {\n const msg =\n ' INCONSISTENCY -- no chat leafObject in file ' + leafDocument\n debug.trace(msg)\n throw new Error(msg)\n }\n const sortMe = leafObjects.map(leafObject => [\n folderStore.any(leafObject, ns.dct('created')),\n leafObject\n ])\n sortMe.sort()\n if (backwards) sortMe.reverse()\n /* debug.log(\n (backwards ? 'Latest' : 'Earliest') + ' leafObject is ' + sortMe[0][1]\n ) */\n return sortMe[0][1]\n } // firstleafObject\n} // class\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"dateFolder.js","names":["debug","_interopRequireWildcard","require","_solidLogic","ns","$rdf","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t2","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","emptyLeaf","_x","_emptyLeaf","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee5","leafDocument","wrap","_context5","prev","next","store","fetcher","load","abrupt","statementsMatching","dct","length","stop","DateFolder","exports","rootThing","leafFileName","membershipProperty","_classCallCheck2","root","rootFolder","dir","wf","_createClass2","key","value","leafDocumentFromDate","date","isoDate","toISOString","path","split","replace","uri","sym","dateFromLeafDocument","doc","head","str","slice","Date","_loadPrevious","_callee2","backwards","previousPeriod","_previousPeriod","folder","found","nextDate","_context2","_previousPeriod3","_callee","file","level","younger","suitable","lastOrFirst","parent","siblings","_folder","uncle","cousins","result","_t","_context","_lastOrFirst","filter","sort","reverse","pop","_suitable","x","tail","includes","_younger","each","ldp","response","status","log","Error","concat","message","sent","_previousPeriod2","_x4","_x5","loadPrevious","_x2","_x3","_firstLeaf","_callee4","folderStore","folderFetcher","earliestSubfolder","_earliestSubfolder","y","month","d","leafObjects","msg","sortMe","_context4","_earliestSubfolder3","_callee3","kids","_context3","_suitable2","requested","force","_earliestSubfolder2","_x7","graph","Fetcher","trace","map","leafObject","any","firstLeaf","_x6"],"sources":["../../src/chat/dateFolder.js"],"sourcesContent":["/**\n * Contains the [[DateFolder]] class\n * This tracks data stored in dated folders and sub-folders\n *\n */\nimport * as debug from '../debug'\nimport { store } from 'solid-logic'\nimport * as ns from '../ns'\nimport * as $rdf from 'rdflib' // pull in first avoid cross-refs\n\nexport async function emptyLeaf (leafDocument) {\n await store.fetcher.load(leafDocument)\n // files can have seealso links. skip ones with no leafObjects with a date\n return !(\n store.statementsMatching(null, ns.dct('created'), null, leafDocument)\n .length > 0\n )\n}\n\n/**\n * Track back through the YYYY/MM/DD tree to find the previous/next day\n */\nexport class DateFolder {\n constructor (rootThing, leafFileName, membershipProperty) {\n this.root = rootThing\n this.rootFolder = rootThing.dir()\n this.leafFileName = leafFileName || 'index.ttl' // typically chat.ttl\n this.membershipProperty = membershipProperty || ns.wf('leafObject')\n }\n\n /* Generate the leaf document (rdf object) from date\n * @returns: <NamedNode> - document\n */\n leafDocumentFromDate (date) {\n // debug.log('incoming date: ' + date)\n const isoDate = date.toISOString() // Like \"2018-05-07T17:42:46.576Z\"\n let path = isoDate.split('T')[0].replace(/-/g, '/') // Like \"2018/05/07\"\n path = this.root.dir().uri + path + '/' + this.leafFileName\n return store.sym(path)\n }\n\n /* Generate a date object from the leaf file name\n */\n dateFromLeafDocument (doc) {\n const head = this.rootFolder.uri.length\n const str = doc.uri.slice(head, head + 10).replace(/\\//g, '-')\n // let date = new Date(str + 'Z') // GMT - but fails in FF - invalid format :-(\n const date = new Date(str) // not explicitly UTC but is assumed so in spec\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse\n // debug.log('Date for ' + doc + ':' + date.toISOString())\n return date\n }\n\n async loadPrevious (date, backwards) {\n async function previousPeriod (file, level) {\n function younger (x) {\n if (backwards ? x.uri >= file.uri : x.uri <= file.uri) return false // later than we want or same -- looking for different\n return true\n }\n function suitable (x) {\n const tail = x.uri\n .slice(0, -1)\n .split('/')\n .slice(-1)[0]\n if (!'0123456789'.includes(tail[0])) return false // not numeric\n return true\n }\n\n function lastOrFirst (siblings) {\n siblings = siblings.filter(suitable)\n siblings.sort() // chronological order\n if (!backwards) siblings.reverse()\n return siblings.pop() // date folder\n }\n // debug.log(' previousPeriod level' + level + ' file ' + file)\n const parent = file.dir()\n try {\n await store.fetcher.load(parent)\n let siblings = store.each(parent, ns.ldp('contains'))\n siblings = siblings.filter(younger)\n const folder = lastOrFirst(siblings)\n if (folder) return folder\n // debug.log(' parent no suitable offspring ' + parent)\n } catch (err) {\n if (err.response && err.response.status && err.response.status === 404) {\n debug.log('Error 404 for chat parent file ' + parent)\n } else {\n debug.log('*** Error NON 404 for chat parent file ' + parent)\n // statusTR.appendChild(widgets.errorMessageBlock(dom, err, 'pink'))\n throw (new Error(`*** ${err.message} for chat folder ${parent}`))\n }\n }\n if (level === 0) {\n // debug.log('loadPrevious: returning as level is zero')\n return null // 3:day, 2:month, 1: year 0: no\n }\n\n const uncle = await previousPeriod(parent, level - 1)\n if (!uncle) {\n // debug.log(' previousPeriod: nothing left before. ', parent)\n return null // reached first ever\n }\n await store.fetcher.load(uncle)\n const cousins = store.each(uncle, ns.ldp('contains'))\n const result = lastOrFirst(cousins)\n // debug.log(' previousPeriod: returning cousins at level ' + level, cousins)\n // debug.log(' previousPeriod: returning result at level ' + level, result)\n\n return result\n } // previousPeriod\n\n let folder = this.leafDocumentFromDate(date).dir()\n while (true) {\n const found = await previousPeriod(folder, 3)\n if (found) {\n const leafDocument = store.sym(found.uri + this.leafFileName)\n const nextDate = this.dateFromLeafDocument(leafDocument)\n if (!await emptyLeaf(leafDocument)) {\n return nextDate\n } else {\n // debug.log(' loadPrevious: skipping empty ' + leafDocument)\n date = nextDate\n folder = this.leafDocumentFromDate(date).dir()\n // debug.log(' loadPrevious: moved back to ' + folder)\n }\n } else {\n return null // no more left\n }\n }\n } // loadPrevious\n\n async firstLeaf (backwards) {\n // backwards -> last leafObject\n const folderStore = $rdf.graph()\n const folderFetcher = new $rdf.Fetcher(folderStore)\n async function earliestSubfolder (parent) {\n function suitable (x) {\n const tail = x.uri\n .slice(0, -1)\n .split('/')\n .slice(-1)[0]\n if (!'0123456789'.includes(tail[0])) return false // not numeric\n return true\n }\n // debug.log(' parent ' + parent)\n delete folderFetcher.requested[parent.uri]\n // try {\n await folderFetcher.load(parent, { force: true }) // Force fetch as will have changed\n // }catch (err) {\n // }\n\n let kids = folderStore.each(parent, ns.ldp('contains'))\n kids = kids.filter(suitable)\n if (kids.length === 0) {\n throw new Error(' @@@ No children to parent2 ' + parent)\n }\n\n kids.sort()\n if (backwards) kids.reverse()\n return kids[0]\n }\n const y = await earliestSubfolder(this.root.dir())\n const month = await earliestSubfolder(y)\n const d = await earliestSubfolder(month)\n const leafDocument = $rdf.sym(d.uri + 'chat.ttl')\n await folderFetcher.load(leafDocument)\n const leafObjects = folderStore.each(\n this.root,\n this.membershipProperty,\n null,\n leafDocument\n )\n if (leafObjects.length === 0) {\n const msg =\n ' INCONSISTENCY -- no chat leafObject in file ' + leafDocument\n debug.trace(msg)\n throw new Error(msg)\n }\n const sortMe = leafObjects.map(leafObject => [\n folderStore.any(leafObject, ns.dct('created')),\n leafObject\n ])\n sortMe.sort()\n if (backwards) sortMe.reverse()\n /* debug.log(\n (backwards ? 'Latest' : 'Earliest') + ' leafObject is ' + sortMe[0][1]\n ) */\n return sortMe[0][1]\n } // firstleafObject\n} // class\n"],"mappings":"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","ignoreList":[]}
|