solid-ui 2.4.32-8d90d955 → 2.4.32-9d930db7
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/dist/{320.solid-ui.min.js → 670.solid-ui.min.js} +1 -1
- package/dist/805.solid-ui.min.js +3 -0
- package/dist/805.solid-ui.min.js.map +1 -0
- package/dist/solid-ui.js +1509 -2226
- package/dist/solid-ui.js.map +1 -1
- package/dist/solid-ui.min.js +1 -1
- package/dist/solid-ui.min.js.map +1 -1
- package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js +1 -1
- package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js.map +1 -1
- package/lib/chat/bookmarks.js +42 -7
- package/lib/chat/bookmarks.js.map +1 -1
- package/lib/chat/chatLogic.js +101 -226
- package/lib/chat/chatLogic.js.map +1 -1
- package/lib/chat/dateFolder.js +136 -139
- package/lib/chat/dateFolder.js.map +1 -1
- package/lib/chat/infinite.js +432 -618
- package/lib/chat/infinite.js.map +1 -1
- package/lib/chat/keys.js +3 -3
- package/lib/chat/keys.js.map +1 -1
- package/lib/chat/message.js +191 -323
- package/lib/chat/message.js.map +1 -1
- package/lib/chat/messageTools.js +276 -459
- package/lib/chat/messageTools.js.map +1 -1
- package/lib/chat/thread.js +208 -299
- package/lib/chat/thread.js.map +1 -1
- package/lib/pad.js +8 -6
- package/lib/pad.js.map +1 -1
- package/lib/participation.js +6 -5
- package/lib/participation.js.map +1 -1
- package/lib/preferences.js +0 -4
- package/lib/preferences.js.map +1 -1
- package/lib/tabs.js +10 -7
- package/lib/tabs.js.map +1 -1
- package/lib/utils/keyHelpers/accessData.d.ts +2 -2
- package/lib/utils/keyHelpers/accessData.d.ts.map +1 -1
- package/lib/utils/keyHelpers/accessData.js +115 -59
- package/lib/utils/keyHelpers/accessData.js.map +1 -1
- package/lib/utils/keyHelpers/acl.js +14 -14
- package/lib/utils/keyHelpers/acl.js.map +1 -1
- package/lib/versionInfo.js +2 -2
- package/lib/versionInfo.js.map +1 -1
- package/package.json +2 -3
- package/dist/376.solid-ui.min.js +0 -3
- package/dist/376.solid-ui.min.js.map +0 -1
- package/lib/utils/keyHelpers/otherHelpers.d.ts +0 -3
- package/lib/utils/keyHelpers/otherHelpers.d.ts.map +0 -1
- package/lib/utils/keyHelpers/otherHelpers.js +0 -22
- package/lib/utils/keyHelpers/otherHelpers.js.map +0 -1
- /package/dist/{376.solid-ui.min.js.LICENSE.txt → 805.solid-ui.min.js.LICENSE.txt} +0 -0
package/lib/chat/bookmarks.js
CHANGED
|
@@ -28,6 +28,8 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
28
28
|
* @packageDocumentation
|
|
29
29
|
*/
|
|
30
30
|
|
|
31
|
+
/* global alert confirm */
|
|
32
|
+
|
|
31
33
|
// pull in first avoid cross-refs
|
|
32
34
|
|
|
33
35
|
var UI = {
|
|
@@ -46,6 +48,40 @@ var BOOKMARK_ICON = 'noun_45961.svg';
|
|
|
46
48
|
var label = utils.label;
|
|
47
49
|
var dom = window.document || null;
|
|
48
50
|
|
|
51
|
+
/** Create a resource if it really does not exist
|
|
52
|
+
* Be absolutely sure something does not exist before creating a new empty file
|
|
53
|
+
* as otherwise existing could be deleted.
|
|
54
|
+
* @param doc {NamedNode} - The resource
|
|
55
|
+
*/
|
|
56
|
+
function createIfNotExists(doc) {
|
|
57
|
+
return new Promise(function (resolve, reject) {
|
|
58
|
+
_solidLogic.store.fetcher.load(doc).then(function (response) {
|
|
59
|
+
debug.log('createIfNotExists doc exists, all good ' + doc);
|
|
60
|
+
// store.fetcher.webOperation('HEAD', doc.uri).then(response => {
|
|
61
|
+
resolve(response);
|
|
62
|
+
}, function (err) {
|
|
63
|
+
if (err.response.status === 404) {
|
|
64
|
+
debug.log('createIfNotExists doc does NOT exist, will create... ' + doc);
|
|
65
|
+
_solidLogic.store.fetcher.webOperation('PUT', doc.uri, {
|
|
66
|
+
data: '',
|
|
67
|
+
contentType: 'text/turtle'
|
|
68
|
+
}).then(function (response) {
|
|
69
|
+
// fetcher.requested[doc.uri] = 'done' // do not need to read ?? but no headers
|
|
70
|
+
delete _solidLogic.store.fetcher.requested[doc.uri]; // delete cached 404 error
|
|
71
|
+
debug.log('createIfNotExists doc created ok ' + doc);
|
|
72
|
+
resolve(response);
|
|
73
|
+
}, function (err) {
|
|
74
|
+
debug.log('createIfNotExists doc FAILED: ' + doc + ': ' + err);
|
|
75
|
+
reject(err);
|
|
76
|
+
});
|
|
77
|
+
} else {
|
|
78
|
+
debug.log('createIfNotExists doc load error NOT 404: ' + doc + ': ' + err);
|
|
79
|
+
reject(err);
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
|
|
49
85
|
// @@@@ use the one in rdflib.js when it is avaiable and delete this
|
|
50
86
|
function updatePromise(del, ins) {
|
|
51
87
|
return new Promise(function (resolve, reject) {
|
|
@@ -86,8 +122,7 @@ function _findBookmarkDocument() {
|
|
|
86
122
|
}
|
|
87
123
|
userContext.bookmarkDocument = userContext.instances[0];
|
|
88
124
|
if (userContext.instances.length > 1) {
|
|
89
|
-
|
|
90
|
-
// Note: should pick up community bookmarks as well
|
|
125
|
+
alert('More than one bookmark file! ' + userContext.instances);
|
|
91
126
|
}
|
|
92
127
|
_context.next = 28;
|
|
93
128
|
break;
|
|
@@ -101,14 +136,14 @@ function _findBookmarkDocument() {
|
|
|
101
136
|
_context.prev = 12;
|
|
102
137
|
debug.log('Creating new bookmark file ' + newBookmarkFile);
|
|
103
138
|
_context.next = 16;
|
|
104
|
-
return
|
|
139
|
+
return createIfNotExists(newBookmarkFile);
|
|
105
140
|
case 16:
|
|
106
141
|
_context.next = 22;
|
|
107
142
|
break;
|
|
108
143
|
case 18:
|
|
109
144
|
_context.prev = 18;
|
|
110
145
|
_context.t0 = _context["catch"](12);
|
|
111
|
-
|
|
146
|
+
alert.error("Can't make fresh bookmark file:" + _context.t0);
|
|
112
147
|
return _context.abrupt("return", userContext);
|
|
113
148
|
case 22:
|
|
114
149
|
_context.next = 24;
|
|
@@ -118,7 +153,7 @@ function _findBookmarkDocument() {
|
|
|
118
153
|
_context.next = 28;
|
|
119
154
|
break;
|
|
120
155
|
case 27:
|
|
121
|
-
|
|
156
|
+
alert('You seem to have no bookmark file and not even a profile file.');
|
|
122
157
|
case 28:
|
|
123
158
|
return _context.abrupt("return", userContext);
|
|
124
159
|
case 29:
|
|
@@ -173,7 +208,7 @@ function _addBookmark() {
|
|
|
173
208
|
_context2.prev = 14;
|
|
174
209
|
_context2.t0 = _context2["catch"](9);
|
|
175
210
|
msg = 'Making bookmark: ' + _context2.t0;
|
|
176
|
-
|
|
211
|
+
alert.error(msg);
|
|
177
212
|
return _context2.abrupt("return", null);
|
|
178
213
|
case 19:
|
|
179
214
|
return _context2.abrupt("return", bookmark);
|
|
@@ -226,7 +261,7 @@ function _toggleBookmark() {
|
|
|
226
261
|
_context3.prev = 15;
|
|
227
262
|
_context3.t0 = _context3["catch"](8);
|
|
228
263
|
debug.error('Cant delete bookmark:' + _context3.t0);
|
|
229
|
-
|
|
264
|
+
alert('Cant delete bookmark:' + _context3.t0);
|
|
230
265
|
case 19:
|
|
231
266
|
i++;
|
|
232
267
|
_context3.next = 7;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bookmarks.js","names":["debug","_interopRequireWildcard","require","_iconBase","_index","ns","pad","rdf","style","utils","widgets","_solidLogic","_login","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","UI","icons","media","$rdf","BOOK","Namespace","BOOKMARK_ICON","label","dom","window","document","updatePromise","del","ins","Promise","resolve","reject","store","updater","update","uri","ok","errorBody","Error","findBookmarkDocument","_x","_findBookmarkDocument","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee","userContext","theClass","fileTail","isPublic","newBookmarkFile","wrap","_callee$","_context","prev","next","findAppInstances","instances","length","bookmarkDocument","warn","publicProfile","sym","dir","log","fetcher","createIfNotExists","t0","abrupt","registerInTypeIndex","index","stop","addBookmark","_x2","_x3","_addBookmark","_callee2","context","target","title","me","author","bookmarkDoc","bookmark","msg","_callee2$","_context2","authn","currentUser","any","foaf","anyValue","sioc","slice","newThing","st","dct","Date","toggleBookmark","_x4","_x5","_x6","_toggleBookmark","_callee3","bookmarkButton","bookmarks","_callee3$","_context3","load","each","confirm","connectedStatements","backgroundColor","error","sent","renderBookmarksButton","_x7","_x8","_renderBookmarksButton","_callee5","setBookmarkButtonColor","_setBookmarkButtonColor","_callee5$","_context5","_setBookmarkButtonCol2","_callee4","bookmarked","_callee4$","_context4","buttonStyle","_setBookmarkButtonCol","_x9","button","iconBase"],"sources":["../../src/chat/bookmarks.js"],"sourcesContent":["/**\n * Functions related to chat and bookmarks\n * @packageDocumentation\n */\n\nimport * as debug from '../debug'\nimport { icons } from '../iconBase'\nimport { media } from '../media/index'\nimport * as ns from '../ns'\nimport * as pad from '../pad'\nimport * as rdf from 'rdflib' // pull in first avoid cross-refs\nimport * as style from '../style'\nimport * as utils from '../utils'\nimport * as widgets from '../widgets'\nimport { store, registerInTypeIndex, authn } from 'solid-logic'\nimport { findAppInstances } from '../login/login'\n\nconst UI = { icons, ns, media, pad, rdf, style, utils, widgets }\nconst $rdf = UI.rdf\n\nconst BOOK = $rdf.Namespace('http://www.w3.org/2002/01/bookmark#')\nconst BOOKMARK_ICON = 'noun_45961.svg'\n\nconst label = utils.label\nconst dom = window.document || null\n\n// @@@@ use the one in rdflib.js when it is avaiable and delete this\nfunction updatePromise (del, ins) {\n return new Promise(function (resolve, reject) {\n store.updater.update(del, ins, function (uri, ok, errorBody) {\n if (!ok) {\n reject(new Error(errorBody))\n } else {\n resolve()\n }\n }) // callback\n }) // promise\n}\n\n/* Bookmarking\n */\n/** Find a user's bookmarks\n */\nexport async function findBookmarkDocument (userContext) {\n const theClass = BOOK('Bookmark')\n const fileTail = 'bookmarks.ttl'\n const isPublic = true\n\n await findAppInstances(userContext, theClass, isPublic) // public -- only look for public links\n\n if (userContext.instances && userContext.instances.length > 0) {\n userContext.bookmarkDocument = userContext.instances[0]\n if (userContext.instances.length > 1) {\n debug.warn('More than one bookmark file! ' + userContext.instances) // @@ todo - deal with > 1\n // Note: should pick up community bookmarks as well\n }\n } else {\n if (userContext.publicProfile) {\n // publicProfile or preferencesFile\n const newBookmarkFile = $rdf.sym(\n userContext.publicProfile.dir().uri + fileTail\n )\n try {\n debug.log('Creating new bookmark file ' + newBookmarkFile)\n await store.fetcher.createIfNotExists(newBookmarkFile)\n } catch (e) {\n debug.warn(\"Can't make fresh bookmark file:\" + e)\n return userContext\n }\n await registerInTypeIndex(\n newBookmarkFile,\n userContext.index,\n theClass\n )\n userContext.bookmarkDocument = newBookmarkFile\n } else {\n debug.warn('You seem to have no bookmark file, nor even a profile file!')\n }\n }\n return userContext\n}\n\n/** Add a bookmark\n */\n\nasync function addBookmark (context, target) {\n /* like\n @prefix terms: <http://purl.org/dc/terms/>.\n @prefix bookm: <http://www.w3.org/2002/01/bookmark#>.\n @prefix n0: <http://xmlns.com/foaf/0.1/>.\n <> terms:references <#0.5534145389246576>.\n <#0.5534145389246576>\n a bookm:Bookmark;\n terms:created \"2019-01-26T20:26:44.374Z\"^^XML:dateTime;\n terms:title \"Herons\";\n bookm:recalls wiki:Heron;\n n0:maker c:me.\n */\n let title = ''\n const me = authn.currentUser() // If already logged on\n if (!me) throw new Error('Must be logged on to add Bookmark')\n\n const author = store.any(target, ns.foaf('maker'))\n title =\n label(author) + ': ' + store.anyValue(target, ns.sioc('content')).slice(0, 80) // @@ add chat title too?\n const bookmarkDoc = context.bookmarkDocument\n const bookmark = UI.widgets.newThing(bookmarkDoc, title)\n const ins = [\n $rdf.st(bookmarkDoc, UI.ns.dct('references'), bookmark, bookmarkDoc),\n $rdf.st(bookmark, UI.ns.rdf('type'), BOOK('Bookmark'), bookmarkDoc),\n $rdf.st(bookmark, UI.ns.dct('created'), new Date(), bookmarkDoc),\n $rdf.st(bookmark, BOOK('recalls'), target, bookmarkDoc),\n $rdf.st(bookmark, UI.ns.foaf('maker'), me, bookmarkDoc),\n $rdf.st(bookmark, UI.ns.dct('title'), title, bookmarkDoc)\n ]\n try {\n await updatePromise([], ins) // 20190118A\n } catch (e) {\n const msg = 'Making bookmark: ' + e\n debug.warn(msg)\n return null\n }\n return bookmark\n}\n\nexport async function toggleBookmark (userContext, target, bookmarkButton) {\n await store.fetcher.load(userContext.bookmarkDocument)\n const bookmarks = store.each(\n null,\n BOOK('recalls'),\n target,\n userContext.bookmarkDocument\n )\n if (bookmarks.length) {\n // delete\n if (!confirm('Delete bookmark on this?' + bookmarks.length)) return\n for (let i = 0; i < bookmarks.length; i++) {\n try {\n await updatePromise(store.connectedStatements(bookmarks[i]), [])\n bookmarkButton.style.backgroundColor = 'white'\n debug.log('Bookmark deleted: ' + bookmarks[i])\n } catch (e) {\n debug.error('Cant delete bookmark:' + e)\n debug.warn('Cannot delete bookmark:' + e)\n }\n }\n } else {\n const bookmark = await addBookmark(userContext, target)\n bookmarkButton.style.backgroundColor = 'yellow'\n debug.log('Bookmark added: ' + bookmark)\n }\n}\n\nexport async function renderBookmarksButton (userContext, target) {\n async function setBookmarkButtonColor (bookmarkButton) {\n await store.fetcher.load(userContext.bookmarkDocument)\n const bookmarked = store.any(\n null,\n BOOK('recalls'),\n bookmarkButton.target,\n userContext.bookmarkDocument\n )\n bookmarkButton.style = UI.style.buttonStyle\n if (bookmarked) bookmarkButton.style.backgroundColor = 'yellow'\n }\n\n let bookmarkButton\n if (userContext.bookmarkDocument) {\n bookmarkButton = UI.widgets.button(\n dom,\n UI.icons.iconBase + BOOKMARK_ICON,\n label(BOOK('Bookmark')),\n () => {\n toggleBookmark(userContext, target, bookmarkButton)\n }\n )\n bookmarkButton.target = target\n await setBookmarkButtonColor(bookmarkButton)\n return bookmarkButton\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bookmarks.js","names":["debug","_interopRequireWildcard","require","_iconBase","_index","ns","pad","rdf","style","utils","widgets","_solidLogic","_login","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","UI","icons","media","$rdf","BOOK","Namespace","BOOKMARK_ICON","label","dom","window","document","createIfNotExists","doc","Promise","resolve","reject","store","fetcher","load","then","response","log","err","status","webOperation","uri","data","contentType","requested","updatePromise","del","ins","updater","update","ok","errorBody","Error","findBookmarkDocument","_x","_findBookmarkDocument","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee","userContext","theClass","fileTail","isPublic","newBookmarkFile","wrap","_callee$","_context","prev","next","findAppInstances","instances","length","bookmarkDocument","alert","publicProfile","sym","dir","t0","error","abrupt","registerInTypeIndex","index","stop","addBookmark","_x2","_x3","_addBookmark","_callee2","context","target","title","me","author","bookmarkDoc","bookmark","msg","_callee2$","_context2","authn","currentUser","any","foaf","anyValue","sioc","slice","newThing","st","dct","Date","toggleBookmark","_x4","_x5","_x6","_toggleBookmark","_callee3","bookmarkButton","bookmarks","_callee3$","_context3","each","confirm","connectedStatements","backgroundColor","sent","renderBookmarksButton","_x7","_x8","_renderBookmarksButton","_callee5","setBookmarkButtonColor","_setBookmarkButtonColor","_callee5$","_context5","_setBookmarkButtonCol2","_callee4","bookmarked","_callee4$","_context4","buttonStyle","_setBookmarkButtonCol","_x9","button","iconBase"],"sources":["../../src/chat/bookmarks.js"],"sourcesContent":["/**\n * Functions related to chat and bookmarks\n * @packageDocumentation\n */\n\n/* global alert confirm */\nimport * as debug from '../debug'\nimport { icons } from '../iconBase'\nimport { media } from '../media/index'\nimport * as ns from '../ns'\nimport * as pad from '../pad'\nimport * as rdf from 'rdflib' // pull in first avoid cross-refs\nimport * as style from '../style'\nimport * as utils from '../utils'\nimport * as widgets from '../widgets'\nimport { store, registerInTypeIndex, authn } from 'solid-logic'\nimport { findAppInstances } from '../login/login'\n\nconst UI = { icons, ns, media, pad, rdf, style, utils, widgets }\nconst $rdf = UI.rdf\n\nconst BOOK = $rdf.Namespace('http://www.w3.org/2002/01/bookmark#')\nconst BOOKMARK_ICON = 'noun_45961.svg'\n\nconst label = utils.label\nconst dom = window.document || null\n\n/** Create a resource if it really does not exist\n * Be absolutely sure something does not exist before creating a new empty file\n * as otherwise existing could be deleted.\n * @param doc {NamedNode} - The resource\n */\nfunction createIfNotExists (doc) {\n return new Promise(function (resolve, reject) {\n store.fetcher.load(doc).then(\n response => {\n debug.log('createIfNotExists doc exists, all good ' + doc)\n // store.fetcher.webOperation('HEAD', doc.uri).then(response => {\n resolve(response)\n },\n err => {\n if (err.response.status === 404) {\n debug.log(\n 'createIfNotExists doc does NOT exist, will create... ' + doc\n )\n\n store.fetcher\n .webOperation('PUT', doc.uri, {\n data: '',\n contentType: 'text/turtle'\n })\n .then(\n response => {\n // fetcher.requested[doc.uri] = 'done' // do not need to read ?? but no headers\n delete store.fetcher.requested[doc.uri] // delete cached 404 error\n debug.log('createIfNotExists doc created ok ' + doc)\n resolve(response)\n },\n err => {\n debug.log('createIfNotExists doc FAILED: ' + doc + ': ' + err)\n reject(err)\n }\n )\n } else {\n debug.log(\n 'createIfNotExists doc load error NOT 404: ' + doc + ': ' + err\n )\n reject(err)\n }\n }\n )\n })\n}\n\n// @@@@ use the one in rdflib.js when it is avaiable and delete this\nfunction updatePromise (del, ins) {\n return new Promise(function (resolve, reject) {\n store.updater.update(del, ins, function (uri, ok, errorBody) {\n if (!ok) {\n reject(new Error(errorBody))\n } else {\n resolve()\n }\n }) // callback\n }) // promise\n}\n\n/* Bookmarking\n */\n/** Find a user's bookmarks\n */\nexport async function findBookmarkDocument (userContext) {\n const theClass = BOOK('Bookmark')\n const fileTail = 'bookmarks.ttl'\n const isPublic = true\n\n await findAppInstances(userContext, theClass, isPublic) // public -- only look for public links\n\n if (userContext.instances && userContext.instances.length > 0) {\n userContext.bookmarkDocument = userContext.instances[0]\n if (userContext.instances.length > 1) {\n alert('More than one bookmark file! ' + userContext.instances)\n }\n } else {\n if (userContext.publicProfile) {\n // publicProfile or preferencesFile\n const newBookmarkFile = $rdf.sym(\n userContext.publicProfile.dir().uri + fileTail\n )\n try {\n debug.log('Creating new bookmark file ' + newBookmarkFile)\n await createIfNotExists(newBookmarkFile)\n } catch (e) {\n alert.error(\"Can't make fresh bookmark file:\" + e)\n return userContext\n }\n await registerInTypeIndex(\n newBookmarkFile,\n userContext.index,\n theClass\n )\n userContext.bookmarkDocument = newBookmarkFile\n } else {\n alert('You seem to have no bookmark file and not even a profile file.')\n }\n }\n return userContext\n}\n\n/** Add a bookmark\n */\n\nasync function addBookmark (context, target) {\n /* like\n @prefix terms: <http://purl.org/dc/terms/>.\n @prefix bookm: <http://www.w3.org/2002/01/bookmark#>.\n @prefix n0: <http://xmlns.com/foaf/0.1/>.\n <> terms:references <#0.5534145389246576>.\n <#0.5534145389246576>\n a bookm:Bookmark;\n terms:created \"2019-01-26T20:26:44.374Z\"^^XML:dateTime;\n terms:title \"Herons\";\n bookm:recalls wiki:Heron;\n n0:maker c:me.\n */\n let title = ''\n const me = authn.currentUser() // If already logged on\n if (!me) throw new Error('Must be logged on to add Bookmark')\n\n const author = store.any(target, ns.foaf('maker'))\n title =\n label(author) + ': ' + store.anyValue(target, ns.sioc('content')).slice(0, 80) // @@ add chat title too?\n const bookmarkDoc = context.bookmarkDocument\n const bookmark = UI.widgets.newThing(bookmarkDoc, title)\n const ins = [\n $rdf.st(bookmarkDoc, UI.ns.dct('references'), bookmark, bookmarkDoc),\n $rdf.st(bookmark, UI.ns.rdf('type'), BOOK('Bookmark'), bookmarkDoc),\n $rdf.st(bookmark, UI.ns.dct('created'), new Date(), bookmarkDoc),\n $rdf.st(bookmark, BOOK('recalls'), target, bookmarkDoc),\n $rdf.st(bookmark, UI.ns.foaf('maker'), me, bookmarkDoc),\n $rdf.st(bookmark, UI.ns.dct('title'), title, bookmarkDoc)\n ]\n try {\n await updatePromise([], ins) // 20190118A\n } catch (e) {\n const msg = 'Making bookmark: ' + e\n alert.error(msg)\n return null\n }\n return bookmark\n}\n\nexport async function toggleBookmark (userContext, target, bookmarkButton) {\n await store.fetcher.load(userContext.bookmarkDocument)\n const bookmarks = store.each(\n null,\n BOOK('recalls'),\n target,\n userContext.bookmarkDocument\n )\n if (bookmarks.length) {\n // delete\n if (!confirm('Delete bookmark on this?' + bookmarks.length)) return\n for (let i = 0; i < bookmarks.length; i++) {\n try {\n await updatePromise(store.connectedStatements(bookmarks[i]), [])\n bookmarkButton.style.backgroundColor = 'white'\n debug.log('Bookmark deleted: ' + bookmarks[i])\n } catch (e) {\n debug.error('Cant delete bookmark:' + e)\n alert('Cant delete bookmark:' + e)\n }\n }\n } else {\n const bookmark = await addBookmark(userContext, target)\n bookmarkButton.style.backgroundColor = 'yellow'\n debug.log('Bookmark added: ' + bookmark)\n }\n}\n\nexport async function renderBookmarksButton (userContext, target) {\n async function setBookmarkButtonColor (bookmarkButton) {\n await store.fetcher.load(userContext.bookmarkDocument)\n const bookmarked = store.any(\n null,\n BOOK('recalls'),\n bookmarkButton.target,\n userContext.bookmarkDocument\n )\n bookmarkButton.style = UI.style.buttonStyle\n if (bookmarked) bookmarkButton.style.backgroundColor = 'yellow'\n }\n\n let bookmarkButton\n if (userContext.bookmarkDocument) {\n bookmarkButton = UI.widgets.button(\n dom,\n UI.icons.iconBase + BOOKMARK_ICON,\n label(BOOK('Bookmark')),\n () => {\n toggleBookmark(userContext, target, bookmarkButton)\n }\n )\n bookmarkButton.target = target\n await setBookmarkButtonColor(bookmarkButton)\n return bookmarkButton\n }\n}\n"],"mappings":"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"}
|
package/lib/chat/chatLogic.js
CHANGED
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.ChatChannel = void 0;
|
|
9
|
-
exports.
|
|
9
|
+
exports._createIfNotExists = _createIfNotExists;
|
|
10
10
|
exports.isDeleted = isDeleted;
|
|
11
11
|
exports.isHidden = isHidden;
|
|
12
12
|
exports.isReplaced = isReplaced;
|
|
@@ -85,9 +85,8 @@ var ChatChannel = exports.ChatChannel = /*#__PURE__*/function () {
|
|
|
85
85
|
var _this = this;
|
|
86
86
|
var oldMsg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
87
87
|
var deleteIt = arguments.length > 2 ? arguments[2] : undefined;
|
|
88
|
-
var thread = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
|
|
89
88
|
return /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
90
|
-
var sts, now, timestamp, dateStamp, chatDocument, message, me, msg, oldMsgMaker,
|
|
89
|
+
var sts, now, timestamp, dateStamp, chatDocument, message, me, msg, oldMsgMaker, errMsg, privateKey, sig, _errMsg;
|
|
91
90
|
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
92
91
|
while (1) switch (_context2.prev = _context2.next) {
|
|
93
92
|
case 0:
|
|
@@ -101,88 +100,73 @@ var ChatChannel = exports.ChatChannel = /*#__PURE__*/function () {
|
|
|
101
100
|
msg = (0, _signature.getBlankMsg)();
|
|
102
101
|
msg.id = message.uri;
|
|
103
102
|
if (!oldMsg) {
|
|
104
|
-
_context2.next =
|
|
103
|
+
_context2.next = 22;
|
|
105
104
|
break;
|
|
106
105
|
}
|
|
107
106
|
// edit message replaces old one
|
|
108
107
|
oldMsgMaker = _solidLogic.store.any(oldMsg, ns.foaf('maker')); // may not be needed here, but needed on READ
|
|
109
108
|
if (!(oldMsgMaker.uri === me.uri)) {
|
|
110
|
-
_context2.next =
|
|
109
|
+
_context2.next = 16;
|
|
111
110
|
break;
|
|
112
111
|
}
|
|
113
|
-
|
|
114
|
-
return mostRecentVersion(oldMsg);
|
|
115
|
-
case 14:
|
|
116
|
-
oldMsgMostRecentVersion = _context2.sent;
|
|
117
|
-
sts.push($rdf.st(oldMsgMostRecentVersion, ns.dct('isReplacedBy'), message, chatDocument));
|
|
118
|
-
// if oldMsg has_reply => add has_reply to message
|
|
119
|
-
oldMsgThread = _solidLogic.store.any(oldMsgMostRecentVersion, ns.sioc('has_reply'));
|
|
120
|
-
if (oldMsgThread) {
|
|
121
|
-
sts.push($rdf.st(message, ns.sioc('has_reply'), oldMsgThread, chatDocument));
|
|
122
|
-
}
|
|
112
|
+
sts.push($rdf.st(mostRecentVersion(oldMsg), ns.dct('isReplacedBy'), message, chatDocument));
|
|
123
113
|
if (deleteIt) {
|
|
124
114
|
// we need to add a specific signature, else anyone can delete a msg ?
|
|
125
115
|
sts.push($rdf.st(message, ns.schema('dateDeleted'), dateStamp, chatDocument));
|
|
126
116
|
}
|
|
127
|
-
_context2.next =
|
|
117
|
+
_context2.next = 20;
|
|
128
118
|
break;
|
|
129
|
-
case
|
|
119
|
+
case 16:
|
|
130
120
|
errMsg = 'Error you cannot delete/edit a message from someone else : \n' + oldMsgMaker.uri;
|
|
131
121
|
debug.warn(errMsg);
|
|
132
122
|
alert(errMsg);
|
|
133
123
|
throw new Error(errMsg);
|
|
134
|
-
case
|
|
135
|
-
_context2.next =
|
|
124
|
+
case 20:
|
|
125
|
+
_context2.next = 23;
|
|
136
126
|
break;
|
|
137
|
-
case
|
|
127
|
+
case 22:
|
|
138
128
|
// link new message to channel
|
|
139
129
|
sts.push($rdf.st(_this.channel, ns.wf('message'), message, chatDocument));
|
|
140
|
-
case
|
|
130
|
+
case 23:
|
|
141
131
|
sts.push($rdf.st(message, ns.sioc('content'), _solidLogic.store.literal(text), chatDocument));
|
|
142
132
|
msg.content = text;
|
|
143
133
|
sts.push($rdf.st(message, ns.dct('created'), dateStamp, chatDocument));
|
|
144
134
|
msg.created = dateStamp.value;
|
|
145
135
|
if (!me) {
|
|
146
|
-
_context2.next =
|
|
136
|
+
_context2.next = 35;
|
|
147
137
|
break;
|
|
148
138
|
}
|
|
149
139
|
sts.push($rdf.st(message, ns.foaf('maker'), me, chatDocument));
|
|
150
140
|
msg.maker = me.uri;
|
|
151
141
|
// privateKey the cached private key of me, cached in store
|
|
152
|
-
_context2.next =
|
|
142
|
+
_context2.next = 32;
|
|
153
143
|
return (0, _keys.getPrivateKey)(me);
|
|
154
|
-
case
|
|
144
|
+
case 32:
|
|
155
145
|
privateKey = _context2.sent;
|
|
156
146
|
// me.uri)
|
|
157
147
|
sig = (0, _signature.signMsg)(msg, privateKey);
|
|
158
148
|
sts.push($rdf.st(message, $rdf.sym("".concat(_signature.SEC, "proofValue")), $rdf.lit(sig), chatDocument));
|
|
159
|
-
case
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
}
|
|
166
|
-
_context2.prev = 41;
|
|
167
|
-
_context2.next = 44;
|
|
168
|
-
return _solidLogic.store.updater.updateMany([], sts);
|
|
169
|
-
case 44:
|
|
170
|
-
_context2.next = 52;
|
|
149
|
+
case 35:
|
|
150
|
+
_context2.prev = 35;
|
|
151
|
+
_context2.next = 38;
|
|
152
|
+
return _solidLogic.store.updater.update([], sts);
|
|
153
|
+
case 38:
|
|
154
|
+
_context2.next = 46;
|
|
171
155
|
break;
|
|
172
|
-
case
|
|
173
|
-
_context2.prev =
|
|
174
|
-
_context2.t0 = _context2["catch"](
|
|
156
|
+
case 40:
|
|
157
|
+
_context2.prev = 40;
|
|
158
|
+
_context2.t0 = _context2["catch"](35);
|
|
175
159
|
_errMsg = 'Error saving chat message: ' + _context2.t0;
|
|
176
160
|
debug.warn(_errMsg);
|
|
177
161
|
alert(_errMsg);
|
|
178
162
|
throw new Error(_errMsg);
|
|
179
|
-
case
|
|
163
|
+
case 46:
|
|
180
164
|
return _context2.abrupt("return", message);
|
|
181
|
-
case
|
|
165
|
+
case 47:
|
|
182
166
|
case "end":
|
|
183
167
|
return _context2.stop();
|
|
184
168
|
}
|
|
185
|
-
}, _callee2, null, [[
|
|
169
|
+
}, _callee2, null, [[35, 40]]);
|
|
186
170
|
})();
|
|
187
171
|
});
|
|
188
172
|
function updateMessage(_x2) {
|
|
@@ -213,193 +197,25 @@ var ChatChannel = exports.ChatChannel = /*#__PURE__*/function () {
|
|
|
213
197
|
return _deleteMessage.apply(this, arguments);
|
|
214
198
|
}
|
|
215
199
|
return deleteMessage;
|
|
216
|
-
}()
|
|
217
|
-
// or return one which already exists
|
|
218
|
-
)
|
|
219
|
-
}, {
|
|
220
|
-
key: "createThread",
|
|
221
|
-
value: function () {
|
|
222
|
-
var _createThread = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(threadRoot) {
|
|
223
|
-
var already, thread, insert;
|
|
224
|
-
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
225
|
-
while (1) switch (_context4.prev = _context4.next) {
|
|
226
|
-
case 0:
|
|
227
|
-
already = _solidLogic.store.each(threadRoot, ns.sioc('has_reply'), null, threadRoot.doc()).filter(function (thread) {
|
|
228
|
-
return _solidLogic.store.holds(thread, ns.rdf('type'), ns.sioc('Thread'), thread.doc());
|
|
229
|
-
});
|
|
230
|
-
if (!(already.length > 0)) {
|
|
231
|
-
_context4.next = 3;
|
|
232
|
-
break;
|
|
233
|
-
}
|
|
234
|
-
return _context4.abrupt("return", already[0]);
|
|
235
|
-
case 3:
|
|
236
|
-
thread = $rdf.sym(threadRoot.uri + '-thread');
|
|
237
|
-
insert = [$rdf.st(thread, ns.rdf('type'), ns.sioc('Thread'), thread.doc()), $rdf.st(threadRoot, ns.sioc('has_reply'), thread, thread.doc())];
|
|
238
|
-
_context4.next = 7;
|
|
239
|
-
return _solidLogic.store.updater.update([], insert);
|
|
240
|
-
case 7:
|
|
241
|
-
return _context4.abrupt("return", thread);
|
|
242
|
-
case 8:
|
|
243
|
-
case "end":
|
|
244
|
-
return _context4.stop();
|
|
245
|
-
}
|
|
246
|
-
}, _callee4);
|
|
247
|
-
}));
|
|
248
|
-
function createThread(_x4) {
|
|
249
|
-
return _createThread.apply(this, arguments);
|
|
250
|
-
}
|
|
251
|
-
return createThread;
|
|
252
|
-
}()
|
|
200
|
+
}())
|
|
253
201
|
}]);
|
|
254
202
|
return ChatChannel;
|
|
255
203
|
}(); // class ChatChannel
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
var versions, done, m, prev, next;
|
|
264
|
-
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
265
|
-
while (1) switch (_context5.prev = _context5.next) {
|
|
266
|
-
case 0:
|
|
267
|
-
versions = [message];
|
|
268
|
-
done = {};
|
|
269
|
-
done[message.uri] = true;
|
|
270
|
-
m = message;
|
|
271
|
-
case 4:
|
|
272
|
-
if (!true) {
|
|
273
|
-
_context5.next = 15;
|
|
274
|
-
break;
|
|
275
|
-
}
|
|
276
|
-
// earlier?
|
|
277
|
-
prev = _solidLogic.store.any(null, ns.dct('isReplacedBy'), m, m.doc());
|
|
278
|
-
if (!(!prev || done[prev.uri])) {
|
|
279
|
-
_context5.next = 8;
|
|
280
|
-
break;
|
|
281
|
-
}
|
|
282
|
-
return _context5.abrupt("break", 15);
|
|
283
|
-
case 8:
|
|
284
|
-
_context5.next = 10;
|
|
285
|
-
return _solidLogic.store.fetcher.load(prev);
|
|
286
|
-
case 10:
|
|
287
|
-
versions.unshift(prev);
|
|
288
|
-
done[prev.uri] = true;
|
|
289
|
-
m = prev;
|
|
290
|
-
_context5.next = 4;
|
|
291
|
-
break;
|
|
292
|
-
case 15:
|
|
293
|
-
m = message;
|
|
294
|
-
case 16:
|
|
295
|
-
if (!true) {
|
|
296
|
-
_context5.next = 25;
|
|
297
|
-
break;
|
|
298
|
-
}
|
|
299
|
-
// later?
|
|
300
|
-
next = _solidLogic.store.any(m, ns.dct('isReplacedBy'), null, m.doc());
|
|
301
|
-
if (!(!next || done[next.uri])) {
|
|
302
|
-
_context5.next = 20;
|
|
303
|
-
break;
|
|
304
|
-
}
|
|
305
|
-
return _context5.abrupt("break", 25);
|
|
306
|
-
case 20:
|
|
307
|
-
versions.push(next);
|
|
308
|
-
done[next.uri] = true;
|
|
309
|
-
m = next;
|
|
310
|
-
_context5.next = 16;
|
|
311
|
-
break;
|
|
312
|
-
case 25:
|
|
313
|
-
return _context5.abrupt("return", versions);
|
|
314
|
-
case 26:
|
|
315
|
-
case "end":
|
|
316
|
-
return _context5.stop();
|
|
317
|
-
}
|
|
318
|
-
}, _callee5);
|
|
319
|
-
}));
|
|
320
|
-
return _allVersions.apply(this, arguments);
|
|
321
|
-
}
|
|
322
|
-
function originalVersion(_x6) {
|
|
323
|
-
return _originalVersion.apply(this, arguments);
|
|
324
|
-
}
|
|
325
|
-
function _originalVersion() {
|
|
326
|
-
_originalVersion = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6(message) {
|
|
327
|
-
var msg, done;
|
|
328
|
-
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
|
329
|
-
while (1) switch (_context6.prev = _context6.next) {
|
|
330
|
-
case 0:
|
|
331
|
-
msg = message;
|
|
332
|
-
done = {}; // done[message.uri] = true
|
|
333
|
-
case 2:
|
|
334
|
-
if (!msg) {
|
|
335
|
-
_context6.next = 13;
|
|
336
|
-
break;
|
|
337
|
-
}
|
|
338
|
-
if (!done[msg.uri]) {
|
|
339
|
-
_context6.next = 6;
|
|
340
|
-
break;
|
|
341
|
-
}
|
|
342
|
-
debug.error('originalVersion: verion loop' + message);
|
|
343
|
-
return _context6.abrupt("return", message);
|
|
344
|
-
case 6:
|
|
345
|
-
done[msg.uri] = true;
|
|
346
|
-
message = msg;
|
|
347
|
-
_context6.next = 10;
|
|
348
|
-
return _solidLogic.store.fetcher.load(message);
|
|
349
|
-
case 10:
|
|
350
|
-
msg = _solidLogic.store.any(null, ns.dct('isReplacedBy'), message, message.doc());
|
|
351
|
-
_context6.next = 2;
|
|
352
|
-
break;
|
|
353
|
-
case 13:
|
|
354
|
-
return _context6.abrupt("return", message);
|
|
355
|
-
case 14:
|
|
356
|
-
case "end":
|
|
357
|
-
return _context6.stop();
|
|
358
|
-
}
|
|
359
|
-
}, _callee6);
|
|
360
|
-
}));
|
|
361
|
-
return _originalVersion.apply(this, arguments);
|
|
362
|
-
}
|
|
363
|
-
function mostRecentVersion(_x7) {
|
|
364
|
-
return _mostRecentVersion.apply(this, arguments);
|
|
204
|
+
function originalVersion(message) {
|
|
205
|
+
var msg = message;
|
|
206
|
+
while (msg) {
|
|
207
|
+
message = msg;
|
|
208
|
+
msg = _solidLogic.store.any(null, ns.dct('isReplacedBy'), message, message.doc());
|
|
209
|
+
}
|
|
210
|
+
return message;
|
|
365
211
|
}
|
|
366
|
-
function
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
done = {};
|
|
374
|
-
case 2:
|
|
375
|
-
if (!msg) {
|
|
376
|
-
_context7.next = 13;
|
|
377
|
-
break;
|
|
378
|
-
}
|
|
379
|
-
if (!done[msg.uri]) {
|
|
380
|
-
_context7.next = 6;
|
|
381
|
-
break;
|
|
382
|
-
}
|
|
383
|
-
debug.error('mostRecentVersion: verion loop' + message);
|
|
384
|
-
return _context7.abrupt("return", message);
|
|
385
|
-
case 6:
|
|
386
|
-
done[msg.uri] = true;
|
|
387
|
-
message = msg;
|
|
388
|
-
_context7.next = 10;
|
|
389
|
-
return _solidLogic.store.fetcher.load(message);
|
|
390
|
-
case 10:
|
|
391
|
-
msg = _solidLogic.store.any(message, ns.dct('isReplacedBy'), null, message.doc());
|
|
392
|
-
_context7.next = 2;
|
|
393
|
-
break;
|
|
394
|
-
case 13:
|
|
395
|
-
return _context7.abrupt("return", message);
|
|
396
|
-
case 14:
|
|
397
|
-
case "end":
|
|
398
|
-
return _context7.stop();
|
|
399
|
-
}
|
|
400
|
-
}, _callee7);
|
|
401
|
-
}));
|
|
402
|
-
return _mostRecentVersion.apply(this, arguments);
|
|
212
|
+
function mostRecentVersion(message) {
|
|
213
|
+
var msg = message;
|
|
214
|
+
while (msg) {
|
|
215
|
+
message = msg;
|
|
216
|
+
msg = _solidLogic.store.any(message, ns.dct('isReplacedBy'), null, message.doc());
|
|
217
|
+
}
|
|
218
|
+
return message;
|
|
403
219
|
}
|
|
404
220
|
function isDeleted(message) {
|
|
405
221
|
return _solidLogic.store.holds(message, ns.schema('dateDeleted'), null, message.doc());
|
|
@@ -418,5 +234,64 @@ function nick(person) {
|
|
|
418
234
|
if (s) return '' + s.value;
|
|
419
235
|
return '' + utils.label(person);
|
|
420
236
|
}
|
|
421
|
-
|
|
237
|
+
function _createIfNotExists(_x4) {
|
|
238
|
+
return _createIfNotExists2.apply(this, arguments);
|
|
239
|
+
} // ends
|
|
240
|
+
function _createIfNotExists2() {
|
|
241
|
+
_createIfNotExists2 = (0, _asyncToGenerator2["default"])(function (doc) {
|
|
242
|
+
var contentType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'text/turtle';
|
|
243
|
+
var data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
|
|
244
|
+
return /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
245
|
+
var response;
|
|
246
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
247
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
248
|
+
case 0:
|
|
249
|
+
_context4.prev = 0;
|
|
250
|
+
_context4.next = 3;
|
|
251
|
+
return _solidLogic.store.fetcher.load(doc);
|
|
252
|
+
case 3:
|
|
253
|
+
response = _context4.sent;
|
|
254
|
+
_context4.next = 26;
|
|
255
|
+
break;
|
|
256
|
+
case 6:
|
|
257
|
+
_context4.prev = 6;
|
|
258
|
+
_context4.t0 = _context4["catch"](0);
|
|
259
|
+
if (!(_context4.t0.response.status === 404)) {
|
|
260
|
+
_context4.next = 24;
|
|
261
|
+
break;
|
|
262
|
+
}
|
|
263
|
+
debug.log('createIfNotExists: doc does NOT exist, will create... ' + doc);
|
|
264
|
+
_context4.prev = 10;
|
|
265
|
+
_context4.next = 13;
|
|
266
|
+
return _solidLogic.store.fetcher.webOperation('PUT', doc.uri, {
|
|
267
|
+
data: data,
|
|
268
|
+
contentType: contentType
|
|
269
|
+
});
|
|
270
|
+
case 13:
|
|
271
|
+
response = _context4.sent;
|
|
272
|
+
_context4.next = 20;
|
|
273
|
+
break;
|
|
274
|
+
case 16:
|
|
275
|
+
_context4.prev = 16;
|
|
276
|
+
_context4.t1 = _context4["catch"](10);
|
|
277
|
+
debug.log('createIfNotExists doc FAILED: ' + doc + ': ' + _context4.t1);
|
|
278
|
+
throw _context4.t1;
|
|
279
|
+
case 20:
|
|
280
|
+
delete _solidLogic.store.fetcher.requested[doc.uri]; // delete cached 404 error
|
|
281
|
+
// debug.log('createIfNotExists doc created ok ' + doc)
|
|
282
|
+
return _context4.abrupt("return", response);
|
|
283
|
+
case 24:
|
|
284
|
+
debug.log('createIfNotExists doc load error NOT 404: ' + doc + ': ' + _context4.t0);
|
|
285
|
+
throw _context4.t0;
|
|
286
|
+
case 26:
|
|
287
|
+
return _context4.abrupt("return", response);
|
|
288
|
+
case 27:
|
|
289
|
+
case "end":
|
|
290
|
+
return _context4.stop();
|
|
291
|
+
}
|
|
292
|
+
}, _callee4, null, [[0, 6], [10, 16]]);
|
|
293
|
+
})();
|
|
294
|
+
});
|
|
295
|
+
return _createIfNotExists2.apply(this, arguments);
|
|
296
|
+
}
|
|
422
297
|
//# sourceMappingURL=chatLogic.js.map
|