solid-ui 2.5.1 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/README.md +4 -0
  2. package/dist/841.solid-ui.min.js +1 -1
  3. package/dist/841.solid-ui.min.js.map +1 -1
  4. package/dist/_2b19.solid-ui.js.map +1 -1
  5. package/dist/solid-ui.js +42754 -45728
  6. package/dist/solid-ui.js.map +1 -1
  7. package/dist/solid-ui.min.js +1 -1
  8. package/dist/solid-ui.min.js.LICENSE.txt +1 -5
  9. package/dist/solid-ui.min.js.map +1 -1
  10. package/lib/acl/access-controller.js +48 -49
  11. package/lib/acl/access-controller.js.map +1 -1
  12. package/lib/acl/access-groups.js +40 -40
  13. package/lib/acl/access-groups.js.map +1 -1
  14. package/lib/acl/acl-control.js +18 -19
  15. package/lib/acl/acl-control.js.map +1 -1
  16. package/lib/acl/acl.js +4 -5
  17. package/lib/acl/acl.js.map +1 -1
  18. package/lib/acl/add-agent-buttons.js +51 -52
  19. package/lib/acl/add-agent-buttons.js.map +1 -1
  20. package/lib/chat/bookmarks.js +76 -77
  21. package/lib/chat/bookmarks.js.map +1 -1
  22. package/lib/chat/chatLogic.js +74 -75
  23. package/lib/chat/chatLogic.js.map +1 -1
  24. package/lib/chat/dateFolder.js +66 -67
  25. package/lib/chat/dateFolder.js.map +1 -1
  26. package/lib/chat/infinite.js +218 -220
  27. package/lib/chat/infinite.js.map +1 -1
  28. package/lib/chat/keys.js +62 -63
  29. package/lib/chat/keys.js.map +1 -1
  30. package/lib/chat/message.js +98 -100
  31. package/lib/chat/message.js.map +1 -1
  32. package/lib/chat/messageTools.js +99 -100
  33. package/lib/chat/messageTools.js.map +1 -1
  34. package/lib/chat/signature.d.ts.map +1 -1
  35. package/lib/chat/signature.js +0 -1
  36. package/lib/chat/signature.js.map +1 -1
  37. package/lib/chat/thread.js +57 -61
  38. package/lib/chat/thread.js.map +1 -1
  39. package/lib/create/create.js +1 -2
  40. package/lib/create/create.js.map +1 -1
  41. package/lib/folders.js +1 -4
  42. package/lib/folders.js.map +1 -1
  43. package/lib/footer/index.d.ts.map +1 -1
  44. package/lib/footer/index.js +14 -16
  45. package/lib/footer/index.js.map +1 -1
  46. package/lib/header/index.js +34 -36
  47. package/lib/header/index.js.map +1 -1
  48. package/lib/iconBase.d.ts.map +1 -1
  49. package/lib/iconBase.js +0 -1
  50. package/lib/iconBase.js.map +1 -1
  51. package/lib/index.d.ts +1 -1
  52. package/lib/index.d.ts.map +1 -1
  53. package/lib/index.js +5 -5
  54. package/lib/index.js.map +1 -1
  55. package/lib/log.d.ts +7 -7
  56. package/lib/log.d.ts.map +1 -1
  57. package/lib/log.js +2 -2
  58. package/lib/log.js.map +1 -1
  59. package/lib/login/login.js +217 -222
  60. package/lib/login/login.js.map +1 -1
  61. package/lib/matrix/matrix.js +1 -2
  62. package/lib/matrix/matrix.js.map +1 -1
  63. package/lib/matrix/types.js.map +1 -1
  64. package/lib/media/media-capture.js +3 -4
  65. package/lib/media/media-capture.js.map +1 -1
  66. package/lib/messageArea.js +1 -4
  67. package/lib/messageArea.js.map +1 -1
  68. package/lib/ns.js +1 -2
  69. package/lib/ns.js.map +1 -1
  70. package/lib/pad.js +1 -2
  71. package/lib/pad.js.map +1 -1
  72. package/lib/participation.js +1 -2
  73. package/lib/participation.js.map +1 -1
  74. package/lib/preferences.js +1 -2
  75. package/lib/preferences.js.map +1 -1
  76. package/lib/table.js +1 -2
  77. package/lib/table.js.map +1 -1
  78. package/lib/tabs.d.ts.map +1 -1
  79. package/lib/tabs.js +1 -2
  80. package/lib/tabs.js.map +1 -1
  81. package/lib/utils/headerFooterHelpers.d.ts.map +1 -1
  82. package/lib/utils/headerFooterHelpers.js +36 -36
  83. package/lib/utils/headerFooterHelpers.js.map +1 -1
  84. package/lib/utils/index.js +1 -2
  85. package/lib/utils/index.js.map +1 -1
  86. package/lib/utils/keyHelpers/accessData.d.ts.map +1 -1
  87. package/lib/utils/keyHelpers/accessData.js +33 -34
  88. package/lib/utils/keyHelpers/accessData.js.map +1 -1
  89. package/lib/utils/keyHelpers/acl.d.ts.map +1 -1
  90. package/lib/utils/keyHelpers/acl.js +21 -22
  91. package/lib/utils/keyHelpers/acl.js.map +1 -1
  92. package/lib/utils/keyHelpers/otherHelpers.d.ts.map +1 -1
  93. package/lib/utils/keyHelpers/otherHelpers.js +1 -2
  94. package/lib/utils/keyHelpers/otherHelpers.js.map +1 -1
  95. package/lib/utils/label.js +1 -2
  96. package/lib/utils/label.js.map +1 -1
  97. package/lib/versionInfo.d.ts +4 -3
  98. package/lib/versionInfo.d.ts.map +1 -1
  99. package/lib/versionInfo.js +30 -30
  100. package/lib/versionInfo.js.map +1 -1
  101. package/lib/widgets/buttons/iconLinks.d.ts.map +1 -1
  102. package/lib/widgets/buttons/iconLinks.js +2 -2
  103. package/lib/widgets/buttons/iconLinks.js.map +1 -1
  104. package/lib/widgets/buttons.d.ts +1 -1
  105. package/lib/widgets/buttons.d.ts.map +1 -1
  106. package/lib/widgets/buttons.js +1 -3
  107. package/lib/widgets/buttons.js.map +1 -1
  108. package/lib/widgets/dragAndDrop.js +1 -2
  109. package/lib/widgets/dragAndDrop.js.map +1 -1
  110. package/lib/widgets/error.js +1 -2
  111. package/lib/widgets/error.js.map +1 -1
  112. package/lib/widgets/forms/autocomplete/autocompleteBar.js +47 -48
  113. package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +1 -1
  114. package/lib/widgets/forms/autocomplete/autocompleteField.js +38 -39
  115. package/lib/widgets/forms/autocomplete/autocompleteField.js.map +1 -1
  116. package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts.map +1 -1
  117. package/lib/widgets/forms/autocomplete/autocompletePicker.js +44 -45
  118. package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +1 -1
  119. package/lib/widgets/forms/autocomplete/language.js +23 -24
  120. package/lib/widgets/forms/autocomplete/language.js.map +1 -1
  121. package/lib/widgets/forms/autocomplete/publicData.d.ts.map +1 -1
  122. package/lib/widgets/forms/autocomplete/publicData.js +91 -93
  123. package/lib/widgets/forms/autocomplete/publicData.js.map +1 -1
  124. package/lib/widgets/forms/basic.js +2 -3
  125. package/lib/widgets/forms/basic.js.map +1 -1
  126. package/lib/widgets/forms/comment.js +1 -2
  127. package/lib/widgets/forms/comment.js.map +1 -1
  128. package/lib/widgets/forms/fieldParams.js +1 -2
  129. package/lib/widgets/forms/fieldParams.js.map +1 -1
  130. package/lib/widgets/forms/formStyle.js +1 -2
  131. package/lib/widgets/forms/formStyle.js.map +1 -1
  132. package/lib/widgets/forms.js +79 -80
  133. package/lib/widgets/forms.js.map +1 -1
  134. package/lib/widgets/index.js +1 -2
  135. package/lib/widgets/index.js.map +1 -1
  136. package/lib/widgets/multiSelect.js +1 -2
  137. package/lib/widgets/multiSelect.js.map +1 -1
  138. package/lib/widgets/peoplePicker.js +1 -2
  139. package/lib/widgets/peoplePicker.js.map +1 -1
  140. package/lib/widgets/widgetHelpers.d.ts.map +1 -1
  141. package/lib/widgets/widgetHelpers.js +3 -3
  142. package/lib/widgets/widgetHelpers.js.map +1 -1
  143. package/package.json +57 -57
@@ -26,8 +26,7 @@ var _pad = require("./pad");
26
26
  var style = _interopRequireWildcard(require("./style"));
27
27
  var _styleConstants = _interopRequireDefault(require("./styleConstants"));
28
28
  var _solidLogic = require("solid-logic");
29
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
30
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
29
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
31
30
  function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
32
31
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
33
32
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
@@ -1 +1 @@
1
- {"version":3,"file":"participation.js","names":["_debug","_interopRequireWildcard","require","debug","_rdflib","ns","_widgets","_utils","_pad","style","_styleConstants","_interopRequireDefault","_solidLogic","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_createForOfIteratorHelper","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","done","value","f","TypeError","o","next","_arrayLikeToArray","toString","slice","constructor","name","from","test","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","apply","Boolean","prototype","valueOf","ParticipationTableElement","_HTMLTableElement","_this","_classCallCheck2","_len","arguments","args","_key","concat","_defineProperty2","_inherits2","_createClass2","_wrapNativeSuper2","HTMLTableElement","store","solidLogicSingleton","renderParticipants","dom","table","unused1","subject","unused2","options","setAttribute","participantsStyle","newRowForParticipation","parp","person","any","wf","tr","createElement","textContent","bg","anyValue","ui","styleConstants","participationDefaultBackground","block","participantsBlock","backgroundColor","personTR","appendChild","td","personTableTD","insertBefore","firstChild","syncTable","parps","each","map","log","cal","sort","participations","p","syncTableToArray","refresh","participationObject","padDoc","me","Promise","resolve","reject","Error","filter","pn","holds","candidates","_iterator","_step","participation","date","push","err","warn","newThing","ins","st","Date","lightColorHash","updater","update","uri","ok","errorMessage","recordParticipation","refreshable","authn","currentUser","editable","manageParticipation","container","_participation","errorMessageBlock"],"sources":["../src/participation.ts"],"sourcesContent":["/* Manage a UI for the participation of a person in any thing\n*/\n\n// import { currentUser } from './authn/authn'\nimport * as debug from './debug'\nimport { LiveStore, NamedNode, st, UpdateManager } from 'rdflib'\nimport * as ns from './ns'\nimport { personTR, newThing, errorMessageBlock } from './widgets'\nimport { syncTableToArray } from './utils'\nimport { lightColorHash } from './pad'\nimport { log } from './debug'\nimport * as style from './style'\nimport styleConstants from './styleConstants'\nimport { solidLogicSingleton, authn } from 'solid-logic'\n\ntype ParticipationOptions = {\n deleteFunction?: () => {}\n link?: string\n draggable?: boolean\n}\n\nclass ParticipationTableElement extends HTMLTableElement {\n refresh?: () => void\n}\nconst store = solidLogicSingleton.store as LiveStore\n\n/** Manage participation in this session\n*\n* @param {Document} dom - the web page loaded into the browser\n* @param {HTMLTableElement} table - the table element\n* @param {NamedNode} unused1/document - the document to render (this argument is no longer used, but left in for backwards compatibility)\n* @param {NamedNode} subject - the thing in which the participation is happening\n* @param {NamedNode} unused2/me - user that is logged into the pod (this argument is no longer used, but left in for backwards compatibility)\n* @param {ParticipationOptions} options - the options that can be passed in are deleteFunction, link, and draggable; these are used by the personTR button\n*/\nexport function renderParticipants (dom: HTMLDocument, table: ParticipationTableElement, unused1: NamedNode, subject: NamedNode, unused2: NamedNode, options: ParticipationOptions) {\n table.setAttribute('style', style.participantsStyle)\n\n const newRowForParticipation = function (parp) {\n const person = store.any(parp, ns.wf('participant'))\n\n let tr\n if (!person) {\n tr = dom.createElement('tr')\n tr.textContent = '???' // Don't crash - invalid part'n entry\n return tr\n }\n const bg = store.anyValue(parp, ns.ui('backgroundColor')) || styleConstants.participationDefaultBackground\n\n const block = dom.createElement('div')\n block.setAttribute(\n 'style', style.participantsBlock)\n block.style.backgroundColor = bg\n\n tr = personTR(dom, null, person, options)\n table.appendChild(tr)\n const td = dom.createElement('td')\n td.setAttribute('style', style.personTableTD)\n td.appendChild(block)\n tr.insertBefore(td, tr.firstChild)\n return tr\n }\n\n const syncTable = function () {\n const parps = store.each(subject, ns.wf('participation')).map(function (parp) {\n log('in participants')\n return [store.anyValue(parp as any, ns.cal('dtstart')) || '9999-12-31', parp]\n })\n parps.sort() // List in order of joining\n const participations = parps.map(function (p) {\n return p[1]\n })\n syncTableToArray(table, participations, newRowForParticipation)\n }\n table.refresh = syncTable\n syncTable()\n return table\n}\n\n/** Record, or find old, Participation object\n *\n * A participation object is a place to record things specifically about\n * subject and the user, such as preferences, start of membership, etc\n * @param {NamedNode} subject - the thing in which the participation is happening\n * @param {NamedNode} document - where to record the data\n * @param {NamedNode} me - the logged in user\n *\n */\nexport function participationObject (subject: NamedNode, padDoc: NamedNode, me: NamedNode) {\n return new Promise(function (resolve, reject) {\n if (!me) {\n throw new Error('No user id')\n }\n\n const parps = store.each(subject, ns.wf('participation')).filter(function (pn) {\n return store.holds(pn, ns.wf('participant'), me)\n })\n if (parps.length > 1) { // This can happen. https://github.com/solidos/chat-pane/issues/71\n const candidates: (string | NamedNode) [][] = []\n for (const participation of parps) {\n const date = store.anyValue(participation as NamedNode, ns.cal('dtstart'))\n if (date) {\n candidates.push([date, participation as NamedNode])\n }\n }\n candidates.sort() // Pick the earliest\n // @@ Possibly, for extra credit, delete the others, if we have write access\n debug.warn('Multiple participation objects, picking earliest, in ' + padDoc)\n resolve(candidates[0][1])\n // throw new Error('Multiple records of your participation')\n }\n if (parps.length) {\n // If I am not already recorded\n resolve(parps[0]) // returns the participation object\n } else {\n const participation = newThing(padDoc)\n const ins = [\n st(subject, ns.wf('participation'), participation, padDoc),\n\n st(participation, ns.wf('participant'), me, padDoc),\n st(participation, ns.cal('dtstart'), new Date() as any, padDoc),\n st(\n participation,\n ns.ui('backgroundColor'),\n lightColorHash(me) as any,\n padDoc\n )\n ];\n (store.updater as UpdateManager).update([], ins, function (uri: string | null | undefined, ok: boolean, errorMessage?: string) {\n if (!ok) {\n reject(new Error('Error recording your participation: ' + errorMessage))\n } else {\n resolve(participation)\n }\n })\n resolve(participation)\n }\n })\n}\n\n/** Record my participation and display participants\n *\n * @param {NamedNode} subject - the thing in which participation is happening\n * @param {NamedNode} padDoc - the document into which the participation should be recorded\n * @param {DOMNode} refreshable - a DOM element whose refresh() is to be called if the change works\n *\n */\nexport function recordParticipation (subject: NamedNode, padDoc: NamedNode, refreshable: any) {\n const me = authn.currentUser()\n if (!me) return // Not logged in\n\n const parps = store.each(subject, ns.wf('participation')).filter(function (pn) {\n return store.holds(pn, ns.wf('participant'), me)\n })\n if (parps.length > 1) {\n throw new Error('Multiple records of your participation')\n }\n if (parps.length) {\n // If I am not already recorded\n return parps[0] // returns the participation object\n } else {\n if (!(store.updater as UpdateManager).editable(padDoc)) {\n debug.log('Not recording participation, as no write access as ' + me + ' to ' + padDoc)\n return null\n }\n const participation = newThing(padDoc)\n const ins = [\n st(subject, ns.wf('participation'), participation, padDoc),\n\n st(participation, ns.wf('participant'), me, padDoc),\n st(participation, ns.cal('dtstart'), new Date() as any, padDoc),\n st(\n participation,\n ns.ui('backgroundColor'),\n lightColorHash(me) as any,\n padDoc\n )\n ];\n (store.updater as UpdateManager).update([], ins, function (uri: string | null | undefined, ok: boolean, errorMessage?: string) {\n if (!ok) {\n throw new Error('Error recording your participation: ' + errorMessage)\n }\n if (refreshable && refreshable.refresh) {\n refreshable.refresh()\n }\n })\n return participation\n }\n}\n\n/** Record my participation and display participants\n*\n* @param {Document} dom - the web page loaded into the browser\n* @param {HTMLDivElement} container - the container element where the participants should be displayed\n* @param {NamedNode} document - the document into which the participation should be shown\n* @param {NamedNode} subject - the thing in which participation is happening\n* @param {NamedNode} me - the logged in user\n* @param {ParticipationOptions} options - the options that can be passed in are deleteFunction, link, and draggable; these are used by the personTR button\n*\n*/\nexport function manageParticipation (\n dom: Document,\n container: HTMLDivElement,\n padDoc: NamedNode,\n subject: NamedNode,\n me: NamedNode,\n options: ParticipationOptions\n) {\n const table = dom.createElement('table')\n container.appendChild(table)\n renderParticipants(dom, table, padDoc, subject, me, options)\n let _participation\n try {\n _participation = recordParticipation(subject, padDoc, table)\n } catch (e) {\n container.appendChild(\n errorMessageBlock(\n dom,\n 'Error recording your participation: ' + e\n )\n ) // Clean up?\n }\n return table\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"participation.js","names":["_debug","_interopRequireWildcard","require","debug","_rdflib","ns","_widgets","_utils","_pad","style","_styleConstants","_interopRequireDefault","_solidLogic","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_createForOfIteratorHelper","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","done","value","TypeError","a","u","next","_arrayLikeToArray","toString","slice","constructor","name","from","test","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","apply","Boolean","prototype","valueOf","ParticipationTableElement","_HTMLTableElement","_this","_classCallCheck2","_len","arguments","args","_key","concat","_defineProperty2","_inherits2","_createClass2","_wrapNativeSuper2","HTMLTableElement","store","solidLogicSingleton","renderParticipants","dom","table","unused1","subject","unused2","options","setAttribute","participantsStyle","newRowForParticipation","parp","person","any","wf","tr","createElement","textContent","bg","anyValue","ui","styleConstants","participationDefaultBackground","block","participantsBlock","backgroundColor","personTR","appendChild","td","personTableTD","insertBefore","firstChild","syncTable","parps","each","map","log","cal","sort","participations","p","syncTableToArray","refresh","participationObject","padDoc","me","Promise","resolve","reject","Error","filter","pn","holds","candidates","_iterator","_step","participation","date","push","err","warn","newThing","ins","st","Date","lightColorHash","updater","update","uri","ok","errorMessage","recordParticipation","refreshable","authn","currentUser","editable","manageParticipation","container","_participation","errorMessageBlock"],"sources":["../src/participation.ts"],"sourcesContent":["/* Manage a UI for the participation of a person in any thing\n*/\n\n// import { currentUser } from './authn/authn'\nimport * as debug from './debug'\nimport { LiveStore, NamedNode, st, UpdateManager } from 'rdflib'\nimport * as ns from './ns'\nimport { personTR, newThing, errorMessageBlock } from './widgets'\nimport { syncTableToArray } from './utils'\nimport { lightColorHash } from './pad'\nimport { log } from './debug'\nimport * as style from './style'\nimport styleConstants from './styleConstants'\nimport { solidLogicSingleton, authn } from 'solid-logic'\n\ntype ParticipationOptions = {\n deleteFunction?: () => {}\n link?: string\n draggable?: boolean\n}\n\nclass ParticipationTableElement extends HTMLTableElement {\n refresh?: () => void\n}\nconst store = solidLogicSingleton.store as LiveStore\n\n/** Manage participation in this session\n*\n* @param {Document} dom - the web page loaded into the browser\n* @param {HTMLTableElement} table - the table element\n* @param {NamedNode} unused1/document - the document to render (this argument is no longer used, but left in for backwards compatibility)\n* @param {NamedNode} subject - the thing in which the participation is happening\n* @param {NamedNode} unused2/me - user that is logged into the pod (this argument is no longer used, but left in for backwards compatibility)\n* @param {ParticipationOptions} options - the options that can be passed in are deleteFunction, link, and draggable; these are used by the personTR button\n*/\nexport function renderParticipants (dom: HTMLDocument, table: ParticipationTableElement, unused1: NamedNode, subject: NamedNode, unused2: NamedNode, options: ParticipationOptions) {\n table.setAttribute('style', style.participantsStyle)\n\n const newRowForParticipation = function (parp) {\n const person = store.any(parp, ns.wf('participant'))\n\n let tr\n if (!person) {\n tr = dom.createElement('tr')\n tr.textContent = '???' // Don't crash - invalid part'n entry\n return tr\n }\n const bg = store.anyValue(parp, ns.ui('backgroundColor')) || styleConstants.participationDefaultBackground\n\n const block = dom.createElement('div')\n block.setAttribute(\n 'style', style.participantsBlock)\n block.style.backgroundColor = bg\n\n tr = personTR(dom, null, person, options)\n table.appendChild(tr)\n const td = dom.createElement('td')\n td.setAttribute('style', style.personTableTD)\n td.appendChild(block)\n tr.insertBefore(td, tr.firstChild)\n return tr\n }\n\n const syncTable = function () {\n const parps = store.each(subject, ns.wf('participation')).map(function (parp) {\n log('in participants')\n return [store.anyValue(parp as any, ns.cal('dtstart')) || '9999-12-31', parp]\n })\n parps.sort() // List in order of joining\n const participations = parps.map(function (p) {\n return p[1]\n })\n syncTableToArray(table, participations, newRowForParticipation)\n }\n table.refresh = syncTable\n syncTable()\n return table\n}\n\n/** Record, or find old, Participation object\n *\n * A participation object is a place to record things specifically about\n * subject and the user, such as preferences, start of membership, etc\n * @param {NamedNode} subject - the thing in which the participation is happening\n * @param {NamedNode} document - where to record the data\n * @param {NamedNode} me - the logged in user\n *\n */\nexport function participationObject (subject: NamedNode, padDoc: NamedNode, me: NamedNode) {\n return new Promise(function (resolve, reject) {\n if (!me) {\n throw new Error('No user id')\n }\n\n const parps = store.each(subject, ns.wf('participation')).filter(function (pn) {\n return store.holds(pn, ns.wf('participant'), me)\n })\n if (parps.length > 1) { // This can happen. https://github.com/solidos/chat-pane/issues/71\n const candidates: (string | NamedNode) [][] = []\n for (const participation of parps) {\n const date = store.anyValue(participation as NamedNode, ns.cal('dtstart'))\n if (date) {\n candidates.push([date, participation as NamedNode])\n }\n }\n candidates.sort() // Pick the earliest\n // @@ Possibly, for extra credit, delete the others, if we have write access\n debug.warn('Multiple participation objects, picking earliest, in ' + padDoc)\n resolve(candidates[0][1])\n // throw new Error('Multiple records of your participation')\n }\n if (parps.length) {\n // If I am not already recorded\n resolve(parps[0]) // returns the participation object\n } else {\n const participation = newThing(padDoc)\n const ins = [\n st(subject, ns.wf('participation'), participation, padDoc),\n\n st(participation, ns.wf('participant'), me, padDoc),\n st(participation, ns.cal('dtstart'), new Date() as any, padDoc),\n st(\n participation,\n ns.ui('backgroundColor'),\n lightColorHash(me) as any,\n padDoc\n )\n ];\n (store.updater as UpdateManager).update([], ins, function (uri: string | null | undefined, ok: boolean, errorMessage?: string) {\n if (!ok) {\n reject(new Error('Error recording your participation: ' + errorMessage))\n } else {\n resolve(participation)\n }\n })\n resolve(participation)\n }\n })\n}\n\n/** Record my participation and display participants\n *\n * @param {NamedNode} subject - the thing in which participation is happening\n * @param {NamedNode} padDoc - the document into which the participation should be recorded\n * @param {DOMNode} refreshable - a DOM element whose refresh() is to be called if the change works\n *\n */\nexport function recordParticipation (subject: NamedNode, padDoc: NamedNode, refreshable: any) {\n const me = authn.currentUser()\n if (!me) return // Not logged in\n\n const parps = store.each(subject, ns.wf('participation')).filter(function (pn) {\n return store.holds(pn, ns.wf('participant'), me)\n })\n if (parps.length > 1) {\n throw new Error('Multiple records of your participation')\n }\n if (parps.length) {\n // If I am not already recorded\n return parps[0] // returns the participation object\n } else {\n if (!(store.updater as UpdateManager).editable(padDoc)) {\n debug.log('Not recording participation, as no write access as ' + me + ' to ' + padDoc)\n return null\n }\n const participation = newThing(padDoc)\n const ins = [\n st(subject, ns.wf('participation'), participation, padDoc),\n\n st(participation, ns.wf('participant'), me, padDoc),\n st(participation, ns.cal('dtstart'), new Date() as any, padDoc),\n st(\n participation,\n ns.ui('backgroundColor'),\n lightColorHash(me) as any,\n padDoc\n )\n ];\n (store.updater as UpdateManager).update([], ins, function (uri: string | null | undefined, ok: boolean, errorMessage?: string) {\n if (!ok) {\n throw new Error('Error recording your participation: ' + errorMessage)\n }\n if (refreshable && refreshable.refresh) {\n refreshable.refresh()\n }\n })\n return participation\n }\n}\n\n/** Record my participation and display participants\n*\n* @param {Document} dom - the web page loaded into the browser\n* @param {HTMLDivElement} container - the container element where the participants should be displayed\n* @param {NamedNode} document - the document into which the participation should be shown\n* @param {NamedNode} subject - the thing in which participation is happening\n* @param {NamedNode} me - the logged in user\n* @param {ParticipationOptions} options - the options that can be passed in are deleteFunction, link, and draggable; these are used by the personTR button\n*\n*/\nexport function manageParticipation (\n dom: Document,\n container: HTMLDivElement,\n padDoc: NamedNode,\n subject: NamedNode,\n me: NamedNode,\n options: ParticipationOptions\n) {\n const table = dom.createElement('table')\n container.appendChild(table)\n renderParticipants(dom, table, padDoc, subject, me, options)\n let _participation\n try {\n _participation = recordParticipation(subject, padDoc, table)\n } catch (e) {\n container.appendChild(\n errorMessageBlock(\n dom,\n 'Error recording your participation: ' + e\n )\n ) // Clean up?\n }\n return table\n}\n"],"mappings":"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","ignoreList":[]}
@@ -18,8 +18,7 @@ var _login = require("./login/login");
18
18
  var ns = _interopRequireWildcard(require("./ns"));
19
19
  var participation = _interopRequireWildcard(require("./participation"));
20
20
  var widgets = _interopRequireWildcard(require("./widgets"));
21
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
22
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
21
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
23
22
  // Solid-UI preferences
24
23
  // =====================
25
24
  //
@@ -1 +1 @@
1
- {"version":3,"file":"preferences.js","names":["$rdf","_interopRequireWildcard","require","_solidLogic","debug","_login","ns","participation","widgets","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","kb","store","value","exports","k","v","log","Error","recordSharedPreferences","subject","context","Promise","resolve","reject","sharedPreferences","any","ui","updater","editable","doc","concat","sp","sym","uri","ins","st","update","ok","errorMessage","recordPersonalDefaults","theClass","ensureLoadedPreferences","then","preferencesFile","preferencesFileError","regs","each","solid","prefs","reg","length","forEach","personalDefaults","newThing","rdf","push","errm","err","renderPreferencesForm","preferencesForm","prefContainer","dom","createElement","participationObject","me","heading","text","appendChild","textContent","noun","appendForm","mes","complain","errorMessageBlock","toJS","term","datatype","equals","xsd","Date","Number","getPreferencesForClass","predicates","results","pred","v1"],"sources":["../src/preferences.js"],"sourcesContent":["// Solid-UI preferences\n// =====================\n//\n\nimport * as $rdf from 'rdflib' // pull in first avoid cross-refs\nimport { store } from 'solid-logic'\nimport * as debug from './debug'\nimport { ensureLoadedPreferences } from './login/login'\nimport * as ns from './ns'\nimport * as participation from './participation' // @ts-ignore\nimport * as widgets from './widgets'\n\nconst kb = store\n\n// This was tabulator . preferences in the tabulator\n// Is this functionality used anywhere?\n//\n\n// used for storing user name\n// @@ Deprocate these functions. They were used for\n// communication around the tabulator functionality about the user session\n\nexport const value = []\nexport function get (k) {\n return value[k]\n}\n\nexport function set (k, v) {\n if (typeof v !== 'string') {\n debug.log('Non-string value of preference ' + k + ': ' + v)\n throw new Error('Non-string value of preference ' + k + ': ' + v)\n }\n this.value[k] = v\n}\n\n// In a solid world, Preferences are stored in the web\n//\n// Make an RDF node for recording the common view preferences for any object\n// (maybe make it in a separate file?)\nexport function recordSharedPreferences (subject, context) {\n return new Promise(function (resolve, reject) {\n const sharedPreferences = kb.any(subject, ns.ui('sharedPreferences'))\n if (!sharedPreferences) {\n if (!kb.updater.editable(subject.doc())) {\n debug.log(` Cant make shared preferences, may not change ${subject.doc}`)\n resolve(context)\n }\n const sp = $rdf.sym(subject.doc().uri + '#SharedPreferences')\n const ins = [\n $rdf.st(subject, ns.ui('sharedPreferences'), sp, subject.doc())\n ]\n debug.log('Creating shared preferences ' + sp)\n kb.updater.update([], ins, function (uri, ok, errorMessage) {\n if (!ok) {\n reject(new Error('Error creating shared prefs: ' + errorMessage))\n } else {\n context.sharedPreferences = sp\n resolve(context)\n }\n })\n } else {\n context.sharedPreferences = sharedPreferences\n resolve(context)\n }\n })\n}\n\n// Construct a personal defaults node in the preferences file for a given class of object\n//\nexport function recordPersonalDefaults (theClass, context) {\n return new Promise(function (resolve, reject) {\n ensureLoadedPreferences(context).then(\n context => {\n if (!context.preferencesFile) {\n debug.log(\n 'Not doing private class preferences as no access to preferences file. ' +\n context.preferencesFileError\n )\n return\n }\n const regs = kb.each(\n null,\n ns.solid('forClass'),\n theClass,\n context.preferencesFile\n )\n let ins = []\n let prefs\n let reg\n if (regs.length) {\n // Use existing node if we can\n regs.forEach(r => {\n prefs = prefs || kb.any(r, ns.solid('personalDefaults'))\n })\n if (prefs) {\n context.personalDefaults = prefs // Found one\n resolve(context)\n return\n } else {\n prefs = widgets.newThing(context.preferencesFile)\n reg = regs[0]\n }\n } else {\n // no regs fo class\n reg = widgets.newThing(context.preferencesFile)\n ins = [\n $rdf.st(\n reg,\n ns.rdf('type'),\n ns.solid('TypeRegistration'),\n context.preferencesFile\n ),\n $rdf.st(reg, ns.solid('forClass'), theClass, context.preferencesFile)\n ]\n }\n prefs = widgets.newThing(context.preferencesFile)\n ins.push(\n $rdf.st(\n reg,\n ns.solid('personalDefaults'),\n prefs,\n context.preferencesFile\n )\n )\n kb.updater.update([], ins, function (uri, ok, errm) {\n if (!ok) {\n reject(new Error('Setting preferences for ' + theClass + ': ' + errm))\n } else {\n context.personalDefaults = prefs\n resolve(context)\n }\n })\n },\n err => {\n reject(err)\n }\n )\n })\n}\n\nexport function renderPreferencesForm (subject, theClass, preferencesForm, context) {\n const prefContainer = context.dom.createElement('div')\n participation.participationObject(subject, subject.doc(), context.me).then(\n participation => {\n const dom = context.dom\n function heading (text) {\n prefContainer.appendChild(dom.createElement('h5')).textContent = text\n }\n heading('My view of this ' + context.noun)\n widgets.appendForm(\n dom,\n prefContainer,\n {},\n participation,\n preferencesForm,\n subject.doc(),\n (ok, mes) => {\n if (!ok) widgets.complain(context, mes)\n }\n )\n\n heading(\"Everyone's view of this \" + context.noun)\n recordSharedPreferences(subject, context).then(context => {\n const sharedPreferences = context.sharedPreferences\n widgets.appendForm(\n dom,\n prefContainer,\n {},\n sharedPreferences,\n preferencesForm,\n subject.doc(),\n (ok, mes) => {\n if (!ok) widgets.complain(context, mes)\n }\n )\n\n heading('My default view of any ' + context.noun)\n recordPersonalDefaults(theClass, context).then(\n context => {\n widgets.appendForm(\n dom,\n prefContainer,\n {},\n context.personalDefaults,\n preferencesForm,\n context.preferencesFile,\n (ok, mes) => {\n if (!ok) widgets.complain(context, mes)\n }\n )\n },\n err => {\n widgets.complain(context, err)\n }\n )\n })\n },\n err => {\n // parp object fails\n prefContainer.appendChild(widgets.errorMessageBlock(context.dom, err))\n }\n )\n return prefContainer\n}\n\n// This should be part of rdflib.js ad part of the RDFJS Standard!!\n\nfunction toJS (term) {\n if (!term.datatype) return term // Objects remain objects\n if (term.datatype.equals(ns.xsd('boolean'))) {\n return term.value === '1'\n }\n if (\n term.datatype.equals(ns.xsd('dateTime')) ||\n term.datatype.equals(ns.xsd('date'))\n ) {\n return new Date(term.value)\n }\n if (\n term.datatype.equals(ns.xsd('integer')) ||\n term.datatype.equals(ns.xsd('float')) ||\n term.datatype.equals(ns.xsd('decimal'))\n ) {\n return Number(term.value)\n }\n return term.value\n}\n\n// This is the function which acuakly reads and combines the preferences\n//\n// @@ make it much more tolerant of missing buts of prefernces\nexport function getPreferencesForClass (subject, theClass, predicates, context) {\n return new Promise(function (resolve, reject) {\n recordSharedPreferences(subject, context).then(context => {\n const sharedPreferences = context.sharedPreferences\n if (context.me) {\n participation\n .participationObject(subject, subject.doc(), context.me)\n .then(participation => {\n recordPersonalDefaults(theClass, context).then(context => {\n const results = []\n const personalDefaults = context.personalDefaults\n predicates.forEach(pred => {\n // Order of preference: My settings on object, Global settings on object, my settings on class\n const v1 =\n kb.any(participation, pred) ||\n kb.any(sharedPreferences, pred) ||\n kb.any(personalDefaults, pred)\n if (v1) {\n results[pred.uri] = toJS(v1)\n }\n })\n resolve(results)\n }, reject)\n }, reject)\n } else {\n // no user defined, just use common prefs\n const results = []\n predicates.forEach(pred => {\n const v1 = kb.any(sharedPreferences, pred)\n if (v1) {\n results[pred.uri] = toJS(v1)\n }\n })\n resolve(results)\n }\n })\n })\n}\n\n// ends\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"preferences.js","names":["$rdf","_interopRequireWildcard","require","_solidLogic","debug","_login","ns","participation","widgets","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","kb","store","value","exports","k","v","log","Error","recordSharedPreferences","subject","context","Promise","resolve","reject","sharedPreferences","any","ui","updater","editable","doc","concat","sp","sym","uri","ins","st","update","ok","errorMessage","recordPersonalDefaults","theClass","ensureLoadedPreferences","then","preferencesFile","preferencesFileError","regs","each","solid","prefs","reg","length","forEach","personalDefaults","newThing","rdf","push","errm","err","renderPreferencesForm","preferencesForm","prefContainer","dom","createElement","participationObject","me","heading","text","appendChild","textContent","noun","appendForm","mes","complain","errorMessageBlock","toJS","term","datatype","equals","xsd","Date","Number","getPreferencesForClass","predicates","results","pred","v1"],"sources":["../src/preferences.js"],"sourcesContent":["// Solid-UI preferences\n// =====================\n//\n\nimport * as $rdf from 'rdflib' // pull in first avoid cross-refs\nimport { store } from 'solid-logic'\nimport * as debug from './debug'\nimport { ensureLoadedPreferences } from './login/login'\nimport * as ns from './ns'\nimport * as participation from './participation' // @ts-ignore\nimport * as widgets from './widgets'\n\nconst kb = store\n\n// This was tabulator . preferences in the tabulator\n// Is this functionality used anywhere?\n//\n\n// used for storing user name\n// @@ Deprocate these functions. They were used for\n// communication around the tabulator functionality about the user session\n\nexport const value = []\nexport function get (k) {\n return value[k]\n}\n\nexport function set (k, v) {\n if (typeof v !== 'string') {\n debug.log('Non-string value of preference ' + k + ': ' + v)\n throw new Error('Non-string value of preference ' + k + ': ' + v)\n }\n this.value[k] = v\n}\n\n// In a solid world, Preferences are stored in the web\n//\n// Make an RDF node for recording the common view preferences for any object\n// (maybe make it in a separate file?)\nexport function recordSharedPreferences (subject, context) {\n return new Promise(function (resolve, reject) {\n const sharedPreferences = kb.any(subject, ns.ui('sharedPreferences'))\n if (!sharedPreferences) {\n if (!kb.updater.editable(subject.doc())) {\n debug.log(` Cant make shared preferences, may not change ${subject.doc}`)\n resolve(context)\n }\n const sp = $rdf.sym(subject.doc().uri + '#SharedPreferences')\n const ins = [\n $rdf.st(subject, ns.ui('sharedPreferences'), sp, subject.doc())\n ]\n debug.log('Creating shared preferences ' + sp)\n kb.updater.update([], ins, function (uri, ok, errorMessage) {\n if (!ok) {\n reject(new Error('Error creating shared prefs: ' + errorMessage))\n } else {\n context.sharedPreferences = sp\n resolve(context)\n }\n })\n } else {\n context.sharedPreferences = sharedPreferences\n resolve(context)\n }\n })\n}\n\n// Construct a personal defaults node in the preferences file for a given class of object\n//\nexport function recordPersonalDefaults (theClass, context) {\n return new Promise(function (resolve, reject) {\n ensureLoadedPreferences(context).then(\n context => {\n if (!context.preferencesFile) {\n debug.log(\n 'Not doing private class preferences as no access to preferences file. ' +\n context.preferencesFileError\n )\n return\n }\n const regs = kb.each(\n null,\n ns.solid('forClass'),\n theClass,\n context.preferencesFile\n )\n let ins = []\n let prefs\n let reg\n if (regs.length) {\n // Use existing node if we can\n regs.forEach(r => {\n prefs = prefs || kb.any(r, ns.solid('personalDefaults'))\n })\n if (prefs) {\n context.personalDefaults = prefs // Found one\n resolve(context)\n return\n } else {\n prefs = widgets.newThing(context.preferencesFile)\n reg = regs[0]\n }\n } else {\n // no regs fo class\n reg = widgets.newThing(context.preferencesFile)\n ins = [\n $rdf.st(\n reg,\n ns.rdf('type'),\n ns.solid('TypeRegistration'),\n context.preferencesFile\n ),\n $rdf.st(reg, ns.solid('forClass'), theClass, context.preferencesFile)\n ]\n }\n prefs = widgets.newThing(context.preferencesFile)\n ins.push(\n $rdf.st(\n reg,\n ns.solid('personalDefaults'),\n prefs,\n context.preferencesFile\n )\n )\n kb.updater.update([], ins, function (uri, ok, errm) {\n if (!ok) {\n reject(new Error('Setting preferences for ' + theClass + ': ' + errm))\n } else {\n context.personalDefaults = prefs\n resolve(context)\n }\n })\n },\n err => {\n reject(err)\n }\n )\n })\n}\n\nexport function renderPreferencesForm (subject, theClass, preferencesForm, context) {\n const prefContainer = context.dom.createElement('div')\n participation.participationObject(subject, subject.doc(), context.me).then(\n participation => {\n const dom = context.dom\n function heading (text) {\n prefContainer.appendChild(dom.createElement('h5')).textContent = text\n }\n heading('My view of this ' + context.noun)\n widgets.appendForm(\n dom,\n prefContainer,\n {},\n participation,\n preferencesForm,\n subject.doc(),\n (ok, mes) => {\n if (!ok) widgets.complain(context, mes)\n }\n )\n\n heading(\"Everyone's view of this \" + context.noun)\n recordSharedPreferences(subject, context).then(context => {\n const sharedPreferences = context.sharedPreferences\n widgets.appendForm(\n dom,\n prefContainer,\n {},\n sharedPreferences,\n preferencesForm,\n subject.doc(),\n (ok, mes) => {\n if (!ok) widgets.complain(context, mes)\n }\n )\n\n heading('My default view of any ' + context.noun)\n recordPersonalDefaults(theClass, context).then(\n context => {\n widgets.appendForm(\n dom,\n prefContainer,\n {},\n context.personalDefaults,\n preferencesForm,\n context.preferencesFile,\n (ok, mes) => {\n if (!ok) widgets.complain(context, mes)\n }\n )\n },\n err => {\n widgets.complain(context, err)\n }\n )\n })\n },\n err => {\n // parp object fails\n prefContainer.appendChild(widgets.errorMessageBlock(context.dom, err))\n }\n )\n return prefContainer\n}\n\n// This should be part of rdflib.js ad part of the RDFJS Standard!!\n\nfunction toJS (term) {\n if (!term.datatype) return term // Objects remain objects\n if (term.datatype.equals(ns.xsd('boolean'))) {\n return term.value === '1'\n }\n if (\n term.datatype.equals(ns.xsd('dateTime')) ||\n term.datatype.equals(ns.xsd('date'))\n ) {\n return new Date(term.value)\n }\n if (\n term.datatype.equals(ns.xsd('integer')) ||\n term.datatype.equals(ns.xsd('float')) ||\n term.datatype.equals(ns.xsd('decimal'))\n ) {\n return Number(term.value)\n }\n return term.value\n}\n\n// This is the function which acuakly reads and combines the preferences\n//\n// @@ make it much more tolerant of missing buts of prefernces\nexport function getPreferencesForClass (subject, theClass, predicates, context) {\n return new Promise(function (resolve, reject) {\n recordSharedPreferences(subject, context).then(context => {\n const sharedPreferences = context.sharedPreferences\n if (context.me) {\n participation\n .participationObject(subject, subject.doc(), context.me)\n .then(participation => {\n recordPersonalDefaults(theClass, context).then(context => {\n const results = []\n const personalDefaults = context.personalDefaults\n predicates.forEach(pred => {\n // Order of preference: My settings on object, Global settings on object, my settings on class\n const v1 =\n kb.any(participation, pred) ||\n kb.any(sharedPreferences, pred) ||\n kb.any(personalDefaults, pred)\n if (v1) {\n results[pred.uri] = toJS(v1)\n }\n })\n resolve(results)\n }, reject)\n }, reject)\n } else {\n // no user defined, just use common prefs\n const results = []\n predicates.forEach(pred => {\n const v1 = kb.any(sharedPreferences, pred)\n if (v1) {\n results[pred.uri] = toJS(v1)\n }\n })\n resolve(results)\n }\n })\n })\n}\n\n// ends\n"],"mappings":";;;;;;;;;;;;;AAIA,IAAAA,IAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAH,uBAAA,CAAAC,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,EAAA,GAAAL,uBAAA,CAAAC,OAAA;AACA,IAAAK,aAAA,GAAAN,uBAAA,CAAAC,OAAA;AACA,IAAAM,OAAA,GAAAP,uBAAA,CAAAC,OAAA;AAAoC,SAAAD,wBAAAQ,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAV,uBAAA,YAAAA,wBAAAQ,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,mBAAAT,CAAA,iBAAAA,CAAA,gBAAAU,OAAA,CAAAV,CAAA,0BAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,cAAAM,EAAA,IAAAd,CAAA,gBAAAc,EAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,EAAA,OAAAP,CAAA,IAAAD,CAAA,GAAAW,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAnB,CAAA,EAAAc,EAAA,OAAAP,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAM,EAAA,EAAAP,CAAA,IAAAC,CAAA,CAAAM,EAAA,IAAAd,CAAA,CAAAc,EAAA,WAAAN,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAVpC;AACA;AACA;;AAE+B;;AAKkB;;AAGjD,IAAMmB,EAAE,GAAGC,iBAAK;;AAEhB;AACA;AACA;;AAEA;AACA;AACA;;AAEO,IAAMC,KAAK,GAAAC,OAAA,CAAAD,KAAA,GAAG,EAAE;AAChB,SAASV,GAAGA,CAAEY,CAAC,EAAE;EACtB,OAAOF,KAAK,CAACE,CAAC,CAAC;AACjB;AAEO,SAASX,GAAGA,CAAEW,CAAC,EAAEC,CAAC,EAAE;EACzB,IAAI,OAAOA,CAAC,KAAK,QAAQ,EAAE;IACzB9B,KAAK,CAAC+B,GAAG,CAAC,iCAAiC,GAAGF,CAAC,GAAG,IAAI,GAAGC,CAAC,CAAC;IAC3D,MAAM,IAAIE,KAAK,CAAC,iCAAiC,GAAGH,CAAC,GAAG,IAAI,GAAGC,CAAC,CAAC;EACnE;EACA,IAAI,CAACH,KAAK,CAACE,CAAC,CAAC,GAAGC,CAAC;AACnB;;AAEA;AACA;AACA;AACA;AACO,SAASG,uBAAuBA,CAAEC,OAAO,EAAEC,OAAO,EAAE;EACzD,OAAO,IAAIC,OAAO,CAAC,UAAUC,OAAO,EAAEC,MAAM,EAAE;IAC5C,IAAMC,iBAAiB,GAAGd,EAAE,CAACe,GAAG,CAACN,OAAO,EAAEhC,EAAE,CAACuC,EAAE,CAAC,mBAAmB,CAAC,CAAC;IACrE,IAAI,CAACF,iBAAiB,EAAE;MACtB,IAAI,CAACd,EAAE,CAACiB,OAAO,CAACC,QAAQ,CAACT,OAAO,CAACU,GAAG,CAAC,CAAC,CAAC,EAAE;QACvC5C,KAAK,CAAC+B,GAAG,kDAAAc,MAAA,CAAkDX,OAAO,CAACU,GAAG,CAAE,CAAC;QACzEP,OAAO,CAACF,OAAO,CAAC;MAClB;MACA,IAAMW,EAAE,GAAGlD,IAAI,CAACmD,GAAG,CAACb,OAAO,CAACU,GAAG,CAAC,CAAC,CAACI,GAAG,GAAG,oBAAoB,CAAC;MAC7D,IAAMC,GAAG,GAAG,CACVrD,IAAI,CAACsD,EAAE,CAAChB,OAAO,EAAEhC,EAAE,CAACuC,EAAE,CAAC,mBAAmB,CAAC,EAAEK,EAAE,EAAEZ,OAAO,CAACU,GAAG,CAAC,CAAC,CAAC,CAChE;MACD5C,KAAK,CAAC+B,GAAG,CAAC,8BAA8B,GAAGe,EAAE,CAAC;MAC9CrB,EAAE,CAACiB,OAAO,CAACS,MAAM,CAAC,EAAE,EAAEF,GAAG,EAAE,UAAUD,GAAG,EAAEI,EAAE,EAAEC,YAAY,EAAE;QAC1D,IAAI,CAACD,EAAE,EAAE;UACPd,MAAM,CAAC,IAAIN,KAAK,CAAC,+BAA+B,GAAGqB,YAAY,CAAC,CAAC;QACnE,CAAC,MAAM;UACLlB,OAAO,CAACI,iBAAiB,GAAGO,EAAE;UAC9BT,OAAO,CAACF,OAAO,CAAC;QAClB;MACF,CAAC,CAAC;IACJ,CAAC,MAAM;MACLA,OAAO,CAACI,iBAAiB,GAAGA,iBAAiB;MAC7CF,OAAO,CAACF,OAAO,CAAC;IAClB;EACF,CAAC,CAAC;AACJ;;AAEA;AACA;AACO,SAASmB,sBAAsBA,CAAEC,QAAQ,EAAEpB,OAAO,EAAE;EACzD,OAAO,IAAIC,OAAO,CAAC,UAAUC,OAAO,EAAEC,MAAM,EAAE;IAC5C,IAAAkB,8BAAuB,EAACrB,OAAO,CAAC,CAACsB,IAAI,CACnC,UAAAtB,OAAO,EAAI;MACT,IAAI,CAACA,OAAO,CAACuB,eAAe,EAAE;QAC5B1D,KAAK,CAAC+B,GAAG,CACP,wEAAwE,GACtEI,OAAO,CAACwB,oBACZ,CAAC;QACD;MACF;MACA,IAAMC,IAAI,GAAGnC,EAAE,CAACoC,IAAI,CAClB,IAAI,EACJ3D,EAAE,CAAC4D,KAAK,CAAC,UAAU,CAAC,EACpBP,QAAQ,EACRpB,OAAO,CAACuB,eACV,CAAC;MACD,IAAIT,GAAG,GAAG,EAAE;MACZ,IAAIc,KAAK;MACT,IAAIC,GAAG;MACP,IAAIJ,IAAI,CAACK,MAAM,EAAE;QACf;QACAL,IAAI,CAACM,OAAO,CAAC,UAAA1D,CAAC,EAAI;UAChBuD,KAAK,GAAGA,KAAK,IAAItC,EAAE,CAACe,GAAG,CAAChC,CAAC,EAAEN,EAAE,CAAC4D,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC1D,CAAC,CAAC;QACF,IAAIC,KAAK,EAAE;UACT5B,OAAO,CAACgC,gBAAgB,GAAGJ,KAAK,EAAC;UACjC1B,OAAO,CAACF,OAAO,CAAC;UAChB;QACF,CAAC,MAAM;UACL4B,KAAK,GAAG3D,OAAO,CAACgE,QAAQ,CAACjC,OAAO,CAACuB,eAAe,CAAC;UACjDM,GAAG,GAAGJ,IAAI,CAAC,CAAC,CAAC;QACf;MACF,CAAC,MAAM;QACL;QACAI,GAAG,GAAG5D,OAAO,CAACgE,QAAQ,CAACjC,OAAO,CAACuB,eAAe,CAAC;QAC/CT,GAAG,GAAG,CACJrD,IAAI,CAACsD,EAAE,CACLc,GAAG,EACH9D,EAAE,CAACmE,GAAG,CAAC,MAAM,CAAC,EACdnE,EAAE,CAAC4D,KAAK,CAAC,kBAAkB,CAAC,EAC5B3B,OAAO,CAACuB,eACV,CAAC,EACD9D,IAAI,CAACsD,EAAE,CAACc,GAAG,EAAE9D,EAAE,CAAC4D,KAAK,CAAC,UAAU,CAAC,EAAEP,QAAQ,EAAEpB,OAAO,CAACuB,eAAe,CAAC,CACtE;MACH;MACAK,KAAK,GAAG3D,OAAO,CAACgE,QAAQ,CAACjC,OAAO,CAACuB,eAAe,CAAC;MACjDT,GAAG,CAACqB,IAAI,CACN1E,IAAI,CAACsD,EAAE,CACLc,GAAG,EACH9D,EAAE,CAAC4D,KAAK,CAAC,kBAAkB,CAAC,EAC5BC,KAAK,EACL5B,OAAO,CAACuB,eACV,CACF,CAAC;MACDjC,EAAE,CAACiB,OAAO,CAACS,MAAM,CAAC,EAAE,EAAEF,GAAG,EAAE,UAAUD,GAAG,EAAEI,EAAE,EAAEmB,IAAI,EAAE;QAClD,IAAI,CAACnB,EAAE,EAAE;UACPd,MAAM,CAAC,IAAIN,KAAK,CAAC,0BAA0B,GAAGuB,QAAQ,GAAG,IAAI,GAAGgB,IAAI,CAAC,CAAC;QACxE,CAAC,MAAM;UACLpC,OAAO,CAACgC,gBAAgB,GAAGJ,KAAK;UAChC1B,OAAO,CAACF,OAAO,CAAC;QAClB;MACF,CAAC,CAAC;IACJ,CAAC,EACD,UAAAqC,GAAG,EAAI;MACLlC,MAAM,CAACkC,GAAG,CAAC;IACb,CACF,CAAC;EACH,CAAC,CAAC;AACJ;AAEO,SAASC,qBAAqBA,CAAEvC,OAAO,EAAEqB,QAAQ,EAAEmB,eAAe,EAAEvC,OAAO,EAAE;EAClF,IAAMwC,aAAa,GAAGxC,OAAO,CAACyC,GAAG,CAACC,aAAa,CAAC,KAAK,CAAC;EACtD1E,aAAa,CAAC2E,mBAAmB,CAAC5C,OAAO,EAAEA,OAAO,CAACU,GAAG,CAAC,CAAC,EAAET,OAAO,CAAC4C,EAAE,CAAC,CAACtB,IAAI,CACxE,UAAAtD,aAAa,EAAI;IACf,IAAMyE,GAAG,GAAGzC,OAAO,CAACyC,GAAG;IACvB,SAASI,OAAOA,CAAEC,IAAI,EAAE;MACtBN,aAAa,CAACO,WAAW,CAACN,GAAG,CAACC,aAAa,CAAC,IAAI,CAAC,CAAC,CAACM,WAAW,GAAGF,IAAI;IACvE;IACAD,OAAO,CAAC,kBAAkB,GAAG7C,OAAO,CAACiD,IAAI,CAAC;IAC1ChF,OAAO,CAACiF,UAAU,CAChBT,GAAG,EACHD,aAAa,EACb,CAAC,CAAC,EACFxE,aAAa,EACbuE,eAAe,EACfxC,OAAO,CAACU,GAAG,CAAC,CAAC,EACb,UAACQ,EAAE,EAAEkC,GAAG,EAAK;MACX,IAAI,CAAClC,EAAE,EAAEhD,OAAO,CAACmF,QAAQ,CAACpD,OAAO,EAAEmD,GAAG,CAAC;IACzC,CACF,CAAC;IAEDN,OAAO,CAAC,2BAA2B,GAAG7C,OAAO,CAACiD,IAAI,CAAC;IACnDnD,uBAAuB,CAACC,OAAO,EAAEC,OAAO,CAAC,CAACsB,IAAI,CAAC,UAAAtB,OAAO,EAAI;MACxD,IAAMI,iBAAiB,GAAGJ,OAAO,CAACI,iBAAiB;MACnDnC,OAAO,CAACiF,UAAU,CAChBT,GAAG,EACHD,aAAa,EACb,CAAC,CAAC,EACFpC,iBAAiB,EACjBmC,eAAe,EACfxC,OAAO,CAACU,GAAG,CAAC,CAAC,EACb,UAACQ,EAAE,EAAEkC,GAAG,EAAK;QACX,IAAI,CAAClC,EAAE,EAAEhD,OAAO,CAACmF,QAAQ,CAACpD,OAAO,EAAEmD,GAAG,CAAC;MACzC,CACF,CAAC;MAEDN,OAAO,CAAC,yBAAyB,GAAG7C,OAAO,CAACiD,IAAI,CAAC;MACjD9B,sBAAsB,CAACC,QAAQ,EAAEpB,OAAO,CAAC,CAACsB,IAAI,CAC5C,UAAAtB,OAAO,EAAI;QACT/B,OAAO,CAACiF,UAAU,CAChBT,GAAG,EACHD,aAAa,EACb,CAAC,CAAC,EACFxC,OAAO,CAACgC,gBAAgB,EACxBO,eAAe,EACfvC,OAAO,CAACuB,eAAe,EACvB,UAACN,EAAE,EAAEkC,GAAG,EAAK;UACX,IAAI,CAAClC,EAAE,EAAEhD,OAAO,CAACmF,QAAQ,CAACpD,OAAO,EAAEmD,GAAG,CAAC;QACzC,CACF,CAAC;MACH,CAAC,EACD,UAAAd,GAAG,EAAI;QACLpE,OAAO,CAACmF,QAAQ,CAACpD,OAAO,EAAEqC,GAAG,CAAC;MAChC,CACF,CAAC;IACH,CAAC,CAAC;EACJ,CAAC,EACD,UAAAA,GAAG,EAAI;IACL;IACAG,aAAa,CAACO,WAAW,CAAC9E,OAAO,CAACoF,iBAAiB,CAACrD,OAAO,CAACyC,GAAG,EAAEJ,GAAG,CAAC,CAAC;EACxE,CACF,CAAC;EACD,OAAOG,aAAa;AACtB;;AAEA;;AAEA,SAASc,IAAIA,CAAEC,IAAI,EAAE;EACnB,IAAI,CAACA,IAAI,CAACC,QAAQ,EAAE,OAAOD,IAAI,EAAC;EAChC,IAAIA,IAAI,CAACC,QAAQ,CAACC,MAAM,CAAC1F,EAAE,CAAC2F,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE;IAC3C,OAAOH,IAAI,CAAC/D,KAAK,KAAK,GAAG;EAC3B;EACA,IACE+D,IAAI,CAACC,QAAQ,CAACC,MAAM,CAAC1F,EAAE,CAAC2F,GAAG,CAAC,UAAU,CAAC,CAAC,IACxCH,IAAI,CAACC,QAAQ,CAACC,MAAM,CAAC1F,EAAE,CAAC2F,GAAG,CAAC,MAAM,CAAC,CAAC,EACpC;IACA,OAAO,IAAIC,IAAI,CAACJ,IAAI,CAAC/D,KAAK,CAAC;EAC7B;EACA,IACE+D,IAAI,CAACC,QAAQ,CAACC,MAAM,CAAC1F,EAAE,CAAC2F,GAAG,CAAC,SAAS,CAAC,CAAC,IACvCH,IAAI,CAACC,QAAQ,CAACC,MAAM,CAAC1F,EAAE,CAAC2F,GAAG,CAAC,OAAO,CAAC,CAAC,IACrCH,IAAI,CAACC,QAAQ,CAACC,MAAM,CAAC1F,EAAE,CAAC2F,GAAG,CAAC,SAAS,CAAC,CAAC,EACvC;IACA,OAAOE,MAAM,CAACL,IAAI,CAAC/D,KAAK,CAAC;EAC3B;EACA,OAAO+D,IAAI,CAAC/D,KAAK;AACnB;;AAEA;AACA;AACA;AACO,SAASqE,sBAAsBA,CAAE9D,OAAO,EAAEqB,QAAQ,EAAE0C,UAAU,EAAE9D,OAAO,EAAE;EAC9E,OAAO,IAAIC,OAAO,CAAC,UAAUC,OAAO,EAAEC,MAAM,EAAE;IAC5CL,uBAAuB,CAACC,OAAO,EAAEC,OAAO,CAAC,CAACsB,IAAI,CAAC,UAAAtB,OAAO,EAAI;MACxD,IAAMI,iBAAiB,GAAGJ,OAAO,CAACI,iBAAiB;MACnD,IAAIJ,OAAO,CAAC4C,EAAE,EAAE;QACd5E,aAAa,CACV2E,mBAAmB,CAAC5C,OAAO,EAAEA,OAAO,CAACU,GAAG,CAAC,CAAC,EAAET,OAAO,CAAC4C,EAAE,CAAC,CACvDtB,IAAI,CAAC,UAAAtD,aAAa,EAAI;UACrBmD,sBAAsB,CAACC,QAAQ,EAAEpB,OAAO,CAAC,CAACsB,IAAI,CAAC,UAAAtB,OAAO,EAAI;YACxD,IAAM+D,OAAO,GAAG,EAAE;YAClB,IAAM/B,gBAAgB,GAAGhC,OAAO,CAACgC,gBAAgB;YACjD8B,UAAU,CAAC/B,OAAO,CAAC,UAAAiC,IAAI,EAAI;cACzB;cACA,IAAMC,EAAE,GACN3E,EAAE,CAACe,GAAG,CAACrC,aAAa,EAAEgG,IAAI,CAAC,IAC3B1E,EAAE,CAACe,GAAG,CAACD,iBAAiB,EAAE4D,IAAI,CAAC,IAC/B1E,EAAE,CAACe,GAAG,CAAC2B,gBAAgB,EAAEgC,IAAI,CAAC;cAChC,IAAIC,EAAE,EAAE;gBACNF,OAAO,CAACC,IAAI,CAACnD,GAAG,CAAC,GAAGyC,IAAI,CAACW,EAAE,CAAC;cAC9B;YACF,CAAC,CAAC;YACF/D,OAAO,CAAC6D,OAAO,CAAC;UAClB,CAAC,EAAE5D,MAAM,CAAC;QACZ,CAAC,EAAEA,MAAM,CAAC;MACd,CAAC,MAAM;QACL;QACA,IAAM4D,OAAO,GAAG,EAAE;QAClBD,UAAU,CAAC/B,OAAO,CAAC,UAAAiC,IAAI,EAAI;UACzB,IAAMC,EAAE,GAAG3E,EAAE,CAACe,GAAG,CAACD,iBAAiB,EAAE4D,IAAI,CAAC;UAC1C,IAAIC,EAAE,EAAE;YACNF,OAAO,CAACC,IAAI,CAACnD,GAAG,CAAC,GAAGyC,IAAI,CAACW,EAAE,CAAC;UAC9B;QACF,CAAC,CAAC;QACF/D,OAAO,CAAC6D,OAAO,CAAC;MAClB;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ;;AAEA","ignoreList":[]}
package/lib/table.js CHANGED
@@ -13,8 +13,7 @@ var ns = _interopRequireWildcard(require("./ns"));
13
13
  var rdf = _interopRequireWildcard(require("rdflib"));
14
14
  var utils = _interopRequireWildcard(require("./utils"));
15
15
  var widgets = _interopRequireWildcard(require("./widgets"));
16
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
17
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
16
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
18
17
  // Table Widget: Format an array of RDF statements as an HTML table.
19
18
  //
20
19
  // This can operate in one of three modes: when the class of object is given