chat-pane 2.4.18 → 2.4.19

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/lib/create.js CHANGED
@@ -14,6 +14,10 @@ var _rdflib = require("rdflib");
14
14
 
15
15
  var _longChatPane = require("./longChatPane");
16
16
 
17
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
18
+
19
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return generator._invoke = function (innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; }(innerFn, self, context), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; this._invoke = function (method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); }; } function maybeInvokeDelegate(delegate, context) { var method = delegate.iterator[context.method]; if (undefined === method) { if (context.delegate = null, "throw" === context.method) { if (delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method)) return ContinueSentinel; context.method = "throw", context.arg = new TypeError("The iterator does not provide a 'throw' method"); } return ContinueSentinel; } var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) { if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; } return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, define(Gp, "constructor", GeneratorFunctionPrototype), define(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (object) { var keys = []; for (var key in object) { keys.push(key); } return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) { "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); } }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
20
+
17
21
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
18
22
 
19
23
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
@@ -23,9 +27,9 @@ function getMe() {
23
27
  }
24
28
 
25
29
  function _getMe() {
26
- _getMe = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
30
+ _getMe = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
27
31
  var me;
28
- return regeneratorRuntime.wrap(function _callee$(_context) {
32
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
29
33
  while (1) {
30
34
  switch (_context.prev = _context.next) {
31
35
  case 0:
@@ -60,9 +64,9 @@ function getPodRoot(_x) {
60
64
  }
61
65
 
62
66
  function _getPodRoot() {
63
- _getPodRoot = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(me) {
67
+ _getPodRoot = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(me) {
64
68
  var podRoot;
65
- return regeneratorRuntime.wrap(function _callee2$(_context2) {
69
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
66
70
  while (1) {
67
71
  switch (_context2.prev = _context2.next) {
68
72
  case 0:
@@ -93,9 +97,9 @@ function sendInvite(_x2, _x3) {
93
97
  }
94
98
 
95
99
  function _sendInvite() {
96
- _sendInvite = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(invitee, chatThing) {
100
+ _sendInvite = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(invitee, chatThing) {
97
101
  var inviteeInbox, inviteBody, inviteResponse, locationStr;
98
- return regeneratorRuntime.wrap(function _callee3$(_context3) {
102
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
99
103
  while (1) {
100
104
  switch (_context3.prev = _context3.next) {
101
105
  case 0:
@@ -153,9 +157,9 @@ function createChatThing(_x4, _x5) {
153
157
  }
154
158
 
155
159
  function _createChatThing() {
156
- _createChatThing = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(chatContainer, me) {
160
+ _createChatThing = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(chatContainer, me) {
157
161
  var created;
158
- return regeneratorRuntime.wrap(function _callee4$(_context4) {
162
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
159
163
  while (1) {
160
164
  switch (_context4.prev = _context4.next) {
161
165
  case 0:
@@ -188,9 +192,9 @@ function setAcl(_x6, _x7, _x8) {
188
192
  }
189
193
 
190
194
  function _setAcl() {
191
- _setAcl = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5(chatContainer, me, invitee) {
195
+ _setAcl = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(chatContainer, me, invitee) {
192
196
  var chatAclDoc, aclBody, aclResponse;
193
- return regeneratorRuntime.wrap(function _callee5$(_context5) {
197
+ return _regeneratorRuntime().wrap(function _callee5$(_context5) {
194
198
  while (1) {
195
199
  switch (_context5.prev = _context5.next) {
196
200
  case 0:
@@ -234,9 +238,9 @@ function addToPrivateTypeIndex(_x9, _x10) {
234
238
  }
235
239
 
236
240
  function _addToPrivateTypeIndex() {
237
- _addToPrivateTypeIndex = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6(chatThing, me) {
241
+ _addToPrivateTypeIndex = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(chatThing, me) {
238
242
  var privateTypeIndex, reg, ins;
239
- return regeneratorRuntime.wrap(function _callee6$(_context6) {
243
+ return _regeneratorRuntime().wrap(function _callee6$(_context6) {
240
244
  while (1) {
241
245
  switch (_context6.prev = _context6.next) {
242
246
  case 0:
@@ -283,9 +287,9 @@ function findChat(_x11) {
283
287
  }
284
288
 
285
289
  function _findChat() {
286
- _findChat = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7(invitee) {
290
+ _findChat = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(invitee) {
287
291
  var me, podRoot, chatContainer, exists;
288
- return regeneratorRuntime.wrap(function _callee7$(_context7) {
292
+ return _regeneratorRuntime().wrap(function _callee7$(_context7) {
289
293
  while (1) {
290
294
  switch (_context7.prev = _context7.next) {
291
295
  case 0:
@@ -336,7 +340,7 @@ function getChat(_x12) {
336
340
  }
337
341
 
338
342
  function _getChat() {
339
- _getChat = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8(invitee) {
343
+ _getChat = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8(invitee) {
340
344
  var createIfMissing,
341
345
  _yield$findChat,
342
346
  me,
@@ -345,7 +349,7 @@ function _getChat() {
345
349
  chatThing,
346
350
  _args8 = arguments;
347
351
 
348
- return regeneratorRuntime.wrap(function _callee8$(_context8) {
352
+ return _regeneratorRuntime().wrap(function _callee8$(_context8) {
349
353
  while (1) {
350
354
  switch (_context8.prev = _context8.next) {
351
355
  case 0:
package/lib/create.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/create.ts"],"names":["getMe","me","authn","currentUser","Error","store","fetcher","load","doc","getPodRoot","podRoot","any","ns","space","undefined","sendInvite","invitee","chatThing","inviteeInbox","ldp","value","inviteBody","rdf","webOperation","data","contentType","inviteResponse","locationStr","headers","get","status","determineChatContainer","chatContainerStr","URL","host","toString","NamedNode","createChatThing","chatContainer","longChatPane","mintNew","session","newBase","created","newInstance","setAcl","chatAclDoc","aclBody","aclResponse","addToPrivateTypeIndex","privateTypeIndex","solid","reg","widgets","newThing","ins","meeting","Promise","resolve","reject","updater","update","_uri","ok","errm","findChat","exists","CHAT_LOCATION_IN_CONTAINER","getChat","createIfMissing"],"mappings":"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","sourcesContent":["import { ns, widgets } from 'solid-ui'\nimport { authn, store } from 'solid-logic'\nimport { NamedNode, st } from 'rdflib'\nimport { longChatPane } from './longChatPane'\n\nasync function getMe () {\n const me = authn.currentUser()\n if (me === null) {\n throw new Error('Current user not found! Not logged in?')\n }\n await store.fetcher.load(me.doc())\n return me\n}\n\nasync function getPodRoot (me): Promise<NamedNode> {\n const podRoot = store.any(me, ns.space('storage'), undefined, me.doc())\n if (!podRoot) {\n throw new Error('Current user pod root not found!')\n }\n return podRoot\n}\n\nasync function sendInvite (invitee: NamedNode, chatThing: NamedNode) {\n await store.fetcher.load(invitee.doc())\n const inviteeInbox = store.any(invitee, ns.ldp('inbox'), undefined, invitee.doc())\n if (!inviteeInbox) {\n throw new Error(`Invitee inbox not found! ${invitee.value}`)\n }\n const inviteBody = `\n<> a <http://www.w3.org/ns/pim/meeting#LongChatInvite> ;\n${ns.rdf('seeAlso')} <${chatThing.value}> . \n `\n \n const inviteResponse = await store.fetcher.webOperation('POST', inviteeInbox.value, {\n data: inviteBody,\n contentType: 'text/turtle'\n })\n const locationStr = inviteResponse.headers.get('location')\n if (!locationStr) {\n throw new Error(`Invite sending returned a ${inviteResponse.status}`)\n }\n}\n\nfunction determineChatContainer (invitee, podRoot) {\n // Create chat\n // See https://gitter.im/solid/chat-app?at=5f3c800f855be416a23ae74a\n const chatContainerStr = new URL(`IndividualChats/${new URL(invitee.value).host}/`, podRoot.value).toString()\n return new NamedNode(chatContainerStr)\n}\n\nasync function createChatThing (chatContainer, me) {\n const created = await longChatPane.mintNew({\n session: {\n store\n }\n },\n {\n me,\n newBase: chatContainer.value\n })\n return created.newInstance\n}\n\nasync function setAcl(chatContainer, me, invitee) {\n // Some servers don't present a Link http response header\n // if the container doesn't exist yet, so refetch the container\n // now that it has been created:\n await store.fetcher.load(chatContainer)\n\n // FIXME: check the Why value on this quad:\n const chatAclDoc = store.any(chatContainer, new NamedNode('http://www.iana.org/assignments/link-relations/acl'))\n if (!chatAclDoc) {\n throw new Error('Chat ACL doc not found!')\n }\n\n const aclBody = `\n@prefix acl: <http://www.w3.org/ns/auth/acl#>.\n<#owner>\n a acl:Authorization;\n acl:agent <${me.value}>;\n acl:accessTo <.>;\n acl:default <.>;\n acl:mode\n acl:Read, acl:Write, acl:Control.\n<#invitee>\n a acl:Authorization;\n acl:agent <${invitee.value}>;\n acl:accessTo <.>;\n acl:default <.>;\n acl:mode\n acl:Read, acl:Append.\n`\n const aclResponse = await store.fetcher.webOperation('PUT', chatAclDoc.value, {\n data: aclBody,\n contentType: 'text/turtle'\n })\n}\nasync function addToPrivateTypeIndex(chatThing, me) {\n // Add to private type index\n const privateTypeIndex = store.any(me, ns.solid('privateTypeIndex')) as NamedNode | null\n if (!privateTypeIndex) {\n throw new Error('Private type index not found!')\n }\n await store.fetcher.load(privateTypeIndex)\n const reg = widgets.newThing(privateTypeIndex)\n const ins = [\n st(reg, ns.rdf('type'), ns.solid('TypeRegistration'), privateTypeIndex.doc()),\n st(reg, ns.solid('forClass'), ns.meeting('LongChat'), privateTypeIndex.doc()),\n st(reg, ns.solid('instance'), chatThing, privateTypeIndex.doc())\n ]\n await new Promise((resolve, reject) => {\n store.updater.update([], ins, function (_uri, ok, errm) {\n if (!ok) {\n reject(new Error(errm))\n } else {\n resolve()\n }\n })\n })\n}\n\nexport async function findChat (invitee: NamedNode) {\n const me = await getMe()\n const podRoot = await getPodRoot(me)\n const chatContainer = determineChatContainer(invitee, podRoot)\n let exists = true\n try {\n await store.fetcher.load(new NamedNode(chatContainer.value + longChatPane.CHAT_LOCATION_IN_CONTAINER))\n } catch (e) {\n exists = false\n }\n return { me, chatContainer, exists}\n}\n\nexport async function getChat (invitee: NamedNode, createIfMissing = true): Promise<NamedNode> {\n const { me, chatContainer, exists } = await findChat (invitee)\n if (exists) {\n return new NamedNode(chatContainer.value + longChatPane.CHAT_LOCATION_IN_CONTAINER)\n }\n\n if (createIfMissing) {\n const chatThing = await createChatThing(chatContainer, me)\n await sendInvite(invitee, chatThing)\n await setAcl(chatContainer, me, invitee)\n await addToPrivateTypeIndex(chatThing, me)\n return chatThing\n }\n}\n"],"file":"create.js"}
1
+ {"version":3,"file":"create.js","names":["getMe","me","authn","currentUser","Error","store","fetcher","load","doc","getPodRoot","podRoot","any","ns","space","undefined","sendInvite","invitee","chatThing","inviteeInbox","ldp","value","inviteBody","rdf","webOperation","data","contentType","inviteResponse","locationStr","headers","get","status","determineChatContainer","chatContainerStr","URL","host","toString","NamedNode","createChatThing","chatContainer","longChatPane","mintNew","session","newBase","created","newInstance","setAcl","chatAclDoc","aclBody","aclResponse","addToPrivateTypeIndex","privateTypeIndex","solid","reg","widgets","newThing","ins","st","meeting","Promise","resolve","reject","updater","update","_uri","ok","errm","findChat","exists","CHAT_LOCATION_IN_CONTAINER","getChat","createIfMissing"],"sources":["../src/create.ts"],"sourcesContent":["import { ns, widgets } from 'solid-ui'\nimport { authn, store } from 'solid-logic'\nimport { NamedNode, st } from 'rdflib'\nimport { longChatPane } from './longChatPane'\n\nasync function getMe () {\n const me = authn.currentUser()\n if (me === null) {\n throw new Error('Current user not found! Not logged in?')\n }\n await store.fetcher.load(me.doc())\n return me\n}\n\nasync function getPodRoot (me): Promise<NamedNode> {\n const podRoot = store.any(me, ns.space('storage'), undefined, me.doc())\n if (!podRoot) {\n throw new Error('Current user pod root not found!')\n }\n return podRoot\n}\n\nasync function sendInvite (invitee: NamedNode, chatThing: NamedNode) {\n await store.fetcher.load(invitee.doc())\n const inviteeInbox = store.any(invitee, ns.ldp('inbox'), undefined, invitee.doc())\n if (!inviteeInbox) {\n throw new Error(`Invitee inbox not found! ${invitee.value}`)\n }\n const inviteBody = `\n<> a <http://www.w3.org/ns/pim/meeting#LongChatInvite> ;\n${ns.rdf('seeAlso')} <${chatThing.value}> . \n `\n \n const inviteResponse = await store.fetcher.webOperation('POST', inviteeInbox.value, {\n data: inviteBody,\n contentType: 'text/turtle'\n })\n const locationStr = inviteResponse.headers.get('location')\n if (!locationStr) {\n throw new Error(`Invite sending returned a ${inviteResponse.status}`)\n }\n}\n\nfunction determineChatContainer (invitee, podRoot) {\n // Create chat\n // See https://gitter.im/solid/chat-app?at=5f3c800f855be416a23ae74a\n const chatContainerStr = new URL(`IndividualChats/${new URL(invitee.value).host}/`, podRoot.value).toString()\n return new NamedNode(chatContainerStr)\n}\n\nasync function createChatThing (chatContainer, me) {\n const created = await longChatPane.mintNew({\n session: {\n store\n }\n },\n {\n me,\n newBase: chatContainer.value\n })\n return created.newInstance\n}\n\nasync function setAcl(chatContainer, me, invitee) {\n // Some servers don't present a Link http response header\n // if the container doesn't exist yet, so refetch the container\n // now that it has been created:\n await store.fetcher.load(chatContainer)\n\n // FIXME: check the Why value on this quad:\n const chatAclDoc = store.any(chatContainer, new NamedNode('http://www.iana.org/assignments/link-relations/acl'))\n if (!chatAclDoc) {\n throw new Error('Chat ACL doc not found!')\n }\n\n const aclBody = `\n@prefix acl: <http://www.w3.org/ns/auth/acl#>.\n<#owner>\n a acl:Authorization;\n acl:agent <${me.value}>;\n acl:accessTo <.>;\n acl:default <.>;\n acl:mode\n acl:Read, acl:Write, acl:Control.\n<#invitee>\n a acl:Authorization;\n acl:agent <${invitee.value}>;\n acl:accessTo <.>;\n acl:default <.>;\n acl:mode\n acl:Read, acl:Append.\n`\n const aclResponse = await store.fetcher.webOperation('PUT', chatAclDoc.value, {\n data: aclBody,\n contentType: 'text/turtle'\n })\n}\nasync function addToPrivateTypeIndex(chatThing, me) {\n // Add to private type index\n const privateTypeIndex = store.any(me, ns.solid('privateTypeIndex')) as NamedNode | null\n if (!privateTypeIndex) {\n throw new Error('Private type index not found!')\n }\n await store.fetcher.load(privateTypeIndex)\n const reg = widgets.newThing(privateTypeIndex)\n const ins = [\n st(reg, ns.rdf('type'), ns.solid('TypeRegistration'), privateTypeIndex.doc()),\n st(reg, ns.solid('forClass'), ns.meeting('LongChat'), privateTypeIndex.doc()),\n st(reg, ns.solid('instance'), chatThing, privateTypeIndex.doc())\n ]\n await new Promise((resolve, reject) => {\n store.updater.update([], ins, function (_uri, ok, errm) {\n if (!ok) {\n reject(new Error(errm))\n } else {\n resolve()\n }\n })\n })\n}\n\nexport async function findChat (invitee: NamedNode) {\n const me = await getMe()\n const podRoot = await getPodRoot(me)\n const chatContainer = determineChatContainer(invitee, podRoot)\n let exists = true\n try {\n await store.fetcher.load(new NamedNode(chatContainer.value + longChatPane.CHAT_LOCATION_IN_CONTAINER))\n } catch (e) {\n exists = false\n }\n return { me, chatContainer, exists}\n}\n\nexport async function getChat (invitee: NamedNode, createIfMissing = true): Promise<NamedNode> {\n const { me, chatContainer, exists } = await findChat (invitee)\n if (exists) {\n return new NamedNode(chatContainer.value + longChatPane.CHAT_LOCATION_IN_CONTAINER)\n }\n\n if (createIfMissing) {\n const chatThing = await createChatThing(chatContainer, me)\n await sendInvite(invitee, chatThing)\n await setAcl(chatContainer, me, invitee)\n await addToPrivateTypeIndex(chatThing, me)\n return chatThing\n }\n}\n"],"mappings":"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"}
@@ -17,6 +17,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
17
17
 
18
18
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
19
 
20
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return generator._invoke = function (innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; }(innerFn, self, context), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; this._invoke = function (method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); }; } function maybeInvokeDelegate(delegate, context) { var method = delegate.iterator[context.method]; if (undefined === method) { if (context.delegate = null, "throw" === context.method) { if (delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method)) return ContinueSentinel; context.method = "throw", context.arg = new TypeError("The iterator does not provide a 'throw' method"); } return ContinueSentinel; } var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) { if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; } return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, define(Gp, "constructor", GeneratorFunctionPrototype), define(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (object) { var keys = []; for (var key in object) { keys.push(key); } return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) { "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); } }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
21
+
20
22
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
21
23
 
22
24
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
@@ -114,9 +116,9 @@ var longChatPane = {
114
116
 
115
117
 
116
118
  function _renderPreferencesSidebar() {
117
- _renderPreferencesSidebar = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(context) {
119
+ _renderPreferencesSidebar = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(context) {
118
120
  var dom, noun, preferencesArea, menuTable, registrationArea, statusArea, me;
119
- return regeneratorRuntime.wrap(function _callee$(_context) {
121
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
120
122
  while (1) {
121
123
  switch (_context.prev = _context.next) {
122
124
  case 0:
@@ -196,8 +198,8 @@ var longChatPane = {
196
198
 
197
199
 
198
200
  function _preferencesButtonPressed() {
199
- _preferencesButtonPressed = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(_event) {
200
- return regeneratorRuntime.wrap(function _callee2$(_context2) {
201
+ _preferencesButtonPressed = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_event) {
202
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
201
203
  while (1) {
202
204
  switch (_context2.prev = _context2.next) {
203
205
  case 0:
@@ -260,9 +262,9 @@ var longChatPane = {
260
262
  }
261
263
 
262
264
  function _renderInstances() {
263
- _renderInstances = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(theClass, noun) {
265
+ _renderInstances = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(theClass, noun) {
264
266
  var instancesDiv, context;
265
- return regeneratorRuntime.wrap(function _callee3$(_context3) {
267
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
266
268
  while (1) {
267
269
  switch (_context3.prev = _context3.next) {
268
270
  case 0:
@@ -306,8 +308,8 @@ var longChatPane = {
306
308
 
307
309
 
308
310
  function _otherChatsHandler() {
309
- _otherChatsHandler = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(_event) {
310
- return regeneratorRuntime.wrap(function _callee4$(_context4) {
311
+ _otherChatsHandler = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(_event) {
312
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
311
313
  while (1) {
312
314
  switch (_context4.prev = _context4.next) {
313
315
  case 0:
@@ -445,9 +447,9 @@ var longChatPane = {
445
447
  }
446
448
 
447
449
  function _buildPane() {
448
- _buildPane = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {
450
+ _buildPane = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
449
451
  var prefMap, propuri, chatControl;
450
- return regeneratorRuntime.wrap(function _callee5$(_context5) {
452
+ return _regeneratorRuntime().wrap(function _callee5$(_context5) {
451
453
  while (1) {
452
454
  switch (_context5.prev = _context5.next) {
453
455
  case 0:
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/longChatPane.js"],"names":["ns","UI","mainClass","meeting","CHAT_LOCATION_IN_CONTAINER","SPANNER_ICON","SIDEBAR_COMPONENT_STYLE","style","sidebarComponentStyle","SIDEBAR_STYLE","sidebarStyle","longChatPane","icon","icons","iconBase","name","label","subject","context","kb","session","store","holds","rdf","any","sioc","dct","mintClass","mintNew","newPaneOptions","updater","me","uri","Error","newInstance","sym","newBase","newChatDoc","doc","add","dc","Date","Promise","resolve","reject","put","statementsMatching","undefined","uri2","ok","message","render","paneOptions","dom","preferencesFormText","preferencesForm","preferencesFormDoc","$rdf","parse","preferenceProperties","ui","property","map","st","object","renderPreferencesSidebar","noun","preferencesArea","createElement","appendChild","panelCloseButton","minWidth","maxHeight","triptychHeight","menuTable","registrationArea","statusArea","authn","currentUser","login","registrationControl","div","chatChannel","console","log","preferences","renderPreferencesForm","panel","removePanel","parentNode","removeChild","button","widgets","margin","backgroundColor","preferencesButtonPressed","_event","paneRight","contains","renderCreationControl","refreshTarget","creationDiv","creationContext","chatPane","paneRegistry","byName","relevantPanes","create","newThingUI","renderInstances","theClass","instancesDiv","registrationList","type","otherChatsArea","otherChatsHandler","paneLeft","participantsArea","participantsHandler","alert","pad","manageParticipation","selectedMessage","wf","triptych","paneRow","paneMiddle","paneBottom","paddingRight","paddingLeft","buttonCell","participantsIcon","participantsButton","addEventListener","otherChatsIcon","otherChatsButton","menuButton","setAttribute","options","infinite","participantsHandlerContext","buildPane","getPreferencesForClass","prefMap","complain","propuri","split","solo","infiniteMessageArea","chatControl","resize","overflow","then"],"mappings":"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","sourcesContent":["/* Long Chat Pane\n **\n ** A long chat consists a of a series of chat files saved by date.\n */\nimport { authn } from 'solid-logic'\nimport * as UI from 'solid-ui'\nimport * as $rdf from 'rdflib'\nconst ns = UI.ns\n\nconst mainClass = ns.meeting('LongChat') // @@ something from SIOC?\n\nconst CHAT_LOCATION_IN_CONTAINER = 'index.ttl#this'\n\n// const menuIcon = 'noun_897914.svg'\nconst SPANNER_ICON = 'noun_344563.svg'\n// resize: horizontal; min-width: 20em;\nconst SIDEBAR_COMPONENT_STYLE = UI.style.sidebarComponentStyle || ' padding: 0.5em; width: 100%;'\nconst SIDEBAR_STYLE = UI.style.sidebarStyle || 'overflow-x: auto; overflow-y: auto; border-radius: 1em; border: 0.1em solid white;'\n// was purple border\nexport const longChatPane = {\n CHAT_LOCATION_IN_CONTAINER,\n\n // noun_704.svg Canoe noun_346319.svg = 1 Chat noun_1689339.svg = three chat\n icon: UI.icons.iconBase + 'noun_1689339.svg',\n\n name: 'long chat',\n\n label: function (subject, context) {\n const kb = context.session.store\n if (kb.holds(subject, ns.rdf('type'), ns.meeting('LongChat'))) {\n // subject is the object\n return 'Chat channnel'\n } // Looks like a message -- might not havre any class declared\n if (\n kb.any(subject, ns.sioc('content')) &&\n kb.any(subject, ns.dct('created'))\n ) {\n return 'message'\n }\n return null // Suppress pane otherwise\n },\n\n mintClass: mainClass,\n\n mintNew: function (context, newPaneOptions) {\n const kb = context.session.store\n var updater = kb.updater\n if (newPaneOptions.me && !newPaneOptions.me.uri) {\n throw new Error('chat mintNew: Invalid userid ' + newPaneOptions.me)\n }\n\n var newInstance = (newPaneOptions.newInstance =\n newPaneOptions.newInstance ||\n kb.sym(newPaneOptions.newBase + CHAT_LOCATION_IN_CONTAINER))\n var newChatDoc = newInstance.doc()\n\n kb.add(newInstance, ns.rdf('type'), ns.meeting('LongChat'), newChatDoc)\n kb.add(newInstance, ns.dc('title'), 'Chat channel', newChatDoc)\n kb.add(newInstance, ns.dc('created'), new Date(), newChatDoc)\n if (newPaneOptions.me) {\n kb.add(newInstance, ns.dc('author'), newPaneOptions.me, newChatDoc)\n }\n\n return new Promise(function (resolve, reject) {\n updater.put(\n newChatDoc,\n kb.statementsMatching(undefined, undefined, undefined, newChatDoc),\n 'text/turtle',\n function (uri2, ok, message) {\n if (ok) {\n resolve(newPaneOptions)\n } else {\n reject(\n new Error(\n 'FAILED to save new chat channel at: ' + uri2 + ' : ' + message\n )\n )\n }\n }\n )\n })\n },\n\n render: function (subject, context, paneOptions) {\n const dom = context.dom\n const kb = context.session.store\n\n /* Preferences\n **\n ** Things like whether to color text by author webid, to expand image URLs inline,\n ** expanded inline image height. ...\n ** In general, preferences can be set per user, per user/app combo, per instance,\n ** and per instance/user combo. Per instance? not sure about unless it is valuable\n ** for everyone to be seeing the same thing.\n */\n // const DCT = $rdf.Namespace('http://purl.org/dc/terms/')\n const preferencesFormText = `\n @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.\n @prefix solid: <http://www.w3.org/ns/solid/terms#>.\n @prefix ui: <http://www.w3.org/ns/ui#>.\n @prefix : <#>.\n\n :this\n <http://purl.org/dc/elements/1.1/title> \"Chat preferences\" ;\n a ui:Form ;\n ui:parts ( :colorizeByAuthor :expandImagesInline :newestFirst :inlineImageHeightEms\n :shiftEnterSendsMessage :authorDateOnLeft :showDeletedMessages).\n\n :colorizeByAuthor a ui:TristateField; ui:property solid:colorizeByAuthor;\n ui:label \"Color user input by user\".\n\n :expandImagesInline a ui:TristateField; ui:property solid:expandImagesInline;\n ui:label \"Expand image URLs inline\".\n\n :newestFirst a ui:TristateField; ui:property solid:newestFirst;\n ui:label \"Newest messages at the top\".\n\n :inlineImageHeightEms a ui:IntegerField; ui:property solid:inlineImageHeightEms;\n ui:label \"Inline image height (lines)\".\n\n :shiftEnterSendsMessage a ui:TristateField; ui:property solid:shiftEnterSendsMessage;\n ui:label \"Shift-Enter sends message\".\n\n :authorDateOnLeft a ui:TristateField; ui:property solid:authorDateOnLeft;\n ui:label \"Author & date of message on left\".\n\n :showDeletedMessages a ui:TristateField; ui:property solid:showDeletedMessages;\n ui:label \"Show placeholders for deleted messages\".\n`\n const preferencesForm = kb.sym(\n 'https://solid.github.io/solid-panes/longCharPane/preferencesForm.ttl#this'\n )\n const preferencesFormDoc = preferencesForm.doc()\n if (!kb.holds(undefined, undefined, undefined, preferencesFormDoc)) {\n // If not loaded already\n $rdf.parse(preferencesFormText, kb, preferencesFormDoc.uri, 'text/turtle') // Load form directly\n }\n const preferenceProperties = kb\n .statementsMatching(null, ns.ui.property, null, preferencesFormDoc)\n .map(st => st.object)\n\n // Preferences Menu\n //\n // Build a menu a the side (@@ reactive: on top?)\n\n async function renderPreferencesSidebar (context) {\n // const noun = 'chat room'\n const { dom, noun } = context\n const preferencesArea = dom.createElement('div')\n preferencesArea.appendChild(panelCloseButton(preferencesArea))\n // @@ style below fix .. just make it onviious while testing\n preferencesArea.style = SIDEBAR_COMPONENT_STYLE\n preferencesArea.style.minWidth = '25em' // bit bigger\n preferencesArea.style.maxHeight = triptychHeight\n const menuTable = preferencesArea.appendChild(dom.createElement('table'))\n const registrationArea = menuTable.appendChild(dom.createElement('tr'))\n const statusArea = menuTable.appendChild(dom.createElement('tr'))\n\n var me = authn.currentUser()\n if (me) {\n await UI.login.registrationControl(\n { noun, me, statusArea, dom, div: registrationArea },\n chatChannel,\n mainClass\n )\n console.log('Registration control finsished.')\n preferencesArea.appendChild(\n UI.preferences.renderPreferencesForm(\n chatChannel,\n mainClass,\n preferencesForm,\n {\n noun,\n me,\n statusArea,\n div: preferencesArea,\n dom,\n kb\n }\n )\n )\n }\n return preferencesArea\n }\n\n // @@ Split out into solid-ui\n\n function panelCloseButton (panel) {\n function removePanel () {\n panel.parentNode.removeChild(panel)\n }\n const button =\n UI.widgets.button(context.dom, UI.icons.iconBase + 'noun_1180156.svg', 'close', removePanel)\n button.style.float = 'right'\n button.style.margin = '0.7em'\n delete button.style.backgroundColor // do not want white\n return button\n }\n async function preferencesButtonPressed (_event) {\n if (!preferencesArea) {\n // Expand\n preferencesArea = await renderPreferencesSidebar({ dom, noun: 'chat room' })\n }\n if (paneRight.contains(preferencesArea)) {\n // Close menu (hide or delete??)\n preferencesArea.parentNode.removeChild(preferencesArea)\n preferencesArea = null\n } else {\n paneRight.appendChild(preferencesArea)\n }\n } // preferencesButtonPressed\n\n // All my chats\n //\n /* Build a other chats list drawer the side\n */\n\n function renderCreationControl (refreshTarget, noun) {\n var creationDiv = dom.createElement('div')\n var me = authn.currentUser()\n var creationContext = {\n // folder: subject,\n div: creationDiv,\n dom: dom,\n noun: noun,\n statusArea: creationDiv,\n me: me,\n refreshTarget: refreshTarget\n }\n const chatPane = context.session.paneRegistry.byName('chat')\n const relevantPanes = [chatPane]\n UI.create.newThingUI(creationContext, context, relevantPanes) // Have to pass panes down newUI\n return creationDiv\n }\n\n async function renderInstances (theClass, noun) {\n const instancesDiv = dom.createElement('div')\n var context = { dom, div: instancesDiv, noun: noun }\n await UI.login.registrationList(context, { public: true, private: true, type: theClass })\n instancesDiv.appendChild(renderCreationControl(instancesDiv, noun))\n return instancesDiv\n }\n\n var otherChatsArea = null\n async function otherChatsHandler (_event) {\n if (!otherChatsArea) { // Lazy build when needed\n // Expand\n otherChatsArea = dom.createElement('div')\n otherChatsArea.style = SIDEBAR_COMPONENT_STYLE\n otherChatsArea.style.maxHeight = triptychHeight\n otherChatsArea.appendChild(panelCloseButton(otherChatsArea))\n\n otherChatsArea.appendChild(await renderInstances(ns.meeting('LongChat'), 'chat'))\n }\n // Toggle visibility with button clicks\n if (paneLeft.contains(otherChatsArea)) {\n otherChatsArea.parentNode.removeChild(otherChatsArea)\n } else {\n paneLeft.appendChild(otherChatsArea)\n }\n } // otherChatsHandler\n\n // People in the chat\n //\n /* Build a participants list drawer the side\n */\n var participantsArea\n function participantsHandler (_event) {\n if (!participantsArea) {\n // Expand\n participantsArea = dom.createElement('div')\n participantsArea.style = SIDEBAR_COMPONENT_STYLE\n participantsArea.style.maxHeight = triptychHeight\n participantsArea.appendChild(panelCloseButton(participantsArea))\n\n // Record my participation and display participants\n var me = authn.currentUser()\n if (!me) alert('Should be logeed in for partipants panel')\n UI.pad.manageParticipation(\n dom,\n participantsArea,\n chatChannel.doc(),\n chatChannel,\n me,\n {}\n )\n }\n // Toggle appearance in sidebar with clicks\n // Note also it can remove itself using the X button\n if (paneLeft.contains(participantsArea)) {\n // Close participants (hide or delete??)\n participantsArea.parentNode.removeChild(participantsArea)\n participantsArea = null\n } else {\n paneLeft.appendChild(participantsArea)\n }\n } // participantsHandler\n\n var chatChannel = subject\n var selectedMessage = null\n if (kb.holds(subject, ns.rdf('type'), ns.meeting('LongChat'))) {\n // subject is the chatChannel\n console.log('Chat channnel')\n\n // Looks like a message -- might not havre any class declared\n } else if (\n kb.any(subject, ns.sioc('content')) &&\n kb.any(subject, ns.dct('created'))\n ) {\n console.log('message')\n selectedMessage = subject\n chatChannel = kb.any(null, ns.wf('message'), selectedMessage)\n if (!chatChannel) throw new Error('Message has no link to chatChannel')\n }\n\n var div = dom.createElement('div')\n\n // Three large columns for particpant, chat, Preferences. formula below just as a note\n // const windowHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight\n const triptychHeight = '20cm' // @@ need to be able to set to window!\n var triptych = div.appendChild(dom.createElement('table'))\n triptych.style.maxHeight = '12\"' // Screen max\n var paneRow = triptych.appendChild(dom.createElement('tr'))\n var paneLeft = paneRow.appendChild(dom.createElement('td'))\n var paneMiddle = paneRow.appendChild(dom.createElement('td'))\n var paneRight = paneRow.appendChild(dom.createElement('td'))\n var paneBottom = triptych.appendChild(dom.createElement('tr'))\n paneLeft.style = SIDEBAR_STYLE\n paneLeft.style.paddingRight = '1em'\n paneRight.style = SIDEBAR_STYLE\n paneRight.style.paddingLeft = '1em'\n\n paneBottom.appendChild(dom.createElement('td'))\n const buttonCell = paneBottom.appendChild(dom.createElement('td'))\n paneBottom.appendChild(dom.createElement('td'))\n\n // Button to bring up participants drawer on left\n const participantsIcon = 'noun_339237.svg'\n var participantsButton = UI.widgets.button(\n dom,\n UI.icons.iconBase + participantsIcon,\n 'participants ...'\n ) // wider var\n buttonCell.appendChild(participantsButton)\n participantsButton.addEventListener('click', participantsHandler)\n\n // Button to bring up otherChats drawer on left\n const otherChatsIcon = 'noun_1689339.svg' // long chat icon -- not ideal for a set of chats @@\n var otherChatsButton = UI.widgets.button(\n dom,\n UI.icons.iconBase + otherChatsIcon,\n 'List of other chats ...'\n ) // wider var\n buttonCell.appendChild(otherChatsButton)\n otherChatsButton.addEventListener('click', otherChatsHandler)\n\n var preferencesArea = null\n const menuButton = UI.widgets.button(\n dom,\n UI.icons.iconBase + SPANNER_ICON,\n 'Setting ...'\n ) // wider var\n buttonCell.appendChild(menuButton)\n menuButton.style.float = 'right'\n menuButton.addEventListener('click', preferencesButtonPressed)\n\n div.setAttribute('class', 'chatPane')\n const options = { infinite: true }\n const participantsHandlerContext = { noun: 'chat room', div, dom: dom }\n participantsHandlerContext.me = authn.currentUser() // If already logged on\n\n async function buildPane () {\n let prefMap\n try {\n prefMap = await UI.preferences.getPreferencesForClass(\n chatChannel, mainClass, preferenceProperties, participantsHandlerContext)\n } catch (err) {\n UI.widgets.complain(participantsHandlerContext, err)\n }\n for (const propuri in prefMap) {\n options[propuri.split('#')[1]] = prefMap[propuri]\n }\n if (selectedMessage) {\n options.selectedMessage = selectedMessage\n }\n if (paneOptions.solo) {\n // This is the top pane, title, scrollbar etc are ours\n options.solo = true\n }\n const chatControl = await UI.infiniteMessageArea(\n dom,\n kb,\n chatChannel,\n options\n )\n chatControl.style.resize = 'both'\n chatControl.style.overflow = 'auto'\n chatControl.style.maxHeight = triptychHeight\n paneMiddle.appendChild(chatControl)\n }\n buildPane().then(console.log('async - chat pane built'))\n return div\n }\n}\n"],"file":"longChatPane.js"}
1
+ {"version":3,"file":"longChatPane.js","names":["ns","UI","mainClass","meeting","CHAT_LOCATION_IN_CONTAINER","SPANNER_ICON","SIDEBAR_COMPONENT_STYLE","style","sidebarComponentStyle","SIDEBAR_STYLE","sidebarStyle","longChatPane","icon","icons","iconBase","name","label","subject","context","kb","session","store","holds","rdf","any","sioc","dct","mintClass","mintNew","newPaneOptions","updater","me","uri","Error","newInstance","sym","newBase","newChatDoc","doc","add","dc","Date","Promise","resolve","reject","put","statementsMatching","undefined","uri2","ok","message","render","paneOptions","dom","preferencesFormText","preferencesForm","preferencesFormDoc","$rdf","parse","preferenceProperties","ui","property","map","st","object","renderPreferencesSidebar","noun","preferencesArea","createElement","appendChild","panelCloseButton","minWidth","maxHeight","triptychHeight","menuTable","registrationArea","statusArea","authn","currentUser","login","registrationControl","div","chatChannel","console","log","preferences","renderPreferencesForm","panel","removePanel","parentNode","removeChild","button","widgets","margin","backgroundColor","preferencesButtonPressed","_event","paneRight","contains","renderCreationControl","refreshTarget","creationDiv","creationContext","chatPane","paneRegistry","byName","relevantPanes","create","newThingUI","renderInstances","theClass","instancesDiv","registrationList","type","otherChatsArea","otherChatsHandler","paneLeft","participantsArea","participantsHandler","alert","pad","manageParticipation","selectedMessage","wf","triptych","paneRow","paneMiddle","paneBottom","paddingRight","paddingLeft","buttonCell","participantsIcon","participantsButton","addEventListener","otherChatsIcon","otherChatsButton","menuButton","setAttribute","options","infinite","participantsHandlerContext","buildPane","getPreferencesForClass","prefMap","complain","propuri","split","solo","infiniteMessageArea","chatControl","resize","overflow","then"],"sources":["../src/longChatPane.js"],"sourcesContent":["/* Long Chat Pane\n **\n ** A long chat consists a of a series of chat files saved by date.\n */\nimport { authn } from 'solid-logic'\nimport * as UI from 'solid-ui'\nimport * as $rdf from 'rdflib'\nconst ns = UI.ns\n\nconst mainClass = ns.meeting('LongChat') // @@ something from SIOC?\n\nconst CHAT_LOCATION_IN_CONTAINER = 'index.ttl#this'\n\n// const menuIcon = 'noun_897914.svg'\nconst SPANNER_ICON = 'noun_344563.svg'\n// resize: horizontal; min-width: 20em;\nconst SIDEBAR_COMPONENT_STYLE = UI.style.sidebarComponentStyle || ' padding: 0.5em; width: 100%;'\nconst SIDEBAR_STYLE = UI.style.sidebarStyle || 'overflow-x: auto; overflow-y: auto; border-radius: 1em; border: 0.1em solid white;'\n// was purple border\nexport const longChatPane = {\n CHAT_LOCATION_IN_CONTAINER,\n\n // noun_704.svg Canoe noun_346319.svg = 1 Chat noun_1689339.svg = three chat\n icon: UI.icons.iconBase + 'noun_1689339.svg',\n\n name: 'long chat',\n\n label: function (subject, context) {\n const kb = context.session.store\n if (kb.holds(subject, ns.rdf('type'), ns.meeting('LongChat'))) {\n // subject is the object\n return 'Chat channnel'\n } // Looks like a message -- might not havre any class declared\n if (\n kb.any(subject, ns.sioc('content')) &&\n kb.any(subject, ns.dct('created'))\n ) {\n return 'message'\n }\n return null // Suppress pane otherwise\n },\n\n mintClass: mainClass,\n\n mintNew: function (context, newPaneOptions) {\n const kb = context.session.store\n var updater = kb.updater\n if (newPaneOptions.me && !newPaneOptions.me.uri) {\n throw new Error('chat mintNew: Invalid userid ' + newPaneOptions.me)\n }\n\n var newInstance = (newPaneOptions.newInstance =\n newPaneOptions.newInstance ||\n kb.sym(newPaneOptions.newBase + CHAT_LOCATION_IN_CONTAINER))\n var newChatDoc = newInstance.doc()\n\n kb.add(newInstance, ns.rdf('type'), ns.meeting('LongChat'), newChatDoc)\n kb.add(newInstance, ns.dc('title'), 'Chat channel', newChatDoc)\n kb.add(newInstance, ns.dc('created'), new Date(), newChatDoc)\n if (newPaneOptions.me) {\n kb.add(newInstance, ns.dc('author'), newPaneOptions.me, newChatDoc)\n }\n\n return new Promise(function (resolve, reject) {\n updater.put(\n newChatDoc,\n kb.statementsMatching(undefined, undefined, undefined, newChatDoc),\n 'text/turtle',\n function (uri2, ok, message) {\n if (ok) {\n resolve(newPaneOptions)\n } else {\n reject(\n new Error(\n 'FAILED to save new chat channel at: ' + uri2 + ' : ' + message\n )\n )\n }\n }\n )\n })\n },\n\n render: function (subject, context, paneOptions) {\n const dom = context.dom\n const kb = context.session.store\n\n /* Preferences\n **\n ** Things like whether to color text by author webid, to expand image URLs inline,\n ** expanded inline image height. ...\n ** In general, preferences can be set per user, per user/app combo, per instance,\n ** and per instance/user combo. Per instance? not sure about unless it is valuable\n ** for everyone to be seeing the same thing.\n */\n // const DCT = $rdf.Namespace('http://purl.org/dc/terms/')\n const preferencesFormText = `\n @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.\n @prefix solid: <http://www.w3.org/ns/solid/terms#>.\n @prefix ui: <http://www.w3.org/ns/ui#>.\n @prefix : <#>.\n\n :this\n <http://purl.org/dc/elements/1.1/title> \"Chat preferences\" ;\n a ui:Form ;\n ui:parts ( :colorizeByAuthor :expandImagesInline :newestFirst :inlineImageHeightEms\n :shiftEnterSendsMessage :authorDateOnLeft :showDeletedMessages).\n\n :colorizeByAuthor a ui:TristateField; ui:property solid:colorizeByAuthor;\n ui:label \"Color user input by user\".\n\n :expandImagesInline a ui:TristateField; ui:property solid:expandImagesInline;\n ui:label \"Expand image URLs inline\".\n\n :newestFirst a ui:TristateField; ui:property solid:newestFirst;\n ui:label \"Newest messages at the top\".\n\n :inlineImageHeightEms a ui:IntegerField; ui:property solid:inlineImageHeightEms;\n ui:label \"Inline image height (lines)\".\n\n :shiftEnterSendsMessage a ui:TristateField; ui:property solid:shiftEnterSendsMessage;\n ui:label \"Shift-Enter sends message\".\n\n :authorDateOnLeft a ui:TristateField; ui:property solid:authorDateOnLeft;\n ui:label \"Author & date of message on left\".\n\n :showDeletedMessages a ui:TristateField; ui:property solid:showDeletedMessages;\n ui:label \"Show placeholders for deleted messages\".\n`\n const preferencesForm = kb.sym(\n 'https://solid.github.io/solid-panes/longCharPane/preferencesForm.ttl#this'\n )\n const preferencesFormDoc = preferencesForm.doc()\n if (!kb.holds(undefined, undefined, undefined, preferencesFormDoc)) {\n // If not loaded already\n $rdf.parse(preferencesFormText, kb, preferencesFormDoc.uri, 'text/turtle') // Load form directly\n }\n const preferenceProperties = kb\n .statementsMatching(null, ns.ui.property, null, preferencesFormDoc)\n .map(st => st.object)\n\n // Preferences Menu\n //\n // Build a menu a the side (@@ reactive: on top?)\n\n async function renderPreferencesSidebar (context) {\n // const noun = 'chat room'\n const { dom, noun } = context\n const preferencesArea = dom.createElement('div')\n preferencesArea.appendChild(panelCloseButton(preferencesArea))\n // @@ style below fix .. just make it onviious while testing\n preferencesArea.style = SIDEBAR_COMPONENT_STYLE\n preferencesArea.style.minWidth = '25em' // bit bigger\n preferencesArea.style.maxHeight = triptychHeight\n const menuTable = preferencesArea.appendChild(dom.createElement('table'))\n const registrationArea = menuTable.appendChild(dom.createElement('tr'))\n const statusArea = menuTable.appendChild(dom.createElement('tr'))\n\n var me = authn.currentUser()\n if (me) {\n await UI.login.registrationControl(\n { noun, me, statusArea, dom, div: registrationArea },\n chatChannel,\n mainClass\n )\n console.log('Registration control finsished.')\n preferencesArea.appendChild(\n UI.preferences.renderPreferencesForm(\n chatChannel,\n mainClass,\n preferencesForm,\n {\n noun,\n me,\n statusArea,\n div: preferencesArea,\n dom,\n kb\n }\n )\n )\n }\n return preferencesArea\n }\n\n // @@ Split out into solid-ui\n\n function panelCloseButton (panel) {\n function removePanel () {\n panel.parentNode.removeChild(panel)\n }\n const button =\n UI.widgets.button(context.dom, UI.icons.iconBase + 'noun_1180156.svg', 'close', removePanel)\n button.style.float = 'right'\n button.style.margin = '0.7em'\n delete button.style.backgroundColor // do not want white\n return button\n }\n async function preferencesButtonPressed (_event) {\n if (!preferencesArea) {\n // Expand\n preferencesArea = await renderPreferencesSidebar({ dom, noun: 'chat room' })\n }\n if (paneRight.contains(preferencesArea)) {\n // Close menu (hide or delete??)\n preferencesArea.parentNode.removeChild(preferencesArea)\n preferencesArea = null\n } else {\n paneRight.appendChild(preferencesArea)\n }\n } // preferencesButtonPressed\n\n // All my chats\n //\n /* Build a other chats list drawer the side\n */\n\n function renderCreationControl (refreshTarget, noun) {\n var creationDiv = dom.createElement('div')\n var me = authn.currentUser()\n var creationContext = {\n // folder: subject,\n div: creationDiv,\n dom: dom,\n noun: noun,\n statusArea: creationDiv,\n me: me,\n refreshTarget: refreshTarget\n }\n const chatPane = context.session.paneRegistry.byName('chat')\n const relevantPanes = [chatPane]\n UI.create.newThingUI(creationContext, context, relevantPanes) // Have to pass panes down newUI\n return creationDiv\n }\n\n async function renderInstances (theClass, noun) {\n const instancesDiv = dom.createElement('div')\n var context = { dom, div: instancesDiv, noun: noun }\n await UI.login.registrationList(context, { public: true, private: true, type: theClass })\n instancesDiv.appendChild(renderCreationControl(instancesDiv, noun))\n return instancesDiv\n }\n\n var otherChatsArea = null\n async function otherChatsHandler (_event) {\n if (!otherChatsArea) { // Lazy build when needed\n // Expand\n otherChatsArea = dom.createElement('div')\n otherChatsArea.style = SIDEBAR_COMPONENT_STYLE\n otherChatsArea.style.maxHeight = triptychHeight\n otherChatsArea.appendChild(panelCloseButton(otherChatsArea))\n\n otherChatsArea.appendChild(await renderInstances(ns.meeting('LongChat'), 'chat'))\n }\n // Toggle visibility with button clicks\n if (paneLeft.contains(otherChatsArea)) {\n otherChatsArea.parentNode.removeChild(otherChatsArea)\n } else {\n paneLeft.appendChild(otherChatsArea)\n }\n } // otherChatsHandler\n\n // People in the chat\n //\n /* Build a participants list drawer the side\n */\n var participantsArea\n function participantsHandler (_event) {\n if (!participantsArea) {\n // Expand\n participantsArea = dom.createElement('div')\n participantsArea.style = SIDEBAR_COMPONENT_STYLE\n participantsArea.style.maxHeight = triptychHeight\n participantsArea.appendChild(panelCloseButton(participantsArea))\n\n // Record my participation and display participants\n var me = authn.currentUser()\n if (!me) alert('Should be logeed in for partipants panel')\n UI.pad.manageParticipation(\n dom,\n participantsArea,\n chatChannel.doc(),\n chatChannel,\n me,\n {}\n )\n }\n // Toggle appearance in sidebar with clicks\n // Note also it can remove itself using the X button\n if (paneLeft.contains(participantsArea)) {\n // Close participants (hide or delete??)\n participantsArea.parentNode.removeChild(participantsArea)\n participantsArea = null\n } else {\n paneLeft.appendChild(participantsArea)\n }\n } // participantsHandler\n\n var chatChannel = subject\n var selectedMessage = null\n if (kb.holds(subject, ns.rdf('type'), ns.meeting('LongChat'))) {\n // subject is the chatChannel\n console.log('Chat channnel')\n\n // Looks like a message -- might not havre any class declared\n } else if (\n kb.any(subject, ns.sioc('content')) &&\n kb.any(subject, ns.dct('created'))\n ) {\n console.log('message')\n selectedMessage = subject\n chatChannel = kb.any(null, ns.wf('message'), selectedMessage)\n if (!chatChannel) throw new Error('Message has no link to chatChannel')\n }\n\n var div = dom.createElement('div')\n\n // Three large columns for particpant, chat, Preferences. formula below just as a note\n // const windowHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight\n const triptychHeight = '20cm' // @@ need to be able to set to window!\n var triptych = div.appendChild(dom.createElement('table'))\n triptych.style.maxHeight = '12\"' // Screen max\n var paneRow = triptych.appendChild(dom.createElement('tr'))\n var paneLeft = paneRow.appendChild(dom.createElement('td'))\n var paneMiddle = paneRow.appendChild(dom.createElement('td'))\n var paneRight = paneRow.appendChild(dom.createElement('td'))\n var paneBottom = triptych.appendChild(dom.createElement('tr'))\n paneLeft.style = SIDEBAR_STYLE\n paneLeft.style.paddingRight = '1em'\n paneRight.style = SIDEBAR_STYLE\n paneRight.style.paddingLeft = '1em'\n\n paneBottom.appendChild(dom.createElement('td'))\n const buttonCell = paneBottom.appendChild(dom.createElement('td'))\n paneBottom.appendChild(dom.createElement('td'))\n\n // Button to bring up participants drawer on left\n const participantsIcon = 'noun_339237.svg'\n var participantsButton = UI.widgets.button(\n dom,\n UI.icons.iconBase + participantsIcon,\n 'participants ...'\n ) // wider var\n buttonCell.appendChild(participantsButton)\n participantsButton.addEventListener('click', participantsHandler)\n\n // Button to bring up otherChats drawer on left\n const otherChatsIcon = 'noun_1689339.svg' // long chat icon -- not ideal for a set of chats @@\n var otherChatsButton = UI.widgets.button(\n dom,\n UI.icons.iconBase + otherChatsIcon,\n 'List of other chats ...'\n ) // wider var\n buttonCell.appendChild(otherChatsButton)\n otherChatsButton.addEventListener('click', otherChatsHandler)\n\n var preferencesArea = null\n const menuButton = UI.widgets.button(\n dom,\n UI.icons.iconBase + SPANNER_ICON,\n 'Setting ...'\n ) // wider var\n buttonCell.appendChild(menuButton)\n menuButton.style.float = 'right'\n menuButton.addEventListener('click', preferencesButtonPressed)\n\n div.setAttribute('class', 'chatPane')\n const options = { infinite: true }\n const participantsHandlerContext = { noun: 'chat room', div, dom: dom }\n participantsHandlerContext.me = authn.currentUser() // If already logged on\n\n async function buildPane () {\n let prefMap\n try {\n prefMap = await UI.preferences.getPreferencesForClass(\n chatChannel, mainClass, preferenceProperties, participantsHandlerContext)\n } catch (err) {\n UI.widgets.complain(participantsHandlerContext, err)\n }\n for (const propuri in prefMap) {\n options[propuri.split('#')[1]] = prefMap[propuri]\n }\n if (selectedMessage) {\n options.selectedMessage = selectedMessage\n }\n if (paneOptions.solo) {\n // This is the top pane, title, scrollbar etc are ours\n options.solo = true\n }\n const chatControl = await UI.infiniteMessageArea(\n dom,\n kb,\n chatChannel,\n options\n )\n chatControl.style.resize = 'both'\n chatControl.style.overflow = 'auto'\n chatControl.style.maxHeight = triptychHeight\n paneMiddle.appendChild(chatControl)\n }\n buildPane().then(console.log('async - chat pane built'))\n return div\n }\n}\n"],"mappings":"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"}
package/lib/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/main.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA","sourcesContent":["export { shortChatPane } from './shortChatPane'\nexport { longChatPane } from './longChatPane'\nexport { getChat } from './create'\n"],"file":"main.js"}
1
+ {"version":3,"file":"main.js","names":[],"sources":["../src/main.js"],"sourcesContent":["export { shortChatPane } from './shortChatPane'\nexport { longChatPane } from './longChatPane'\nexport { getChat } from './create'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/shortChatPane.js"],"names":["ns","UI","shortChatPane","icon","icons","iconBase","name","audience","solid","label","subject","context","kb","session","store","n","each","wf","length","holds","rdf","meeting","undefined","foaf","mintClass","mintNew","newPaneOptions","updater","me","uri","Error","newInstance","sym","newBase","newChatDoc","doc","add","dc","Date","Promise","resolve","reject","put","statementsMatching","uri2","ok","message","render","dom","complain","color","pre","createElement","setAttribute","div","appendChild","createTextNode","options","messageStore","any","ircLogQuery","query","$rdf","Query","v","vv","map","x","vars","push","variable","pat","chan","list","pred","msg","date","creator","content","messageArea","addDownstreamChangeListener","widgets","refreshTree"],"mappings":"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","sourcesContent":["/* Chat Pane\n **\n ** Plan is to support a finte number of chat graph shapes\n ** and investigate the interop between them.\n */\n/* global $rdf */\nimport { store } from 'solid-logic'\nimport * as UI from 'solid-ui'\n\nconst ns = UI.ns\n\nexport const shortChatPane = {\n icon: UI.icons.iconBase + 'noun_346319.svg',\n\n name: 'chat',\n\n /*\n * As part of the work on merging the existing chat views (aka panes) into one view\n * https://github.com/solid/chat-pane/issues/17\n * we want to dis-incentivize the use of Small Chat until we've gotten the work done\n * by making it difficult to create new data resources that uses the Small Chat view\n * but we still want existing resources to be viewed by the Small Chat view\n */\n audience: [ns.solid('PowerUser')],\n\n /* AN RRSAgent IRC log:\n\n <irc://localhost:6667/&mit>\n a foaf:ChatChannel\n foaf:chatEventList\n [ rdf:_100\n <#T19-10-58>\n rdf:_101\n <#T19-10-58-1>\n rdf:_102\n ..\n <#T19-28-47-1>\n dc:creator\n [ a wn:Person; foaf:nick \"timbl\" ]\n dc:date\n \"2016-03-15T19:28:47Z\"\n dc:description\n \"timbl has joined &mit\"\n a foaf:chatEvent.\n\n */\n\n label: function (subject, context) {\n const kb = context.session.store\n var n = kb.each(subject, ns.wf('message')).length\n if (n > 0) return 'Chat (' + n + ')' // Show how many in hover text\n\n if (kb.holds(subject, ns.rdf('type'), ns.meeting('Chat'))) {\n // subject is the file\n return 'Meeting chat'\n }\n if (kb.holds(undefined, ns.rdf('type'), ns.foaf('ChatChannel'), subject)) {\n // subject is the file\n return 'IRC log' // contains anything of this type\n }\n return null // Suppress pane otherwise\n },\n\n mintClass: ns.meeting('Chat'),\n\n mintNew: function (context, newPaneOptions) {\n const kb = context.session.store\n var updater = kb.updater\n if (newPaneOptions.me && !newPaneOptions.me.uri) {\n throw new Error('chat mintNew: Invalid userid ' + newPaneOptions.me)\n }\n\n var newInstance = (newPaneOptions.newInstance =\n newPaneOptions.newInstance ||\n kb.sym(newPaneOptions.newBase + 'index.ttl#this'))\n var newChatDoc = newInstance.doc()\n\n kb.add(newInstance, ns.rdf('type'), ns.meeting('Chat'), newChatDoc)\n kb.add(newInstance, ns.dc('title'), 'Chat', newChatDoc)\n kb.add(newInstance, ns.dc('created'), new Date(), newChatDoc)\n if (newPaneOptions.me) {\n kb.add(newInstance, ns.dc('author'), newPaneOptions.me, newChatDoc)\n }\n\n return new Promise(function (resolve, reject) {\n updater.put(\n newChatDoc,\n kb.statementsMatching(undefined, undefined, undefined, newChatDoc),\n 'text/turtle',\n function (uri2, ok, message) {\n if (ok) {\n resolve(newPaneOptions)\n } else {\n reject(\n new Error('FAILED to save new tool at: ' + uri2 + ' : ' + message)\n )\n }\n }\n )\n })\n },\n\n render: function (subject, context) {\n const kb = context.session.store\n const dom = context.dom\n var complain = function complain (message, color) {\n var pre = dom.createElement('pre')\n pre.setAttribute('style', 'background-color: ' + color || '#eed' + ';')\n div.appendChild(pre)\n pre.appendChild(dom.createTextNode(message))\n }\n\n var div = dom.createElement('div')\n div.setAttribute('class', 'chatPane')\n const options = {} // Like newestFirst\n var messageStore\n if (kb.holds(subject, ns.rdf('type'), ns.meeting('Chat'))) {\n // subject may be the file\n messageStore = subject.doc()\n } else if (kb.any(subject, UI.ns.wf('message'))) {\n messageStore = store.any(subject, UI.ns.wf('message')).doc()\n } else if (\n kb.holds(undefined, ns.rdf('type'), ns.foaf('ChatChannel'), subject) ||\n kb.holds(subject, ns.rdf('type'), ns.foaf('ChatChannel'))\n ) {\n // subject is the file\n var ircLogQuery = function () {\n var query = new $rdf.Query('IRC log entries')\n var v = []\n var vv = ['chan', 'msg', 'date', 'list', 'pred', 'creator', 'content']\n vv.map(function (x) {\n query.vars.push((v[x] = $rdf.variable(x)))\n })\n query.pat.add(v.chan, ns.foaf('chatEventList'), v.list) // chatEventList\n query.pat.add(v.list, v.pred, v.msg) //\n query.pat.add(v.msg, ns.dc('date'), v.date)\n query.pat.add(v.msg, ns.dc('creator'), v.creator)\n query.pat.add(v.msg, ns.dc('description'), v.content)\n return query\n }\n messageStore = subject.doc()\n options.query = ircLogQuery()\n } else {\n complain('Unknown chat type')\n }\n\n // var context = {dom, div}\n // UI.authn.logIn(context).then( context => { // The widget itself sees to login\n\n div.appendChild(UI.messageArea(dom, kb, subject, messageStore, options))\n kb.updater.addDownstreamChangeListener(messageStore, function () {\n UI.widgets.refreshTree(div)\n }) // Live update\n // })\n\n return div\n }\n}\n"],"file":"shortChatPane.js"}
1
+ {"version":3,"file":"shortChatPane.js","names":["ns","UI","shortChatPane","icon","icons","iconBase","name","audience","solid","label","subject","context","kb","session","store","n","each","wf","length","holds","rdf","meeting","undefined","foaf","mintClass","mintNew","newPaneOptions","updater","me","uri","Error","newInstance","sym","newBase","newChatDoc","doc","add","dc","Date","Promise","resolve","reject","put","statementsMatching","uri2","ok","message","render","dom","complain","color","pre","createElement","setAttribute","div","appendChild","createTextNode","options","messageStore","any","ircLogQuery","query","$rdf","Query","v","vv","map","x","vars","push","variable","pat","chan","list","pred","msg","date","creator","content","messageArea","addDownstreamChangeListener","widgets","refreshTree"],"sources":["../src/shortChatPane.js"],"sourcesContent":["/* Chat Pane\n **\n ** Plan is to support a finte number of chat graph shapes\n ** and investigate the interop between them.\n */\n/* global $rdf */\nimport { store } from 'solid-logic'\nimport * as UI from 'solid-ui'\n\nconst ns = UI.ns\n\nexport const shortChatPane = {\n icon: UI.icons.iconBase + 'noun_346319.svg',\n\n name: 'chat',\n\n /*\n * As part of the work on merging the existing chat views (aka panes) into one view\n * https://github.com/solid/chat-pane/issues/17\n * we want to dis-incentivize the use of Small Chat until we've gotten the work done\n * by making it difficult to create new data resources that uses the Small Chat view\n * but we still want existing resources to be viewed by the Small Chat view\n */\n audience: [ns.solid('PowerUser')],\n\n /* AN RRSAgent IRC log:\n\n <irc://localhost:6667/&mit>\n a foaf:ChatChannel\n foaf:chatEventList\n [ rdf:_100\n <#T19-10-58>\n rdf:_101\n <#T19-10-58-1>\n rdf:_102\n ..\n <#T19-28-47-1>\n dc:creator\n [ a wn:Person; foaf:nick \"timbl\" ]\n dc:date\n \"2016-03-15T19:28:47Z\"\n dc:description\n \"timbl has joined &mit\"\n a foaf:chatEvent.\n\n */\n\n label: function (subject, context) {\n const kb = context.session.store\n var n = kb.each(subject, ns.wf('message')).length\n if (n > 0) return 'Chat (' + n + ')' // Show how many in hover text\n\n if (kb.holds(subject, ns.rdf('type'), ns.meeting('Chat'))) {\n // subject is the file\n return 'Meeting chat'\n }\n if (kb.holds(undefined, ns.rdf('type'), ns.foaf('ChatChannel'), subject)) {\n // subject is the file\n return 'IRC log' // contains anything of this type\n }\n return null // Suppress pane otherwise\n },\n\n mintClass: ns.meeting('Chat'),\n\n mintNew: function (context, newPaneOptions) {\n const kb = context.session.store\n var updater = kb.updater\n if (newPaneOptions.me && !newPaneOptions.me.uri) {\n throw new Error('chat mintNew: Invalid userid ' + newPaneOptions.me)\n }\n\n var newInstance = (newPaneOptions.newInstance =\n newPaneOptions.newInstance ||\n kb.sym(newPaneOptions.newBase + 'index.ttl#this'))\n var newChatDoc = newInstance.doc()\n\n kb.add(newInstance, ns.rdf('type'), ns.meeting('Chat'), newChatDoc)\n kb.add(newInstance, ns.dc('title'), 'Chat', newChatDoc)\n kb.add(newInstance, ns.dc('created'), new Date(), newChatDoc)\n if (newPaneOptions.me) {\n kb.add(newInstance, ns.dc('author'), newPaneOptions.me, newChatDoc)\n }\n\n return new Promise(function (resolve, reject) {\n updater.put(\n newChatDoc,\n kb.statementsMatching(undefined, undefined, undefined, newChatDoc),\n 'text/turtle',\n function (uri2, ok, message) {\n if (ok) {\n resolve(newPaneOptions)\n } else {\n reject(\n new Error('FAILED to save new tool at: ' + uri2 + ' : ' + message)\n )\n }\n }\n )\n })\n },\n\n render: function (subject, context) {\n const kb = context.session.store\n const dom = context.dom\n var complain = function complain (message, color) {\n var pre = dom.createElement('pre')\n pre.setAttribute('style', 'background-color: ' + color || '#eed' + ';')\n div.appendChild(pre)\n pre.appendChild(dom.createTextNode(message))\n }\n\n var div = dom.createElement('div')\n div.setAttribute('class', 'chatPane')\n const options = {} // Like newestFirst\n var messageStore\n if (kb.holds(subject, ns.rdf('type'), ns.meeting('Chat'))) {\n // subject may be the file\n messageStore = subject.doc()\n } else if (kb.any(subject, UI.ns.wf('message'))) {\n messageStore = store.any(subject, UI.ns.wf('message')).doc()\n } else if (\n kb.holds(undefined, ns.rdf('type'), ns.foaf('ChatChannel'), subject) ||\n kb.holds(subject, ns.rdf('type'), ns.foaf('ChatChannel'))\n ) {\n // subject is the file\n var ircLogQuery = function () {\n var query = new $rdf.Query('IRC log entries')\n var v = []\n var vv = ['chan', 'msg', 'date', 'list', 'pred', 'creator', 'content']\n vv.map(function (x) {\n query.vars.push((v[x] = $rdf.variable(x)))\n })\n query.pat.add(v.chan, ns.foaf('chatEventList'), v.list) // chatEventList\n query.pat.add(v.list, v.pred, v.msg) //\n query.pat.add(v.msg, ns.dc('date'), v.date)\n query.pat.add(v.msg, ns.dc('creator'), v.creator)\n query.pat.add(v.msg, ns.dc('description'), v.content)\n return query\n }\n messageStore = subject.doc()\n options.query = ircLogQuery()\n } else {\n complain('Unknown chat type')\n }\n\n // var context = {dom, div}\n // UI.authn.logIn(context).then( context => { // The widget itself sees to login\n\n div.appendChild(UI.messageArea(dom, kb, subject, messageStore, options))\n kb.updater.addDownstreamChangeListener(messageStore, function () {\n UI.widgets.refreshTree(div)\n }) // Live update\n // })\n\n return div\n }\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "chat-pane",
3
- "version": "2.4.18",
3
+ "version": "2.4.19",
4
4
  "description": "Solid-compatible Panes: Chat",
5
5
  "main": "./lib/main.js",
6
6
  "files": [
@@ -45,25 +45,25 @@
45
45
  },
46
46
  "homepage": "https://github.com/solid/chat-pane",
47
47
  "dependencies": {
48
- "rdflib": "^2.2.19",
49
- "solid-logic": "^1.3.17",
50
- "solid-ui": "^2.4.22"
48
+ "rdflib": "^2.2.20",
49
+ "solid-logic": "^2.0.0",
50
+ "solid-ui": "2.4.23"
51
51
  },
52
52
  "devDependencies": {
53
- "@babel/cli": "^7.17.6",
54
- "@babel/core": "^7.17.9",
55
- "@babel/preset-env": "^7.16.11",
56
- "@babel/preset-typescript": "^7.16.7",
57
- "babel-loader": "^8.2.4",
53
+ "@babel/cli": "^7.18.10",
54
+ "@babel/core": "^7.18.13",
55
+ "@babel/preset-env": "^7.18.10",
56
+ "@babel/preset-typescript": "^7.18.6",
57
+ "babel-loader": "^8.2.5",
58
58
  "buffer": "^6.0.3",
59
- "eslint": "^8.13.0",
59
+ "eslint": "^8.23.0",
60
60
  "html-webpack-plugin": "^5.5.0",
61
61
  "husky": "^7.0.4",
62
- "lint-staged": "^12.3.7",
63
- "typescript": "^4.6.3",
64
- "webpack": "^5.72.0",
65
- "webpack-cli": "^4.9.2",
66
- "webpack-dev-server": "^4.8.1"
62
+ "lint-staged": "^12.5.0",
63
+ "typescript": "^4.8.2",
64
+ "webpack": "^5.74.0",
65
+ "webpack-cli": "^4.10.0",
66
+ "webpack-dev-server": "^4.10.1"
67
67
  },
68
68
  "husky": {
69
69
  "hooks": {