solid-ui 2.4.28-a414b470 → 2.4.28-a4f5fbef

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 (79) hide show
  1. package/dist/805.solid-ui.min.js +1 -1
  2. package/dist/805.solid-ui.min.js.map +1 -1
  3. package/dist/solid-ui.js +1348 -2109
  4. package/dist/solid-ui.js.map +1 -1
  5. package/dist/solid-ui.min.js +1 -1
  6. package/dist/solid-ui.min.js.map +1 -1
  7. package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js +1955 -1955
  8. package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js.map +1 -1
  9. package/lib/chat/bookmarks.js +7 -6
  10. package/lib/chat/bookmarks.js.map +1 -1
  11. package/lib/chat/chatLogic.js +65 -249
  12. package/lib/chat/chatLogic.js.map +1 -1
  13. package/lib/chat/dateFolder.js +126 -129
  14. package/lib/chat/dateFolder.js.map +1 -1
  15. package/lib/chat/infinite.js +423 -637
  16. package/lib/chat/infinite.js.map +1 -1
  17. package/lib/chat/message.js +193 -332
  18. package/lib/chat/message.js.map +1 -1
  19. package/lib/chat/messageTools.js +277 -463
  20. package/lib/chat/messageTools.js.map +1 -1
  21. package/lib/chat/thread.js +209 -299
  22. package/lib/chat/thread.js.map +1 -1
  23. package/lib/header/index.js +0 -5
  24. package/lib/header/index.js.map +1 -1
  25. package/lib/log.js +5 -5
  26. package/lib/log.js.map +1 -1
  27. package/lib/login/login.d.ts.map +1 -1
  28. package/lib/login/login.js +45 -83
  29. package/lib/login/login.js.map +1 -1
  30. package/lib/media/media-capture.d.ts +2 -2
  31. package/lib/media/media-capture.d.ts.map +1 -1
  32. package/lib/media/media-capture.js +11 -15
  33. package/lib/media/media-capture.js.map +1 -1
  34. package/lib/pad.d.ts +2 -2
  35. package/lib/pad.d.ts.map +1 -1
  36. package/lib/pad.js +15 -41
  37. package/lib/pad.js.map +1 -1
  38. package/lib/participation.d.ts +5 -5
  39. package/lib/participation.d.ts.map +1 -1
  40. package/lib/participation.js +24 -24
  41. package/lib/participation.js.map +1 -1
  42. package/lib/preferences.js +0 -4
  43. package/lib/preferences.js.map +1 -1
  44. package/lib/style.js +39 -31
  45. package/lib/style.js.map +1 -1
  46. package/lib/styleConstants.js +36 -0
  47. package/lib/styleConstants.js.map +1 -0
  48. package/lib/tabs.d.ts +0 -125
  49. package/lib/tabs.d.ts.map +1 -1
  50. package/lib/tabs.js +15 -8
  51. package/lib/tabs.js.map +1 -1
  52. package/lib/utils/headerFooterHelpers.js +0 -2
  53. package/lib/utils/headerFooterHelpers.js.map +1 -1
  54. package/lib/versionInfo.js +6 -6
  55. package/lib/versionInfo.js.map +1 -1
  56. package/lib/widgets/buttons.js +2 -0
  57. package/lib/widgets/buttons.js.map +1 -1
  58. package/lib/widgets/dragAndDrop.js +10 -18
  59. package/lib/widgets/dragAndDrop.js.map +1 -1
  60. package/lib/widgets/error.d.ts.map +1 -1
  61. package/lib/widgets/error.js +9 -2
  62. package/lib/widgets/error.js.map +1 -1
  63. package/lib/widgets/forms/autocomplete/autocompleteBar.js +1 -8
  64. package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +1 -1
  65. package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts.map +1 -1
  66. package/lib/widgets/forms/autocomplete/autocompletePicker.js +5 -9
  67. package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +1 -1
  68. package/lib/widgets/forms/autocomplete/language.js +0 -5
  69. package/lib/widgets/forms/autocomplete/language.js.map +1 -1
  70. package/lib/widgets/forms/basic.d.ts.map +1 -1
  71. package/lib/widgets/forms/basic.js +5 -4
  72. package/lib/widgets/forms/basic.js.map +1 -1
  73. package/lib/widgets/forms/fieldParams.js +2 -2
  74. package/lib/widgets/forms/fieldParams.js.map +1 -1
  75. package/lib/widgets/forms.js +10 -12
  76. package/lib/widgets/forms.js.map +1 -1
  77. package/lib/widgets/peoplePicker.js +0 -11
  78. package/lib/widgets/peoplePicker.js.map +1 -1
  79. package/package.json +2 -3
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.manageParticipation = manageParticipation;
9
9
  exports.participationObject = participationObject;
10
10
  exports.recordParticipation = recordParticipation;
11
- exports.renderPartipants = renderPartipants;
11
+ exports.renderParticipants = renderParticipants;
12
12
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
13
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
14
14
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
@@ -23,6 +23,8 @@ var ns = _interopRequireWildcard(require("./ns"));
23
23
  var _widgets = require("./widgets");
24
24
  var _utils = require("./utils");
25
25
  var _pad = require("./pad");
26
+ var style = _interopRequireWildcard(require("./style"));
27
+ var _styleConstants = _interopRequireDefault(require("./styleConstants"));
26
28
  var _solidLogic = require("solid-logic");
27
29
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
28
30
  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; }
@@ -30,8 +32,7 @@ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol
30
32
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
31
33
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
32
34
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
33
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /* Manage a UI for the particpation of a person in any thing
34
- */ // import { currentUser } from './authn/authn'
35
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
35
36
  var ParticipationTableElement = /*#__PURE__*/function (_HTMLTableElement) {
36
37
  (0, _inherits2["default"])(ParticipationTableElement, _HTMLTableElement);
37
38
  var _super = _createSuper(ParticipationTableElement);
@@ -58,9 +59,9 @@ var store = _solidLogic.solidLogicSingleton.store;
58
59
  * @param {NamedNode} unused2/me - user that is logged into the pod (this argument is no longer used, but left in for backwards compatibility)
59
60
  * @param {ParticipationOptions} options - the options that can be passed in are deleteFunction, link, and draggable these are used by the personTR button
60
61
  */
61
- function renderPartipants(dom, table, unused1, subject, unused2, options) {
62
- table.setAttribute('style', 'margin: 0.8em;');
63
- var newRowForParticpation = function newRowForParticpation(parp) {
62
+ function renderParticipants(dom, table, unused1, subject, unused2, options) {
63
+ table.setAttribute('style', style.participantsStyle);
64
+ var newRowForParticipation = function newRowForParticipation(parp) {
64
65
  var person = store.any(parp, ns.wf('participant'));
65
66
  var tr;
66
67
  if (!person) {
@@ -68,13 +69,14 @@ function renderPartipants(dom, table, unused1, subject, unused2, options) {
68
69
  tr.textContent = '???'; // Don't crash - invalid part'n entry
69
70
  return tr;
70
71
  }
71
- var bg = store.anyValue(parp, ns.ui('backgroundColor')) || 'white';
72
+ var bg = store.anyValue(parp, ns.ui('backgroundColor')) || _styleConstants["default"].participationDefaultBackground;
72
73
  var block = dom.createElement('div');
73
- block.setAttribute('style', 'height: 1.5em; width: 1.5em; margin: 0.3em; border 0.01em solid #888; background-color: ' + bg);
74
+ block.setAttribute('style', style.participantsBlock);
75
+ block.style.backgroundColor = bg;
74
76
  tr = (0, _widgets.personTR)(dom, null, person, options);
75
77
  table.appendChild(tr);
76
78
  var td = dom.createElement('td');
77
- td.setAttribute('style', 'vertical-align: middle;');
79
+ td.setAttribute('style', style.personTableTD);
78
80
  td.appendChild(block);
79
81
  tr.insertBefore(td, tr.firstChild);
80
82
  return tr;
@@ -88,16 +90,16 @@ function renderPartipants(dom, table, unused1, subject, unused2, options) {
88
90
  var participations = parps.map(function (p) {
89
91
  return p[1];
90
92
  });
91
- (0, _utils.syncTableToArray)(table, participations, newRowForParticpation);
93
+ (0, _utils.syncTableToArray)(table, participations, newRowForParticipation);
92
94
  };
93
95
  table.refresh = syncTable;
94
96
  syncTable();
95
97
  return table;
96
98
  }
97
99
 
98
- /** Record, or find old, Particpation object
100
+ /** Record, or find old, Participation object
99
101
  *
100
- * A particpaption object is a place to record things specifically about
102
+ * A participation object is a place to record things specifically about
101
103
  * subject and the user, such as preferences, start of membership, etc
102
104
  * @param {NamedNode} subject - the thing in which the participation is happening
103
105
  * @param {NamedNode} document - where to record the data
@@ -132,20 +134,20 @@ function participationObject(subject, padDoc, me) {
132
134
  }
133
135
  candidates.sort(); // Pick the earliest
134
136
  // @@ Possibly, for extra credit, delete the others, if we have write access
135
- debug.warn('Multiple particpation objects, picking earliest, in ' + padDoc);
137
+ debug.warn('Multiple participation objects, picking earliest, in ' + padDoc);
136
138
  resolve(candidates[0][1]);
137
139
  // throw new Error('Multiple records of your participation')
138
140
  }
139
141
 
140
142
  if (parps.length) {
141
143
  // If I am not already recorded
142
- resolve(parps[0]); // returns the particpation object
144
+ resolve(parps[0]); // returns the participation object
143
145
  } else {
144
146
  var _participation2 = (0, _widgets.newThing)(padDoc);
145
147
  var ins = [(0, _rdflib.st)(subject, ns.wf('participation'), _participation2, padDoc), (0, _rdflib.st)(_participation2, ns.wf('participant'), me, padDoc), (0, _rdflib.st)(_participation2, ns.cal('dtstart'), new Date(), padDoc), (0, _rdflib.st)(_participation2, ns.ui('backgroundColor'), (0, _pad.lightColorHash)(me), padDoc)];
146
148
  store.updater.update([], ins, function (uri, ok, errorMessage) {
147
149
  if (!ok) {
148
- reject(new Error('Error recording your partipation: ' + errorMessage));
150
+ reject(new Error('Error recording your participation: ' + errorMessage));
149
151
  } else {
150
152
  resolve(_participation2);
151
153
  }
@@ -158,7 +160,7 @@ function participationObject(subject, padDoc, me) {
158
160
  /** Record my participation and display participants
159
161
  *
160
162
  * @param {NamedNode} subject - the thing in which participation is happening
161
- * @param {NamedNode} padDoc - the document into which the particpation should be recorded
163
+ * @param {NamedNode} padDoc - the document into which the participation should be recorded
162
164
  * @param {DOMNode} refreshable - a DOM element whose refresh() is to be called if the change works
163
165
  *
164
166
  */
@@ -174,24 +176,22 @@ function recordParticipation(subject, padDoc, refreshable) {
174
176
  }
175
177
  if (parps.length) {
176
178
  // If I am not already recorded
177
- return parps[0]; // returns the particpation object
179
+ return parps[0]; // returns the participation object
178
180
  } else {
179
181
  if (!store.updater.editable(padDoc)) {
180
- debug.log('Not recording participation, as no write acesss as ' + me + ' to ' + padDoc);
182
+ debug.log('Not recording participation, as no write access as ' + me + ' to ' + padDoc);
181
183
  return null;
182
184
  }
183
185
  var participation = (0, _widgets.newThing)(padDoc);
184
186
  var ins = [(0, _rdflib.st)(subject, ns.wf('participation'), participation, padDoc), (0, _rdflib.st)(participation, ns.wf('participant'), me, padDoc), (0, _rdflib.st)(participation, ns.cal('dtstart'), new Date(), padDoc), (0, _rdflib.st)(participation, ns.ui('backgroundColor'), (0, _pad.lightColorHash)(me), padDoc)];
185
187
  store.updater.update([], ins, function (uri, ok, errorMessage) {
186
188
  if (!ok) {
187
- throw new Error('Error recording your partipation: ' + errorMessage);
189
+ throw new Error('Error recording your participation: ' + errorMessage);
188
190
  }
189
191
  if (refreshable && refreshable.refresh) {
190
192
  refreshable.refresh();
191
193
  }
192
- // UI.pad.renderPartipants(dom, table, padDoc, subject, me, options)
193
194
  });
194
-
195
195
  return participation;
196
196
  }
197
197
  }
@@ -200,7 +200,7 @@ function recordParticipation(subject, padDoc, refreshable) {
200
200
  *
201
201
  * @param {Document} dom - the web page loaded into the browser
202
202
  * @param {HTMLDivElement} container - the container element where the participants should be displayed
203
- * @param {NamedNode} document - the document into which the particpation should be shown
203
+ * @param {NamedNode} document - the document into which the participation should be shown
204
204
  * @param {NamedNode} subject - the thing in which participation is happening
205
205
  * @param {NamedNode} me - the logged in user
206
206
  * @param {ParticipationOptions} options - the options that can be passed in are deleteFunction, link, and draggable these are used by the personTR button
@@ -209,12 +209,12 @@ function recordParticipation(subject, padDoc, refreshable) {
209
209
  function manageParticipation(dom, container, padDoc, subject, me, options) {
210
210
  var table = dom.createElement('table');
211
211
  container.appendChild(table);
212
- renderPartipants(dom, table, padDoc, subject, me, options);
212
+ renderParticipants(dom, table, padDoc, subject, me, options);
213
213
  var _participation;
214
214
  try {
215
215
  _participation = recordParticipation(subject, padDoc, table);
216
216
  } catch (e) {
217
- container.appendChild((0, _widgets.errorMessageBlock)(dom, 'Error recording your partipation: ' + e)); // Clean up?
217
+ container.appendChild((0, _widgets.errorMessageBlock)(dom, 'Error recording your participation: ' + e)); // Clean up?
218
218
  }
219
219
 
220
220
  return table;
@@ -1 +1 @@
1
- {"version":3,"file":"participation.js","names":["debug","_interopRequireWildcard","require","_rdflib","ns","_widgets","_utils","_pad","_solidLogic","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","step","next","_e2","minLen","_arrayLikeToArray","toString","slice","constructor","name","from","test","arr","len","arr2","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","ParticipationTableElement","_HTMLTableElement","_inherits2","_super","_this","_classCallCheck2","_len","args","_key","concat","_defineProperty2","_assertThisInitialized2","_createClass2","_wrapNativeSuper2","HTMLTableElement","store","solidLogicSingleton","renderPartipants","dom","table","unused1","subject","unused2","options","setAttribute","newRowForParticpation","parp","person","any","wf","tr","createElement","textContent","bg","anyValue","ui","block","personTR","appendChild","td","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","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 particpation 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 { 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 renderPartipants (dom: HTMLDocument, table: ParticipationTableElement, unused1: NamedNode, subject: NamedNode, unused2: NamedNode, options: ParticipationOptions) {\n table.setAttribute('style', 'margin: 0.8em;')\n\n const newRowForParticpation = 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')) || 'white'\n\n const block = dom.createElement('div')\n block.setAttribute(\n 'style',\n 'height: 1.5em; width: 1.5em; margin: 0.3em; border 0.01em solid #888; background-color: ' +\n bg\n )\n tr = personTR(dom, null, person, options)\n table.appendChild(tr)\n const td = dom.createElement('td')\n td.setAttribute('style', 'vertical-align: middle;')\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, newRowForParticpation)\n }\n table.refresh = syncTable\n syncTable()\n return table\n}\n\n/** Record, or find old, Particpation object\n *\n * A particpaption 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 particpation 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 particpation 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 partipation: ' + 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 particpation 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 particpation object\n } else {\n if (!(store.updater as UpdateManager).editable(padDoc)) {\n debug.log('Not recording participation, as no write acesss 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 partipation: ' + errorMessage)\n }\n if (refreshable && refreshable.refresh) {\n refreshable.refresh()\n }\n // UI.pad.renderPartipants(dom, table, padDoc, subject, me, options)\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 particpation 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 renderPartipants(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 partipation: ' + e\n )\n ) // Clean up?\n }\n return table\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"participation.js","names":["debug","_interopRequireWildcard","require","_rdflib","ns","_widgets","_utils","_pad","style","_styleConstants","_interopRequireDefault","_solidLogic","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","step","next","_e2","minLen","_arrayLikeToArray","toString","slice","constructor","name","from","test","arr","len","arr2","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","ParticipationTableElement","_HTMLTableElement","_inherits2","_super","_this","_classCallCheck2","_len","args","_key","concat","_defineProperty2","_assertThisInitialized2","_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","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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"}
@@ -59,10 +59,6 @@ function recordSharedPreferences(subject, context) {
59
59
  return new Promise(function (resolve, reject) {
60
60
  var sharedPreferences = kb.any(subject, ns.ui('sharedPreferences'));
61
61
  if (!sharedPreferences) {
62
- if (!kb.updater.editable(subject.doc())) {
63
- debug.log(" Cant make shared preferences, may not change ".concat(subject.doc));
64
- resolve(context);
65
- }
66
62
  var sp = $rdf.sym(subject.doc().uri + '#SharedPreferences');
67
63
  var ins = [$rdf.st(subject, ns.ui('sharedPreferences'), sp, subject.doc())];
68
64
  debug.log('Creating shared preferences ' + sp);
@@ -1 +1 @@
1
- {"version":3,"file":"preferences.js","names":["$rdf","_interopRequireWildcard","require","_solidLogic","debug","_login","ns","participation","widgets","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","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","r","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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"}
1
+ {"version":3,"file":"preferences.js","names":["$rdf","_interopRequireWildcard","require","_solidLogic","debug","_login","ns","participation","widgets","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","kb","store","value","exports","k","v","log","Error","recordSharedPreferences","subject","context","Promise","resolve","reject","sharedPreferences","any","ui","sp","sym","doc","uri","ins","st","updater","update","ok","errorMessage","recordPersonalDefaults","theClass","ensureLoadedPreferences","then","preferencesFile","preferencesFileError","regs","each","solid","prefs","reg","length","forEach","r","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 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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"}
package/lib/style.js CHANGED
@@ -1,34 +1,27 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.style = void 0;
8
+ var _styleConstants = _interopRequireDefault(require("./styleConstants"));
7
9
  // Common readable consistent stylesheet
8
10
  // to avoid using style sheets which are document-global
9
11
  // and make programmable style toggling with selection, drag over, etc easier
10
-
11
12
  // These must all end with semicolon so they can be appended to.
12
13
 
13
- var formBorderColor = '#888888'; // Mid-grey
14
- var lowProfileLinkColor = '#3B5998'; // Grey-blue, e.g., for field labels linking to ontology
15
- var formFieldNameBoxWidth = '8em'; // The fixed amount to get form fields to line up
16
- // The latter we put in when switching awy from using tables. Getting allignment between
17
- // fields in different groups though is hard problem.
18
-
19
14
  var style = {
20
15
  // styleModule
21
16
 
22
17
  checkboxStyle: 'color: black; font-size: 100%; padding-left: 0.5 em; padding-right: 0.5 em;',
23
18
  checkboxInputStyle: 'font-size: 150%; height: 1.2em; width: 1.2em; background-color: #eef; border-radius:0.2em; margin: 0.1em',
24
19
  fieldLabelStyle: 'color: #3B5998; text-decoration: none;',
25
- formSelectSTyle: 'background-color: #eef; padding: 0.5em; border: .05em solid #88c; border-radius:0.2em; font-size: 100%; margin:0.4em;',
20
+ formSelectStyle: 'background-color: #eef; padding: 0.5em; border: .05em solid #88c; border-radius:0.2em; font-size: 100%; margin:0.4em;',
26
21
  textInputStyle: 'background-color: #eef; padding: 0.5em; border: .05em solid #88c; border-radius:0.2em; font-size: 100%; margin:0.4em;',
27
22
  textInputStyleUneditable:
28
23
  // Color difference only
29
24
  'background-color: white; padding: 0.5em; border: .05em solid white; border-radius:0.2em; font-size: 100%; margin:0.4em;',
30
- textInputSize: 20,
31
- // Default text input size in characters roughly
32
25
  buttonStyle: 'background-color: #fff; padding: 0.7em; border: .01em solid white; border-radius:0.2em; font-size: 100%; margin: 0.3em;',
33
26
  // 'background-color: #eef;
34
27
  commentStyle: 'padding: 0.7em; border: none; font-size: 100%; white-space: pre-wrap;',
@@ -37,20 +30,18 @@ var style = {
37
30
  classIconStyle: 'width: 3em; height: 3em; margin: 0.1em; border-radius: 0.2em; border: 0.1em solid green; padding: 0.2em; background-color: #efe;',
38
31
  // combine with buttonStyle
39
32
  confirmPopupStyle: 'padding: 0.7em; border-radius: 0.2em; border: 0.1em solid orange; background-color: white; box-shadow: 0.5em 0.9em #888;',
40
- tabBorderRadius: '0.2em',
41
33
  messageBodyStyle: 'white-space: pre-wrap; width: 99%; font-size:100%; border: 0.07em solid #eee; border-radius:0.2em; padding: .3em 0.5em; margin: 0.1em;',
42
34
  pendingeditModifier: 'color: #bbb;',
43
- highlightColor: '#7C4DFF',
44
- // Solid lavendar https://design.inrupt.com/atomic-core/?cat=Core
45
-
46
35
  // Contacts
47
36
  personaBarStyle: 'width: 100%; height: 4em; background-color: #eee; vertical-align: middle;',
48
37
  searchInputStyle: 'border: 0.1em solid #444; border-radius: 0.2em; width: 100%; font-size: 100%; padding: 0.1em 0.6em; margin 0.2em;',
49
38
  autocompleteRowStyle: 'border: 0.2em solid straw;',
50
39
  // Login buttons
51
- signInButtonStyle: 'padding: 1em; border-radius:0.2em; font-size: 100%;',
40
+ signInAndUpButtonStyle: 'padding: 1em; border-radius:0.2em; font-size: 100%;',
52
41
  // was 0.5em radius
53
-
42
+ headerBannerLoginInput: 'margin: 0.75em 0 0.75em 0.5em !important; padding: 0.5em !important;',
43
+ signUpBackground: 'background-color: #eef;',
44
+ signInBackground: 'background-color: #efe;',
54
45
  // Forms
55
46
  heading1Style: 'font-size: 180%; font-weight: bold; color: #888888; padding: 0.5em; margin: 0.7em 0.0m;',
56
47
  // originally was brown; now grey
@@ -61,24 +52,15 @@ var style = {
61
52
  heading4Style: 'font-size: 110%; font-weight: bold; color: #888888; padding: 0.2em; margin: 0.7em 0.0em;',
62
53
  // Lowest level used by default in small things
63
54
 
64
- formBorderColor: formBorderColor,
65
- // originally was brown; now grey
66
- formHeadingColor: '#888888',
67
- // originally was brown; now grey
68
55
  formHeadingStyle: 'font-size: 110%; font-weight: bold; color: #888888; padding: 0.2em; margin: 0.7em 0.0em;',
69
56
  // originally was brown; now grey
70
57
  formTextInput: 'font-size: 100%; margin: 0.1em; padding: 0.1em;',
71
58
  // originally used this
72
- formGroupStyle: ["padding-left: 0em; border: 0.0em solid ".concat(formBorderColor, "; border-radius: 0.2em;"), // weight 0
73
- "padding-left: 2em; border: 0.05em solid ".concat(formBorderColor, "; border-radius: 0.2em;"), "padding-left: 2em; border: 0.1em solid ".concat(formBorderColor, "; border-radius: 0.2em;"), "padding-left: 2em; border: 0.2em solid ".concat(formBorderColor, "; border-radius: 0.2em;") // @@ pink
59
+ formGroupStyle: ["padding-left: 0em; border: 0.0em solid ".concat(_styleConstants["default"].formBorderColor, "; border-radius: 0.2em;"), // weight 0
60
+ "padding-left: 2em; border: 0.05em solid ".concat(_styleConstants["default"].formBorderColor, "; border-radius: 0.2em;"), "padding-left: 2em; border: 0.1em solid ".concat(_styleConstants["default"].formBorderColor, "; border-radius: 0.2em;"), "padding-left: 2em; border: 0.2em solid ".concat(_styleConstants["default"].formBorderColor, "; border-radius: 0.2em;") // @@ pink
74
61
  ],
75
- formFieldLabelStyle: "'color: ".concat(lowProfileLinkColor, "; text-decoration: none;'"),
76
- formFieldNameBoxWidth: formFieldNameBoxWidth,
77
- formFieldNameBoxStyle: "padding: 0.3em; vertical-align: middle; width:".concat(formFieldNameBoxWidth, ";"),
78
- textInputBackgroundColor: '#eef',
79
- textInputBackgroundColorUneditable: '#fff',
80
- textInputColor: '#000',
81
- textInputColorPending: '#888',
62
+ formFieldLabelStyle: "'color: ".concat(_styleConstants["default"].lowProfileLinkColor, "; text-decoration: none;'"),
63
+ formFieldNameBoxStyle: "padding: 0.3em; vertical-align: middle; width:".concat(_styleConstants["default"].formFieldNameBoxWidth, ";"),
82
64
  multilineTextInputStyle: 'font-size:100%; white-space: pre-wrap; background-color: #eef;' + ' border: 0.07em solid gray; padding: 1em 0.5em; margin: 1em 1em;',
83
65
  // Buttons
84
66
  renderAsDivStyle: 'display: flex; align-items: center; justify-content: space-between; height: 2.5em; padding: 1em;',
@@ -125,7 +107,6 @@ var style = {
125
107
  headerBannerRightMenu: 'display: flex',
126
108
  headerBannerLogin: 'margin-left: auto',
127
109
  allChildrenVisible: 'display:true',
128
- headerBannerLoginInput: 'margin: 0.75em 0 0.75em 0.5em !important; padding: 0.5em !important',
129
110
  headerBannerUserMenu: 'border-left: solid 1px #000000; margin-left: auto',
130
111
  headerBannerHelpMenu: 'border-left: solid 1px #000000; margin.left: auto',
131
112
  headerBannerIcon: 'background-size: 65px 60px !important; height: 60px !important; width: 65px !important',
@@ -141,7 +122,34 @@ var style = {
141
122
  secondaryButton: 'background-color: #01c9ea; color: #ffffff; font-family: Raleway, Roboto, sans-serif;border-radius: 0.25em; border-color: #01c9ea; border: 1px solid; cursor: pointer; font-size: .8em;text-decoration: none; padding: 0.5em 4em; transition: 0.25s all ease-in-out; outline: none',
142
123
  secondaryButtonHover: 'background-color: #37cde6; color: #ffffff; font-family: Raleway, Roboto, sans-serif;border-radius: 0.25em; border-color: #7c4dff; border: 1px solid; cursor: pointer; font-size: .8em;text-decoration: none; padding: 0.5em 4em; transition: 0.25s all ease-in-out; outline: none; transition: 0.25s all ease-in-out',
143
124
  secondaryButtonNoBorder: 'background-color: #ffffff; color: #01c9ea; font-family: Raleway, Roboto, sans-serif; border-radius: 0.25em; border-color: #01c9ea; border: 1px solid; cursor: pointer; font-size: .8em; text-decoration: none; padding: 0.5em 4em; transition: 0.25s all ease-in-out; outline: none',
144
- secondaryButtonNoBorderHover: 'background-color: #01c9ea; color: #ffffff; font-family: Raleway, Roboto, sans-serif; border-radius: 0.25em; border-color: #01c9ea; border: 1px solid; cursor: pointer; font-size: .8em; text-decoration: none; padding: 0.5em 4em; transition: 0.25s all ease-in-out; outline: none; transition: 0.25s all ease-in-out'
125
+ secondaryButtonNoBorderHover: 'background-color: #01c9ea; color: #ffffff; font-family: Raleway, Roboto, sans-serif; border-radius: 0.25em; border-color: #01c9ea; border: 1px solid; cursor: pointer; font-size: .8em; text-decoration: none; padding: 0.5em 4em; transition: 0.25s all ease-in-out; outline: none; transition: 0.25s all ease-in-out',
126
+ // media
127
+ controlStyle: "border-radius: 0.5em; margin: 0.8em; width:".concat(_styleConstants["default"].mediaModuleCanvasWidth, "; height:").concat(_styleConstants["default"].mediaModuleCanvasHeight, ";"),
128
+ // dragAndDrop
129
+ dragEvent: 'background-color: #ccc; border: 0.25em dashed black; border-radius: 0.3em;',
130
+ dropEvent: 'background-color: white; border: 0em solid black;',
131
+ restoreStyle: 'background-color: white;',
132
+ // errors
133
+ errorCancelButton: 'width: 2em; height: 2em; align: right;',
134
+ errorMessageBlockStyle: 'margin: 0.1em; padding: 0.5em; border: 0.05em solid gray; color:black;',
135
+ // pad
136
+ notepadStyle: 'padding: 1em; overflow: auto; resize: horizontal; min-width: 40em;',
137
+ upstreamStatus: 'width:50%',
138
+ downstreamStatus: 'width:50%',
139
+ baseStyle: 'font-size: 100%; font-family: monospace; width: 100%; border: none; white-space: pre-wrap;',
140
+ headingCore: 'font-family: sans-serif; font-weight: bold; border: none;',
141
+ headingStyle: ['font-size: 110%; padding-top: 0.5em; padding-bottom: 0.5em; width: 100%;', 'font-size: 120%; padding-top: 1em; padding-bottom: 1em; width: 100%;', 'font-size: 150%; padding-top: 1em; padding-bottom: 1em; width: 100%;'],
142
+ // participation
143
+ participantsStyle: 'margin: 0.8em;',
144
+ participantsBlock: 'height: 1.5em; width: 1.5em; margin: 0.3em; border 0.01em solid #888;',
145
+ personTableTD: 'vertical-align: middle;',
146
+ // tabs
147
+ tabsNavElement: 'margin: 0;',
148
+ tabsRootElement: 'display: flex; height: 100%; width: 100%;',
149
+ tabsMainElement: 'margin: 0; width:100%; height: 100%;',
150
+ tabContainer: 'list-style-type: none; display: flex; height: 100%; width: 100%; margin: 0; padding: 0;',
151
+ makeNewSlot: 'background: none; border: none; font: inherit; cursor: pointer',
152
+ ellipsis: 'position: absolute; right: 0; bottom: 0; width: 20%; background: none; color: inherit; border: none; padding: 0; font: inherit; cursor: pointer; outline: inherit;'
145
153
  };
146
154
  exports.style = style;
147
155
  style.setStyle = function setStyle(ele, styleName) {