solid-panes 3.6.2-eee122ba → 3.6.3-0230eebb

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 (99) hide show
  1. package/coverage/clover.xml +2 -2
  2. package/coverage/lcov-report/index.html +1 -1
  3. package/coverage/lcov-report/outline/index.html +1 -1
  4. package/coverage/lcov-report/outline/outlineIcons.js.html +1 -1
  5. package/coverage/lcov-report/outline/propertyViews.ts.html +1 -1
  6. package/coverage/lcov-report/outline/viewAsImage.ts.html +1 -1
  7. package/coverage/lcov-report/outline/viewAsMbox.ts.html +1 -1
  8. package/coverage/lcov-report/trustedApplications/index.html +1 -1
  9. package/coverage/lcov-report/trustedApplications/trustedApplications.utils.ts.html +1 -1
  10. package/eslint.config.mjs +34 -0
  11. package/lib/RDFXMLPane.js +1 -2
  12. package/lib/RDFXMLPane.js.map +1 -1
  13. package/lib/argument/argumentPane.js +1 -2
  14. package/lib/argument/argumentPane.js.map +1 -1
  15. package/lib/attach/attachPane.js +1 -2
  16. package/lib/attach/attachPane.js.map +1 -1
  17. package/lib/audio/audioPane.js +1 -2
  18. package/lib/audio/audioPane.js.map +1 -1
  19. package/lib/classInstancePane.js +1 -2
  20. package/lib/classInstancePane.js.map +1 -1
  21. package/lib/dashboard/basicPreferences.js +47 -55
  22. package/lib/dashboard/basicPreferences.js.map +1 -1
  23. package/lib/dashboard/homepage.js +15 -21
  24. package/lib/dashboard/homepage.js.map +1 -1
  25. package/lib/dataContentPane.js +1 -2
  26. package/lib/dataContentPane.js.map +1 -1
  27. package/lib/defaultPane.js +1 -2
  28. package/lib/defaultPane.js.map +1 -1
  29. package/lib/dokieli/dokieliPane.js +1 -2
  30. package/lib/dokieli/dokieliPane.js.map +1 -1
  31. package/lib/form/pane.js +1 -2
  32. package/lib/form/pane.js.map +1 -1
  33. package/lib/home/homePane.js +10 -11
  34. package/lib/home/homePane.js.map +1 -1
  35. package/lib/humanReadablePane.js +33 -31
  36. package/lib/humanReadablePane.js.map +1 -1
  37. package/lib/imagePane.js +1 -2
  38. package/lib/imagePane.js.map +1 -1
  39. package/lib/index.js +1 -2
  40. package/lib/index.js.map +1 -1
  41. package/lib/mainPage/header.js +36 -43
  42. package/lib/mainPage/header.js.map +1 -1
  43. package/lib/mainPage/index.js +9 -12
  44. package/lib/mainPage/index.js.map +1 -1
  45. package/lib/microblogPane/microblogPane.js +1 -2
  46. package/lib/microblogPane/microblogPane.js.map +1 -1
  47. package/lib/n3Pane.js +1 -2
  48. package/lib/n3Pane.js.map +1 -1
  49. package/lib/outline/manager.js +161 -189
  50. package/lib/outline/manager.js.map +1 -1
  51. package/lib/outline/manager.test.js +10 -11
  52. package/lib/outline/manager.test.js.map +1 -1
  53. package/lib/outline/outlineIcons.js +1 -2
  54. package/lib/outline/outlineIcons.js.map +1 -1
  55. package/lib/outline/queryByExample.js +1 -2
  56. package/lib/outline/queryByExample.js.map +1 -1
  57. package/lib/outline/userInput.js +1 -2
  58. package/lib/outline/userInput.js.map +1 -1
  59. package/lib/outline/viewAsImage.d.ts.map +1 -1
  60. package/lib/outline/viewAsImage.js +1 -2
  61. package/lib/outline/viewAsImage.js.map +1 -1
  62. package/lib/outline/viewAsMbox.d.ts.map +1 -1
  63. package/lib/playlist/playlistPane.js +1 -2
  64. package/lib/playlist/playlistPane.js.map +1 -1
  65. package/lib/schedule/formsForSchedule.js +5 -1
  66. package/lib/schedule/formsForSchedule.js.map +1 -1
  67. package/lib/schedule/schedulePane.js +1 -2
  68. package/lib/schedule/schedulePane.js.map +1 -1
  69. package/lib/slideshow/slideshowPane.js +1 -2
  70. package/lib/slideshow/slideshowPane.js.map +1 -1
  71. package/lib/socialPane.js +1 -2
  72. package/lib/socialPane.js.map +1 -1
  73. package/lib/tabbed/tabbedPane.js +11 -12
  74. package/lib/tabbed/tabbedPane.js.map +1 -1
  75. package/lib/tableViewPane.js +1 -2
  76. package/lib/tableViewPane.js.map +1 -1
  77. package/lib/transaction/pane.js +1 -2
  78. package/lib/transaction/pane.js.map +1 -1
  79. package/lib/transaction/period.js +1 -2
  80. package/lib/transaction/period.js.map +1 -1
  81. package/lib/trip/tripPane.js +1 -2
  82. package/lib/trip/tripPane.js.map +1 -1
  83. package/lib/trustedApplications/trustedApplications.test.js +1 -2
  84. package/lib/trustedApplications/trustedApplications.test.js.map +1 -1
  85. package/lib/trustedApplications/trustedApplications.view.js +15 -16
  86. package/lib/trustedApplications/trustedApplications.view.js.map +1 -1
  87. package/lib/ui/pane.js +1 -2
  88. package/lib/ui/pane.js.map +1 -1
  89. package/lib/versionInfo.d.ts +2 -2
  90. package/lib/versionInfo.d.ts.map +1 -1
  91. package/lib/versionInfo.js +28 -28
  92. package/lib/versionInfo.js.map +1 -1
  93. package/lib/video/videoPane.js +1 -2
  94. package/lib/video/videoPane.js.map +1 -1
  95. package/package.json +5 -4
  96. package/src/humanReadablePane.js +28 -35
  97. package/src/schedule/formsForSchedule.js +1 -1
  98. package/src/versionInfo.ts +30 -31
  99. package/timestamp.sh +10 -4
@@ -1 +1 @@
1
- {"version":3,"file":"viewAsImage.d.ts","sourceRoot":"","sources":["../../src/outline/viewAsImage.ts"],"names":[],"mappings":";AAEA,wBASC"}
1
+ {"version":3,"file":"viewAsImage.d.ts","sourceRoot":"","sources":["../../src/outline/viewAsImage.ts"],"names":[],"mappings":"yBAEgB,QAAG,MAA2B,QAAG;AAAjD,wBASC"}
@@ -6,8 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports["default"] = void 0;
8
8
  var UI = _interopRequireWildcard(require("solid-ui"));
9
- 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); }
10
- 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; }
9
+ 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); }
11
10
  var _default = exports["default"] = function _default(dom) {
12
11
  return function viewAsImage(obj) {
13
12
  var img = UI.utils.AJARImage(obj.uri, UI.utils.label(obj), UI.utils.label(obj), dom);
@@ -1 +1 @@
1
- {"version":3,"file":"viewAsImage.js","names":["UI","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_default","exports","dom","viewAsImage","obj","img","utils","AJARImage","uri","label","setAttribute"],"sources":["../../src/outline/viewAsImage.ts"],"sourcesContent":["import * as UI from 'solid-ui'\n\nexport default (dom) => function viewAsImage (obj) {\n const img = UI.utils.AJARImage(\n obj.uri,\n UI.utils.label(obj),\n UI.utils.label(obj),\n dom\n )\n img.setAttribute('class', 'outlineImage')\n return img\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,EAAA,GAAAC,uBAAA,CAAAC,OAAA;AAA8B,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,gBAAAK,OAAA,CAAAL,CAAA,0BAAAA,CAAA,sBAAAA,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,cAAAR,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,IAAAW,QAAA,GAAAC,OAAA,cAEf,SAAAD,SAACE,GAAG;EAAA,OAAK,SAASC,WAAWA,CAAEC,GAAG,EAAE;IACjD,IAAMC,GAAG,GAAG5B,EAAE,CAAC6B,KAAK,CAACC,SAAS,CAC5BH,GAAG,CAACI,GAAG,EACP/B,EAAE,CAAC6B,KAAK,CAACG,KAAK,CAACL,GAAG,CAAC,EACnB3B,EAAE,CAAC6B,KAAK,CAACG,KAAK,CAACL,GAAG,CAAC,EACnBF,GACF,CAAC;IACDG,GAAG,CAACK,YAAY,CAAC,OAAO,EAAE,cAAc,CAAC;IACzC,OAAOL,GAAG;EACZ,CAAC;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"viewAsImage.js","names":["UI","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_default","exports","dom","viewAsImage","obj","img","utils","AJARImage","uri","label","setAttribute"],"sources":["../../src/outline/viewAsImage.ts"],"sourcesContent":["import * as UI from 'solid-ui'\n\nexport default (dom) => function viewAsImage (obj) {\n const img = UI.utils.AJARImage(\n obj.uri,\n UI.utils.label(obj),\n UI.utils.label(obj),\n dom\n )\n img.setAttribute('class', 'outlineImage')\n return img\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,EAAA,GAAAC,uBAAA,CAAAC,OAAA;AAA8B,SAAAD,wBAAAE,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAJ,uBAAA,YAAAA,wBAAAE,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;AAAA,IAAAmB,QAAA,GAAAC,OAAA,cAEf,SAAAD,SAACE,GAAG;EAAA,OAAK,SAASC,WAAWA,CAAEC,GAAG,EAAE;IACjD,IAAMC,GAAG,GAAG5B,EAAE,CAAC6B,KAAK,CAACC,SAAS,CAC5BH,GAAG,CAACI,GAAG,EACP/B,EAAE,CAAC6B,KAAK,CAACG,KAAK,CAACL,GAAG,CAAC,EACnB3B,EAAE,CAAC6B,KAAK,CAACG,KAAK,CAACL,GAAG,CAAC,EACnBF,GACF,CAAC;IACDG,GAAG,CAACK,YAAY,CAAC,OAAO,EAAE,cAAc,CAAC;IACzC,OAAOL,GAAG;EACZ,CAAC;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"viewAsMbox.d.ts","sourceRoot":"","sources":["../../src/outline/viewAsMbox.ts"],"names":[],"mappings":";AAAA,wBAaC"}
1
+ {"version":3,"file":"viewAsMbox.d.ts","sourceRoot":"","sources":["../../src/outline/viewAsMbox.ts"],"names":[],"mappings":"yBAAgB,QAAG,MAA0B,QAAG;AAAhD,wBAaC"}
@@ -7,8 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports["default"] = void 0;
8
8
  var UI = _interopRequireWildcard(require("solid-ui"));
9
9
  var $rdf = _interopRequireWildcard(require("rdflib"));
10
- 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); }
11
- 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; }
10
+ 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); }
12
11
  /* Playlist Pane
13
12
  **
14
13
  ** This pane allows playlists and playlists slots to be viewed
@@ -1 +1 @@
1
- {"version":3,"file":"playlistPane.js","names":["UI","_interopRequireWildcard","require","$rdf","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ns","_default","exports","icon","icons","iconBase","name","audience","solid","label","subject","context","kb","session","store","anyStatementMatching","rdf","sym","render","myDocument","dom","isVideo","src","_index","html5","youtube","match","vimeo","dailymotion","vk","link","contents","uri","createElement","setAttribute","appendChild","addEventListener","widgets","openHrefInOutlineMode","text","str","createTextNode","obj","any","index","video","div","img","replace","value","descDiv","sl","statementsMatching","slots","length","push","parseInt","object","pIndex","indexOf","nIndex","prev","split","indexDiv","innerHTML","next","tr"],"sources":["../../src/playlist/playlistPane.js"],"sourcesContent":["/* Playlist Pane\n **\n ** This pane allows playlists and playlists slots to be viewed\n ** seeAlso: http://smiy.sourceforge.net/pbo/spec/playbackontology.html\n */\n import * as UI from 'solid-ui'\n import * as $rdf from 'rdflib'\nconst ns = UI.ns\n\nexport default {\n icon: UI.icons.iconBase + 'noun_1619.svg',\n\n name: 'playlistSlot',\n\n audience: [ns.solid('PowerUser')],\n\n label: function (subject, context) {\n const kb = context.session.store\n\n if (\n !kb.anyStatementMatching(\n subject,\n UI.ns.rdf('type'),\n kb.sym('http://purl.org/ontology/pbo/core#PlaylistSlot')\n )\n ) {\n return null\n }\n\n return 'playlist slot'\n },\n\n render: function (subject, context) {\n const myDocument = context.dom\n function isVideo (src, _index) {\n if (!src) {\n return {\n html5: true\n }\n }\n\n const youtube = src.match(\n /\\/\\/(?:www\\.)?youtu(?:\\.be|be\\.com)\\/(?:watch\\?v=|embed\\/)?([a-z0-9\\-_%]+)/i\n )\n const vimeo = src.match(/\\/\\/(?:www\\.)?vimeo.com\\/([0-9a-z\\-_]+)/i)\n const dailymotion = src.match(/\\/\\/(?:www\\.)?dai.ly\\/([0-9a-z\\-_]+)/i)\n const vk = src.match(\n /\\/\\/(?:www\\.)?(?:vk\\.com|vkontakte\\.ru)\\/(?:video_ext\\.php\\?)(.*)/i\n )\n\n if (youtube) {\n return {\n youtube: youtube\n }\n } else if (vimeo) {\n return {\n vimeo: vimeo\n }\n } else if (dailymotion) {\n return {\n dailymotion: dailymotion\n }\n } else if (vk) {\n return {\n vk: vk\n }\n }\n }\n\n const link = function (contents, uri) {\n if (!uri) return contents\n const a = myDocument.createElement('a')\n a.setAttribute('href', uri)\n a.appendChild(contents)\n a.addEventListener('click', UI.widgets.openHrefInOutlineMode, true)\n return a\n }\n\n const text = function (str) {\n return myDocument.createTextNode(str)\n }\n\n const kb = context.session.store\n const obj = kb.any(\n subject,\n $rdf.sym('http://purl.org/ontology/pbo/core#playlist_item')\n )\n let index = kb.any(\n subject,\n $rdf.sym('http://purl.org/ontology/olo/core#index')\n )\n\n let uri = obj.uri\n const video = isVideo(uri)\n\n const div = myDocument.createElement('div')\n let img\n if (video && video.youtube) {\n uri = uri.replace('watch?v=', 'embed/')\n div.setAttribute('class', 'imageView')\n img = myDocument.createElement('IFRAME')\n img.setAttribute('src', uri)\n img.setAttribute('width', 560)\n img.setAttribute('height', 315)\n img.setAttribute('frameborder', 0)\n img.setAttribute('style', 'max-width: 850px; max-height: 100%;')\n img.setAttribute('allowfullscreen', 'true')\n } else {\n div.setAttribute('class', 'imageView')\n img = myDocument.createElement('IMG')\n img.setAttribute('src', obj.value)\n img.setAttribute('width', 560)\n img.setAttribute('height', 315)\n img.setAttribute('style', 'max-width: 560; max-height: 315;')\n }\n\n let descDiv\n if (index) {\n const sl = kb.statementsMatching(\n null,\n $rdf.sym('http://purl.org/ontology/olo/core#index')\n )\n const slots = []\n for (let i = 0; i < sl.length; i++) {\n if (sl[i]) {\n slots.push(parseInt(sl[i].object.value, 10))\n }\n }\n\n index = parseInt(index.value, 10)\n descDiv = myDocument.createElement('div')\n\n const pIndex =\n slots[(slots.indexOf(index) - 1 + slots.length) % slots.length]\n const nIndex =\n slots[(slots.indexOf(index) + 1 + slots.length) % slots.length]\n\n const prev = link(text('<<'), subject.uri.split('#')[0] + '#' + pIndex)\n\n descDiv.appendChild(prev)\n\n const indexDiv = myDocument.createElement('span')\n indexDiv.innerHTML = ' Playlist slot : ' + index + ' '\n\n descDiv.appendChild(indexDiv)\n\n const next = link(text('>>'), subject.uri.split('#')[0] + '#' + nIndex)\n descDiv.appendChild(next)\n }\n\n const tr = myDocument.createElement('TR') // why need tr?\n tr.appendChild(img)\n if (descDiv) {\n tr.appendChild(descDiv)\n }\n div.appendChild(tr)\n return div\n }\n}\n\n// ends\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"playlistPane.js","names":["UI","_interopRequireWildcard","require","$rdf","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ns","_default","exports","icon","icons","iconBase","name","audience","solid","label","subject","context","kb","session","store","anyStatementMatching","rdf","sym","render","myDocument","dom","isVideo","src","_index","html5","youtube","match","vimeo","dailymotion","vk","link","contents","uri","a","createElement","setAttribute","appendChild","addEventListener","widgets","openHrefInOutlineMode","text","str","createTextNode","obj","any","index","video","div","img","replace","value","descDiv","sl","statementsMatching","slots","length","push","parseInt","object","pIndex","indexOf","nIndex","prev","split","indexDiv","innerHTML","next","tr"],"sources":["../../src/playlist/playlistPane.js"],"sourcesContent":["/* Playlist Pane\n **\n ** This pane allows playlists and playlists slots to be viewed\n ** seeAlso: http://smiy.sourceforge.net/pbo/spec/playbackontology.html\n */\n import * as UI from 'solid-ui'\n import * as $rdf from 'rdflib'\nconst ns = UI.ns\n\nexport default {\n icon: UI.icons.iconBase + 'noun_1619.svg',\n\n name: 'playlistSlot',\n\n audience: [ns.solid('PowerUser')],\n\n label: function (subject, context) {\n const kb = context.session.store\n\n if (\n !kb.anyStatementMatching(\n subject,\n UI.ns.rdf('type'),\n kb.sym('http://purl.org/ontology/pbo/core#PlaylistSlot')\n )\n ) {\n return null\n }\n\n return 'playlist slot'\n },\n\n render: function (subject, context) {\n const myDocument = context.dom\n function isVideo (src, _index) {\n if (!src) {\n return {\n html5: true\n }\n }\n\n const youtube = src.match(\n /\\/\\/(?:www\\.)?youtu(?:\\.be|be\\.com)\\/(?:watch\\?v=|embed\\/)?([a-z0-9\\-_%]+)/i\n )\n const vimeo = src.match(/\\/\\/(?:www\\.)?vimeo.com\\/([0-9a-z\\-_]+)/i)\n const dailymotion = src.match(/\\/\\/(?:www\\.)?dai.ly\\/([0-9a-z\\-_]+)/i)\n const vk = src.match(\n /\\/\\/(?:www\\.)?(?:vk\\.com|vkontakte\\.ru)\\/(?:video_ext\\.php\\?)(.*)/i\n )\n\n if (youtube) {\n return {\n youtube: youtube\n }\n } else if (vimeo) {\n return {\n vimeo: vimeo\n }\n } else if (dailymotion) {\n return {\n dailymotion: dailymotion\n }\n } else if (vk) {\n return {\n vk: vk\n }\n }\n }\n\n const link = function (contents, uri) {\n if (!uri) return contents\n const a = myDocument.createElement('a')\n a.setAttribute('href', uri)\n a.appendChild(contents)\n a.addEventListener('click', UI.widgets.openHrefInOutlineMode, true)\n return a\n }\n\n const text = function (str) {\n return myDocument.createTextNode(str)\n }\n\n const kb = context.session.store\n const obj = kb.any(\n subject,\n $rdf.sym('http://purl.org/ontology/pbo/core#playlist_item')\n )\n let index = kb.any(\n subject,\n $rdf.sym('http://purl.org/ontology/olo/core#index')\n )\n\n let uri = obj.uri\n const video = isVideo(uri)\n\n const div = myDocument.createElement('div')\n let img\n if (video && video.youtube) {\n uri = uri.replace('watch?v=', 'embed/')\n div.setAttribute('class', 'imageView')\n img = myDocument.createElement('IFRAME')\n img.setAttribute('src', uri)\n img.setAttribute('width', 560)\n img.setAttribute('height', 315)\n img.setAttribute('frameborder', 0)\n img.setAttribute('style', 'max-width: 850px; max-height: 100%;')\n img.setAttribute('allowfullscreen', 'true')\n } else {\n div.setAttribute('class', 'imageView')\n img = myDocument.createElement('IMG')\n img.setAttribute('src', obj.value)\n img.setAttribute('width', 560)\n img.setAttribute('height', 315)\n img.setAttribute('style', 'max-width: 560; max-height: 315;')\n }\n\n let descDiv\n if (index) {\n const sl = kb.statementsMatching(\n null,\n $rdf.sym('http://purl.org/ontology/olo/core#index')\n )\n const slots = []\n for (let i = 0; i < sl.length; i++) {\n if (sl[i]) {\n slots.push(parseInt(sl[i].object.value, 10))\n }\n }\n\n index = parseInt(index.value, 10)\n descDiv = myDocument.createElement('div')\n\n const pIndex =\n slots[(slots.indexOf(index) - 1 + slots.length) % slots.length]\n const nIndex =\n slots[(slots.indexOf(index) + 1 + slots.length) % slots.length]\n\n const prev = link(text('<<'), subject.uri.split('#')[0] + '#' + pIndex)\n\n descDiv.appendChild(prev)\n\n const indexDiv = myDocument.createElement('span')\n indexDiv.innerHTML = ' Playlist slot : ' + index + ' '\n\n descDiv.appendChild(indexDiv)\n\n const next = link(text('>>'), subject.uri.split('#')[0] + '#' + nIndex)\n descDiv.appendChild(next)\n }\n\n const tr = myDocument.createElement('TR') // why need tr?\n tr.appendChild(img)\n if (descDiv) {\n tr.appendChild(descDiv)\n }\n div.appendChild(tr)\n return div\n }\n}\n\n// ends\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,8 @@
1
1
  "use strict";
2
2
 
3
- module.exports = "\n@prefix dc: <http://purl.org/dc/elements/1.1/>.\n@prefix foaf: <http://xmlns.com/foaf/0.1/>.\n@prefix cal: <http://www.w3.org/2002/12/cal/ical#>.\n@prefix ui: <http://www.w3.org/ns/ui#>.\n@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.\n@prefix sched: <http://www.w3.org/ns/pim/schedule#>.\n\n cal:Vevent ui:annotationForm <#form2>, <#form3>; ui:creationForm <#form1> .\n\n<#bigForm>\n dc:title\n \"Schedule event (single form).\";\n a ui:Group;\n ui:parts ( <#form1> <#form2> <#form3> ).\n\n<#form1>\n dc:title\n \"Schedule an event (wizard)\";\n a ui:Form;\n ui:parts (\n <#form1header>\n <#eventTitle>\n <#eventLocation>\n <#eventType>\n <#eventSwitch>\n <#eventComment>\n <#eventAuthor> ).\n\n<#form1header> a ui:Heading; ui:contents \"Schedule an event\" .\n\n<#eventTitle>\n a ui:SingleLineTextField;\n ui:maxLength\n \"128\";\n ui:property\n cal:summary;\n ui:size\n \"40\".\n\n<#eventLocation>\n a ui:SingleLineTextField;\n ui:maxLength\n \"512\";\n ui:property\n cal:location;\n ui:size\n \"40\".\n\n<#eventType> a ui:BooleanField;\n ui:property sched:allDay;\n ui:default true . # Used to be the only way\n\n<#eventSwitch> a ui:Options;\n ui:dependingOn sched:allDay;\n ui:case [ ui:for true; ui:use <#AllDayForm> ];\n ui:case [ ui:for false; ui:use <#NotAllDayForm> ].\n\n <#AllDayForm> a ui:IntegerField ;\n ui:property sched:durationInDays;\n ui:label \"How many days?\";\n ui:min 1;\n ui:default 1 .\n\n <#NotAllDayForm> a ui:IntegerField ;\n ui:property sched:durationInMinutes;\n ui:label \"Duration (mins)\";\n ui:min 5;\n ui:default 55 .\n\n<#eventComment>\n a ui:MultiLineTextField;\n# ui:maxLength\n# \"1048\";\n# ui:size\n# \"40\".\n ui:property\n cal:comment.\n\n<#eventAuthor>\n a ui:Multiple; ui:min 1; ui:part <#eventAuthorGroup>; ui:property dc:author.\n\n <#eventAuthorGroup> a ui:Group; ui:parts ( <#authorName> <#authorEmail> ) .\n <#authorName> a ui:SingleLineTextField; ui:property foaf:name .\n <#authorEmail> a ui:EmailField; ui:label \"email\"; ui:property foaf:mbox .\n\n\n#####################\n\n<#form2> dc:title \"Select possible days or times\"; a ui:Form;\n ui:parts ( <#id1118132113134> <#possibleSwitch> ).\n\n <#id1118132113134> a ui:Heading; ui:contents \"Time proposals\" .\n\n <#possibleSwitch> a ui:Options;\n ui:dependingOn sched:allDay;\n ui:case [ ui:for true; ui:use <#AllDayForm2> ];\n ui:case [ ui:for false; ui:use <#NotAllDayForm2> ].\n\n <#AllDayForm2>\n a ui:Multiple; ui:min 2; ui:part <#posssibleDate>; ui:property sched:option.\n <#posssibleDate> a ui:DateField; ui:property cal:dtstart; ui:label \"date\".\n\n <#NotAllDayForm2>\n a ui:Multiple; ui:min 2; ui:part <#posssibleTime>; ui:property sched:option.\n <#posssibleTime> a ui:DateTimeField; ui:property cal:dtstart; ui:label \"date and time\".\n\n ##################################\n\n <#form3> dc:title \"Select invited people\"; a ui:Form; ui:parts ( <#id1118132113135> <#id1417314641301b> ) .\n<#id1417314641301b>\n a ui:Multiple; ui:min 1; ui:part <#id1417314674292b>; ui:property sched:invitee.\n <#id1417314674292b> a ui:EmailField; ui:label \"email\"; ui:property foaf:mbox .\n <#id1118132113135> a ui:Heading; ui:contents \"Who to invite\" .\n\n# ENDS\n";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _default = exports["default"] = "\n@prefix dc: <http://purl.org/dc/elements/1.1/>.\n@prefix foaf: <http://xmlns.com/foaf/0.1/>.\n@prefix cal: <http://www.w3.org/2002/12/cal/ical#>.\n@prefix ui: <http://www.w3.org/ns/ui#>.\n@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.\n@prefix sched: <http://www.w3.org/ns/pim/schedule#>.\n\n cal:Vevent ui:annotationForm <#form2>, <#form3>; ui:creationForm <#form1> .\n\n<#bigForm>\n dc:title\n \"Schedule event (single form).\";\n a ui:Group;\n ui:parts ( <#form1> <#form2> <#form3> ).\n\n<#form1>\n dc:title\n \"Schedule an event (wizard)\";\n a ui:Form;\n ui:parts (\n <#form1header>\n <#eventTitle>\n <#eventLocation>\n <#eventType>\n <#eventSwitch>\n <#eventComment>\n <#eventAuthor> ).\n\n<#form1header> a ui:Heading; ui:contents \"Schedule an event\" .\n\n<#eventTitle>\n a ui:SingleLineTextField;\n ui:maxLength\n \"128\";\n ui:property\n cal:summary;\n ui:size\n \"40\".\n\n<#eventLocation>\n a ui:SingleLineTextField;\n ui:maxLength\n \"512\";\n ui:property\n cal:location;\n ui:size\n \"40\".\n\n<#eventType> a ui:BooleanField;\n ui:property sched:allDay;\n ui:default true . # Used to be the only way\n\n<#eventSwitch> a ui:Options;\n ui:dependingOn sched:allDay;\n ui:case [ ui:for true; ui:use <#AllDayForm> ];\n ui:case [ ui:for false; ui:use <#NotAllDayForm> ].\n\n <#AllDayForm> a ui:IntegerField ;\n ui:property sched:durationInDays;\n ui:label \"How many days?\";\n ui:min 1;\n ui:default 1 .\n\n <#NotAllDayForm> a ui:IntegerField ;\n ui:property sched:durationInMinutes;\n ui:label \"Duration (mins)\";\n ui:min 5;\n ui:default 55 .\n\n<#eventComment>\n a ui:MultiLineTextField;\n# ui:maxLength\n# \"1048\";\n# ui:size\n# \"40\".\n ui:property\n cal:comment.\n\n<#eventAuthor>\n a ui:Multiple; ui:min 1; ui:part <#eventAuthorGroup>; ui:property dc:author.\n\n <#eventAuthorGroup> a ui:Group; ui:parts ( <#authorName> <#authorEmail> ) .\n <#authorName> a ui:SingleLineTextField; ui:property foaf:name .\n <#authorEmail> a ui:EmailField; ui:label \"email\"; ui:property foaf:mbox .\n\n\n#####################\n\n<#form2> dc:title \"Select possible days or times\"; a ui:Form;\n ui:parts ( <#id1118132113134> <#possibleSwitch> ).\n\n <#id1118132113134> a ui:Heading; ui:contents \"Time proposals\" .\n\n <#possibleSwitch> a ui:Options;\n ui:dependingOn sched:allDay;\n ui:case [ ui:for true; ui:use <#AllDayForm2> ];\n ui:case [ ui:for false; ui:use <#NotAllDayForm2> ].\n\n <#AllDayForm2>\n a ui:Multiple; ui:min 2; ui:part <#posssibleDate>; ui:property sched:option.\n <#posssibleDate> a ui:DateField; ui:property cal:dtstart; ui:label \"date\".\n\n <#NotAllDayForm2>\n a ui:Multiple; ui:min 2; ui:part <#posssibleTime>; ui:property sched:option.\n <#posssibleTime> a ui:DateTimeField; ui:property cal:dtstart; ui:label \"date and time\".\n\n ##################################\n\n <#form3> dc:title \"Select invited people\"; a ui:Form; ui:parts ( <#id1118132113135> <#id1417314641301b> ) .\n<#id1417314641301b>\n a ui:Multiple; ui:min 1; ui:part <#id1417314674292b>; ui:property sched:invitee.\n <#id1417314674292b> a ui:EmailField; ui:label \"email\"; ui:property foaf:mbox .\n <#id1118132113135> a ui:Heading; ui:contents \"Who to invite\" .\n\n# ENDS\n";
4
8
  //# sourceMappingURL=formsForSchedule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"formsForSchedule.js","names":["module","exports"],"sources":["../../src/schedule/formsForSchedule.js"],"sourcesContent":["module.exports = `\n@prefix dc: <http://purl.org/dc/elements/1.1/>.\n@prefix foaf: <http://xmlns.com/foaf/0.1/>.\n@prefix cal: <http://www.w3.org/2002/12/cal/ical#>.\n@prefix ui: <http://www.w3.org/ns/ui#>.\n@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.\n@prefix sched: <http://www.w3.org/ns/pim/schedule#>.\n\n cal:Vevent ui:annotationForm <#form2>, <#form3>; ui:creationForm <#form1> .\n\n<#bigForm>\n dc:title\n \"Schedule event (single form).\";\n a ui:Group;\n ui:parts ( <#form1> <#form2> <#form3> ).\n\n<#form1>\n dc:title\n \"Schedule an event (wizard)\";\n a ui:Form;\n ui:parts (\n <#form1header>\n <#eventTitle>\n <#eventLocation>\n <#eventType>\n <#eventSwitch>\n <#eventComment>\n <#eventAuthor> ).\n\n<#form1header> a ui:Heading; ui:contents \"Schedule an event\" .\n\n<#eventTitle>\n a ui:SingleLineTextField;\n ui:maxLength\n \"128\";\n ui:property\n cal:summary;\n ui:size\n \"40\".\n\n<#eventLocation>\n a ui:SingleLineTextField;\n ui:maxLength\n \"512\";\n ui:property\n cal:location;\n ui:size\n \"40\".\n\n<#eventType> a ui:BooleanField;\n ui:property sched:allDay;\n ui:default true . # Used to be the only way\n\n<#eventSwitch> a ui:Options;\n ui:dependingOn sched:allDay;\n ui:case [ ui:for true; ui:use <#AllDayForm> ];\n ui:case [ ui:for false; ui:use <#NotAllDayForm> ].\n\n <#AllDayForm> a ui:IntegerField ;\n ui:property sched:durationInDays;\n ui:label \"How many days?\";\n ui:min 1;\n ui:default 1 .\n\n <#NotAllDayForm> a ui:IntegerField ;\n ui:property sched:durationInMinutes;\n ui:label \"Duration (mins)\";\n ui:min 5;\n ui:default 55 .\n\n<#eventComment>\n a ui:MultiLineTextField;\n# ui:maxLength\n# \"1048\";\n# ui:size\n# \"40\".\n ui:property\n cal:comment.\n\n<#eventAuthor>\n a ui:Multiple; ui:min 1; ui:part <#eventAuthorGroup>; ui:property dc:author.\n\n <#eventAuthorGroup> a ui:Group; ui:parts ( <#authorName> <#authorEmail> ) .\n <#authorName> a ui:SingleLineTextField; ui:property foaf:name .\n <#authorEmail> a ui:EmailField; ui:label \"email\"; ui:property foaf:mbox .\n\n\n#####################\n\n<#form2> dc:title \"Select possible days or times\"; a ui:Form;\n ui:parts ( <#id1118132113134> <#possibleSwitch> ).\n\n <#id1118132113134> a ui:Heading; ui:contents \"Time proposals\" .\n\n <#possibleSwitch> a ui:Options;\n ui:dependingOn sched:allDay;\n ui:case [ ui:for true; ui:use <#AllDayForm2> ];\n ui:case [ ui:for false; ui:use <#NotAllDayForm2> ].\n\n <#AllDayForm2>\n a ui:Multiple; ui:min 2; ui:part <#posssibleDate>; ui:property sched:option.\n <#posssibleDate> a ui:DateField; ui:property cal:dtstart; ui:label \"date\".\n\n <#NotAllDayForm2>\n a ui:Multiple; ui:min 2; ui:part <#posssibleTime>; ui:property sched:option.\n <#posssibleTime> a ui:DateTimeField; ui:property cal:dtstart; ui:label \"date and time\".\n\n ##################################\n\n <#form3> dc:title \"Select invited people\"; a ui:Form; ui:parts ( <#id1118132113135> <#id1417314641301b> ) .\n<#id1417314641301b>\n a ui:Multiple; ui:min 1; ui:part <#id1417314674292b>; ui:property sched:invitee.\n <#id1417314674292b> a ui:EmailField; ui:label \"email\"; ui:property foaf:mbox .\n <#id1118132113135> a ui:Heading; ui:contents \"Who to invite\" .\n\n# ENDS\n`\n"],"mappings":";;AAAAA,MAAM,CAACC,OAAO,m6GAoHb","ignoreList":[]}
1
+ {"version":3,"file":"formsForSchedule.js","names":[],"sources":["../../src/schedule/formsForSchedule.js"],"sourcesContent":["export default `\n@prefix dc: <http://purl.org/dc/elements/1.1/>.\n@prefix foaf: <http://xmlns.com/foaf/0.1/>.\n@prefix cal: <http://www.w3.org/2002/12/cal/ical#>.\n@prefix ui: <http://www.w3.org/ns/ui#>.\n@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.\n@prefix sched: <http://www.w3.org/ns/pim/schedule#>.\n\n cal:Vevent ui:annotationForm <#form2>, <#form3>; ui:creationForm <#form1> .\n\n<#bigForm>\n dc:title\n \"Schedule event (single form).\";\n a ui:Group;\n ui:parts ( <#form1> <#form2> <#form3> ).\n\n<#form1>\n dc:title\n \"Schedule an event (wizard)\";\n a ui:Form;\n ui:parts (\n <#form1header>\n <#eventTitle>\n <#eventLocation>\n <#eventType>\n <#eventSwitch>\n <#eventComment>\n <#eventAuthor> ).\n\n<#form1header> a ui:Heading; ui:contents \"Schedule an event\" .\n\n<#eventTitle>\n a ui:SingleLineTextField;\n ui:maxLength\n \"128\";\n ui:property\n cal:summary;\n ui:size\n \"40\".\n\n<#eventLocation>\n a ui:SingleLineTextField;\n ui:maxLength\n \"512\";\n ui:property\n cal:location;\n ui:size\n \"40\".\n\n<#eventType> a ui:BooleanField;\n ui:property sched:allDay;\n ui:default true . # Used to be the only way\n\n<#eventSwitch> a ui:Options;\n ui:dependingOn sched:allDay;\n ui:case [ ui:for true; ui:use <#AllDayForm> ];\n ui:case [ ui:for false; ui:use <#NotAllDayForm> ].\n\n <#AllDayForm> a ui:IntegerField ;\n ui:property sched:durationInDays;\n ui:label \"How many days?\";\n ui:min 1;\n ui:default 1 .\n\n <#NotAllDayForm> a ui:IntegerField ;\n ui:property sched:durationInMinutes;\n ui:label \"Duration (mins)\";\n ui:min 5;\n ui:default 55 .\n\n<#eventComment>\n a ui:MultiLineTextField;\n# ui:maxLength\n# \"1048\";\n# ui:size\n# \"40\".\n ui:property\n cal:comment.\n\n<#eventAuthor>\n a ui:Multiple; ui:min 1; ui:part <#eventAuthorGroup>; ui:property dc:author.\n\n <#eventAuthorGroup> a ui:Group; ui:parts ( <#authorName> <#authorEmail> ) .\n <#authorName> a ui:SingleLineTextField; ui:property foaf:name .\n <#authorEmail> a ui:EmailField; ui:label \"email\"; ui:property foaf:mbox .\n\n\n#####################\n\n<#form2> dc:title \"Select possible days or times\"; a ui:Form;\n ui:parts ( <#id1118132113134> <#possibleSwitch> ).\n\n <#id1118132113134> a ui:Heading; ui:contents \"Time proposals\" .\n\n <#possibleSwitch> a ui:Options;\n ui:dependingOn sched:allDay;\n ui:case [ ui:for true; ui:use <#AllDayForm2> ];\n ui:case [ ui:for false; ui:use <#NotAllDayForm2> ].\n\n <#AllDayForm2>\n a ui:Multiple; ui:min 2; ui:part <#posssibleDate>; ui:property sched:option.\n <#posssibleDate> a ui:DateField; ui:property cal:dtstart; ui:label \"date\".\n\n <#NotAllDayForm2>\n a ui:Multiple; ui:min 2; ui:part <#posssibleTime>; ui:property sched:option.\n <#posssibleTime> a ui:DateTimeField; ui:property cal:dtstart; ui:label \"date and time\".\n\n ##################################\n\n <#form3> dc:title \"Select invited people\"; a ui:Form; ui:parts ( <#id1118132113135> <#id1417314641301b> ) .\n<#id1417314641301b>\n a ui:Multiple; ui:min 1; ui:part <#id1417314674292b>; ui:property sched:invitee.\n <#id1417314674292b> a ui:EmailField; ui:label \"email\"; ui:property foaf:mbox .\n <#id1118132113135> a ui:Heading; ui:contents \"Who to invite\" .\n\n# ENDS\n`\n"],"mappings":"","ignoreList":[]}
@@ -9,8 +9,7 @@ var UI = _interopRequireWildcard(require("solid-ui"));
9
9
  var _solidLogic = require("solid-logic");
10
10
  var _formsForSchedule = _interopRequireDefault(require("./formsForSchedule.js"));
11
11
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
12
- 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); }
13
- 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; }
12
+ 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); }
14
13
  /* Scheduler Pane
15
14
  **
16
15
  **
@@ -1 +1 @@
1
- {"version":3,"file":"schedulePane.js","names":["UI","_interopRequireWildcard","require","_solidLogic","_formsForSchedule","_interopRequireDefault","e","__esModule","_getRequireWildcardCache","WeakMap","r","t","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","$rdf","rdf","ns","possibleAvailabilities","sched","schedulePane","exports","icon","icons","iconBase","name","audience","solid","label","subject","context","kb","session","store","findTypeURIs","mintClass","mintNew","options","Promise","resolve","reject","newBase","thisInstance","useExisting","sym","complainIfBad","ok","body","console","log","Error","genACLtext","docURI","aclURI","allWrite","g","graph","auth","Namespace","acl","doc","add","me","foaf","serialize","setACL2","callbackFunction","aclDoc","any","aclText","uri","fetcher","webOperation","data","contentType","then","_result","err","message","load","updater","authn","currentUser","alert","base","dir","newDetailsDoc","newInstance","newResultsDoc","toBeCopied","noIndexHTML","local","agenda","f","length","item","fun","copyItem","push","newURI","setThatACL","shift","webCopy","checkUser","webId","createDetailsFile","dc","Date","put","statementsMatching","undefined","uri2","render","dom","invitation","appPathSegment","waitingForLogin","detailsDoc","baseDir","resultsDoc","formsURI","form1","form2","form3","parse","formText","inputStyle","buttonIconStyle","div","appendChild","widgets","errorMessageBlock","clearElement","ele","firstChild","removeChild","refreshCellColor","cell","value","bg","ui","setAttribute","logInOutButton","refresh","showAppropriateDisplay","newInstanceButton","b","login","newAppInstance","noun","initializeNewInstanceInWorkspace","ws","space","split","slice","error","now","getTime","initializeNewInstanceAtBase","p","createElement","innerHTML","getForms","getDetails","nowOrWhenFetched","showSignon","editable","holds","wf","showBootstrap","ready","showForms","getResults","naviMain","signonContext","ensureLoggedIn","textContent","baseField","size","autocomplete","button","addEventListener","_e","doneButton","naviCenter","wizard","currentSlide","gotDoneButton","forms","slides","slide","appendForm","document","b1","removeAttribute","b2","emailButton","naviLeft","naviRight","table","insertables","st","update","success","errorBody","emailIcon","title","anyValue","cal","mailto","each","map","who","mbox","replace","join","encodeURIComponent","window","location","href","response","status","showResults","comment","author","authorName","query","Query","v","vs","forEach","x","vars","variable","pat","resp","time","set_x","opt","set_y","possibleTimes","displayTheMatrix","matrix","matrixForQuery","refreshButton","refreshIcon","disabled","dataPointForNT","loginContext","filter","z","sameTerm","cellFunction","y","_error","selectOptions","predicate","cellSubject","toNT","selector","makeSelectForOptions","utils","responses","myResponse","id","newThing","dps","dataPoint","j","instanceCreator","editButton","editIcon","structure","naviLoginoutTR","naviTop","naviMenu"],"sources":["../../src/schedule/schedulePane.js"],"sourcesContent":["/* Scheduler Pane\n **\n **\n */\n/* global alert */\n\nimport * as UI from 'solid-ui'\nimport { authn } from 'solid-logic'\nconst $rdf = UI.rdf\nconst ns = UI.ns\n\nimport formText from './formsForSchedule.js'\n\n\n\n\n// @@ Give other combos too-- see schedule ontology\nconst possibleAvailabilities = [\n ns.sched('No'),\n ns.sched('Maybe'),\n ns.sched('Yes')\n]\n\nexport const schedulePane = {\n icon: UI.icons.iconBase + 'noun_346777.svg', // @@ better?\n\n name: 'schedule',\n\n audience: [ns.solid('PowerUser')],\n\n // Does the subject deserve an Scheduler pane?\n label: function (subject, context) {\n const kb = context.session.store\n const t = kb.findTypeURIs(subject)\n if (t['http://www.w3.org/ns/pim/schedule#SchedulableEvent']) {\n return 'Scheduling poll'\n }\n return null // No under other circumstances\n },\n\n // Mint a new Schedule poll\n mintClass: ns.sched('SchedulableEvent'),\n\n mintNew: function (context, options) {\n return new Promise(function (resolve, reject) {\n const ns = UI.ns\n const kb = context.session.store\n let newBase = options.newBase\n const thisInstance =\n options.useExisting || $rdf.sym(options.newBase + 'index.ttl#this')\n\n const complainIfBad = function (ok, body) {\n if (ok) return\n console.log(\n 'Error in Schedule Pane: Error constructing new scheduler: ' + body\n )\n reject(new Error(body))\n }\n\n // ////////////////////// Accesss control\n\n // Two constiations of ACL for this app, public read and public read/write\n // In all cases owner has read write control\n\n const genACLtext = function (docURI, aclURI, allWrite) {\n const g = $rdf.graph()\n const auth = $rdf.Namespace('http://www.w3.org/ns/auth/acl#')\n let a = g.sym(aclURI + '#a1')\n const acl = g.sym(aclURI)\n const doc = g.sym(docURI)\n g.add(a, UI.ns.rdf('type'), auth('Authorization'), acl)\n g.add(a, auth('accessTo'), doc, acl)\n g.add(a, auth('agent'), me, acl)\n g.add(a, auth('mode'), auth('Read'), acl)\n g.add(a, auth('mode'), auth('Write'), acl)\n g.add(a, auth('mode'), auth('Control'), acl)\n\n a = g.sym(aclURI + '#a2')\n g.add(a, UI.ns.rdf('type'), auth('Authorization'), acl)\n g.add(a, auth('accessTo'), doc, acl)\n g.add(a, auth('agentClass'), ns.foaf('Agent'), acl)\n g.add(a, auth('mode'), auth('Read'), acl)\n if (allWrite) {\n g.add(a, auth('mode'), auth('Write'), acl)\n }\n return $rdf.serialize(acl, g, aclURI, 'text/turtle')\n }\n\n /*\n const setACL3 = function (docURI, allWrite, callbackFunction) {\n const aclText = genACLtext(docURI, aclDoc.uri, allWrite)\n return UI.acl.setACL(docURI, aclText, callbackFunction)\n }\n */\n\n const setACL2 = function setACL2 (docURI, allWrite, callbackFunction) {\n const aclDoc = kb.any(\n kb.sym(docURI),\n kb.sym('http://www.iana.org/assignments/link-relations/acl')\n ) // @@ check that this get set by web.js\n\n if (aclDoc) {\n // Great we already know where it is\n const aclText = genACLtext(docURI, aclDoc.uri, allWrite)\n\n return fetcher\n .webOperation('PUT', aclDoc.uri, {\n data: aclText,\n contentType: 'text/turtle'\n })\n .then(_result => callbackFunction(true))\n .catch(err => {\n callbackFunction(false, err.message)\n })\n } else {\n return fetcher\n .load(docURI)\n .catch(err => {\n callbackFunction(false, 'Getting headers for ACL: ' + err)\n })\n .then(() => {\n const aclDoc = kb.any(\n kb.sym(docURI),\n kb.sym('http://www.iana.org/assignments/link-relations/acl')\n )\n\n if (!aclDoc) {\n // complainIfBad(false, \"No Link rel=ACL header for \" + docURI)\n throw new Error('No Link rel=ACL header for ' + docURI)\n }\n\n const aclText = genACLtext(docURI, aclDoc.uri, allWrite)\n\n return fetcher.webOperation('PUT', aclDoc.uri, {\n data: aclText,\n contentType: 'text/turtle'\n })\n })\n .then(_result => callbackFunction(true))\n .catch(err => {\n callbackFunction(false, err.message)\n })\n }\n }\n\n // Body of mintNew\n const fetcher = kb.fetcher\n const updater = kb.updater\n\n let me = options.me || authn.currentUser()\n if (!me) {\n console.log('MUST BE LOGGED IN')\n alert('NOT LOGGED IN')\n return\n }\n\n const base = thisInstance.dir().uri\n let newDetailsDoc, newInstance // , newIndexDoc\n\n if (options.useExisting) {\n newInstance = options.useExisting\n newBase = thisInstance.dir().uri\n newDetailsDoc = newInstance.doc()\n // newIndexDoc = null\n if (options.newBase) {\n throw new Error(\n 'mint new scheduler: Illegal - have both new base and existing event'\n )\n }\n } else {\n newDetailsDoc = kb.sym(newBase + 'details.ttl')\n // newIndexDoc = kb.sym(newBase + 'index.html')\n newInstance = kb.sym(newDetailsDoc.uri + '#event')\n }\n\n const newResultsDoc = kb.sym(newBase + 'results.ttl')\n\n const toBeCopied = options.noIndexHTML\n ? {}\n : [{ local: 'index.html', contentType: 'text/html' }]\n\n const agenda = []\n\n // @@ This needs some form of visible progress bar\n for (let f = 0; f < toBeCopied.length; f++) {\n const item = toBeCopied[f]\n const fun = function copyItem (item) {\n agenda.push(function () {\n const newURI = newBase + item.local\n console.log('Copying ' + base + item.local + ' to ' + newURI)\n\n const setThatACL = function () {\n setACL2(newURI, false, function (ok, message) {\n if (!ok) {\n complainIfBad(\n ok,\n 'FAILED to set ACL ' + newURI + ' : ' + message\n )\n console.log('FAILED to set ACL ' + newURI + ' : ' + message)\n } else {\n agenda.shift()() // beware too much nesting\n }\n })\n }\n\n kb.fetcher\n .webCopy(\n base + item.local,\n newBase + item.local,\n item.contentType\n )\n .then(() => authn.checkUser())\n .then(webId => {\n me = webId\n\n setThatACL()\n })\n .catch(err => {\n console.log(\n 'FAILED to copy ' + base + item.local + ' : ' + err.message\n )\n complainIfBad(\n false,\n 'FAILED to copy ' + base + item.local + ' : ' + err.message\n )\n })\n })\n }\n fun(item)\n }\n\n agenda.push(function createDetailsFile () {\n kb.add(\n newInstance,\n ns.rdf('type'),\n ns.sched('SchedulableEvent'),\n newDetailsDoc\n )\n if (me) {\n kb.add(newInstance, ns.dc('author'), me, newDetailsDoc) // Who is sending the invitation?\n kb.add(newInstance, ns.foaf('maker'), me, newDetailsDoc) // Uneditable - wh is allowed to edit this?\n }\n\n kb.add(newInstance, ns.dc('created'), new Date(), newDetailsDoc)\n kb.add(newInstance, ns.sched('resultsDocument'), newDetailsDoc)\n\n updater.put(\n newDetailsDoc,\n kb.statementsMatching(undefined, undefined, undefined, newDetailsDoc),\n 'text/turtle',\n function (uri2, ok, message) {\n if (ok) {\n agenda.shift()()\n } else {\n complainIfBad(\n ok,\n 'FAILED to save new scheduler at: ' +\n newDetailsDoc +\n ' : ' +\n message\n )\n console.log(\n 'FAILED to save new scheduler at: ' +\n newDetailsDoc +\n ' : ' +\n message\n )\n }\n }\n )\n })\n\n agenda.push(function () {\n kb.fetcher\n .webOperation('PUT', newResultsDoc.uri, {\n data: '',\n contentType: 'text/turtle'\n })\n .then(() => {\n agenda.shift()()\n })\n .catch(err => {\n complainIfBad(\n false,\n 'Failed to initialize empty results file: ' + err.message\n )\n })\n })\n\n agenda.push(function () {\n setACL2(newResultsDoc.uri, true, function (ok, body) {\n complainIfBad(\n ok,\n 'Failed to set Read-Write ACL on results file: ' + body\n )\n if (ok) agenda.shift()()\n })\n })\n\n agenda.push(function () {\n setACL2(newDetailsDoc.uri, false, function (ok, body) {\n complainIfBad(\n ok,\n 'Failed to set read ACL on configuration file: ' + body\n )\n if (ok) agenda.shift()()\n })\n })\n\n agenda.push(function () {\n // give the user links to the new app\n console.log('Finished minting new scheduler')\n options.newInstance = newInstance\n resolve(options)\n })\n\n agenda.shift()()\n // Created new data files.\n }) // promise\n }, // mintNew\n\n // Render one meeting schedule poll\n render: function (subject, context) {\n const dom = context.dom\n const kb = context.session.store\n const ns = UI.ns\n const invitation = subject\n const appPathSegment = 'app-when-can-we.w3.org' // how to allocate this string and connect to\n\n // ////////////////////////////////////////////\n\n const fetcher = kb.fetcher\n const updater = kb.updater\n let waitingForLogin = false\n\n const thisInstance = subject\n const detailsDoc = subject.doc()\n const baseDir = detailsDoc.dir()\n const base = baseDir.uri\n\n const resultsDoc = $rdf.sym(base + 'results.ttl')\n // const formsURI = base + 'forms.ttl'\n // We can't in fact host stuff from there because of CORS\n const formsURI =\n 'https://solidos.github.io/solid-panes/schedule/formsForSchedule.ttl'\n\n const form1 = kb.sym(formsURI + '#form1')\n const form2 = kb.sym(formsURI + '#form2')\n const form3 = kb.sym(formsURI + '#form3')\n\n $rdf.parse(formText, kb, formsURI, 'text/turtle') // Load forms directly\n\n const inputStyle =\n 'background-color: #eef; padding: 0.5em; border: .5em solid white; font-size: 100%' // font-size: 120%\n const buttonIconStyle = 'width: 1.8em; height: 1.8em;'\n\n // Utility functions\n\n const complainIfBad = function (ok, message) {\n if (!ok) {\n div.appendChild(UI.widgets.errorMessageBlock(dom, message, 'pink'))\n }\n }\n\n const clearElement = function (ele) {\n while (ele.firstChild) {\n ele.removeChild(ele.firstChild)\n }\n return ele\n }\n\n const refreshCellColor = function (cell, value) {\n const bg = kb.any(value, UI.ns.ui('backgroundColor'))\n if (bg) {\n cell.setAttribute(\n 'style',\n 'padding: 0.3em; text-align: center; background-color: ' + bg + ';'\n )\n }\n }\n\n let me\n\n authn.checkUser().then(webId => {\n me = webId\n\n if (logInOutButton) {\n logInOutButton.refresh()\n }\n if (webId && waitingForLogin) {\n waitingForLogin = false\n showAppropriateDisplay()\n }\n })\n console.log('me: ' + me) // @@ curently not actually used elsewhere\n\n // ////////////////////////////// Reproduction: spawn a new instance\n //\n // Viral growth path: user of app decides to make another instance\n //\n\n const newInstanceButton = function () {\n const b = UI.login.newAppInstance(\n dom,\n { noun: 'scheduler' },\n initializeNewInstanceInWorkspace\n )\n b.firstChild.setAttribute('style', inputStyle)\n return b\n } // newInstanceButton\n\n // /////////////////////// Create new document files for new instance of app\n\n const initializeNewInstanceInWorkspace = function (ws) {\n let newBase = kb.any(ws, ns.space('uriPrefix'))\n if (!newBase) {\n newBase = ws.uri.split('#')[0]\n } else {\n newBase = newBase.value\n }\n if (newBase.slice(-1) !== '/') {\n $rdf.log.error(appPathSegment + ': No / at end of uriPrefix ' + newBase) // @@ paramater?\n newBase = newBase + '/'\n }\n const now = new Date()\n newBase += appPathSegment + '/id' + now.getTime() + '/' // unique id\n\n initializeNewInstanceAtBase(thisInstance, newBase)\n }\n\n const initializeNewInstanceAtBase = function (thisInstance, newBase) {\n const options = { thisInstance: thisInstance, newBase: newBase }\n this.mintNew(context, options)\n .then(function (options) {\n const p = div.appendChild(dom.createElement('p'))\n p.setAttribute('style', 'font-size: 140%;')\n p.innerHTML =\n \"Your <a href='\" +\n options.newInstance.uri +\n \"'><b>new scheduler</b></a> is ready to be set up. \" +\n \"<br/><br/><a href='\" +\n options.newInstance.uri +\n \"'>Say when you what days work for you.</a>\"\n })\n .catch(function (error) {\n complainIfBad(\n false,\n 'Error createing new scheduler at ' +\n options.newInstance +\n ': ' +\n error\n )\n })\n }\n\n // ///////////////////////\n\n const getForms = function () {\n console.log('getforms()')\n getDetails()\n /*\n fetcher.nowOrWhenFetched(formsURI, undefined, function (ok, body) {\n console.log('getforms() ok? ' + ok)\n if (!ok) return complainIfBad(ok, body)\n getDetails()\n })\n */\n }\n\n const getDetails = function () {\n console.log('getDetails()') // Looking for blank screen hang-up\n fetcher.nowOrWhenFetched(detailsDoc.uri, undefined, function (ok, body) {\n console.log('getDetails() ok? ' + ok)\n if (!ok) return complainIfBad(ok, body)\n showAppropriateDisplay()\n })\n }\n\n const showAppropriateDisplay = function showAppropriateDisplay () {\n console.log('showAppropriateDisplay()')\n\n authn.checkUser().then(webId => {\n if (!webId) {\n return showSignon()\n }\n\n // On gh-pages, the turtle will not load properly (bad mime type)\n // but we can trap it as being a non-editable server.\n\n if (\n !kb.updater.editable(detailsDoc.uri, kb) ||\n kb.holds(subject, ns.rdf('type'), ns.wf('TemplateInstance'))\n ) {\n // This is read-only example e.g. on github pages, etc\n showBootstrap(div)\n return\n }\n\n const ready = kb.any(subject, ns.sched('ready'))\n\n if (!ready) {\n showForms()\n } else {\n // no editing not author\n getResults()\n }\n })\n }\n\n const showSignon = function showSignon () {\n clearElement(naviMain)\n const signonContext = { div: div, dom: dom }\n UI.login.ensureLoggedIn(signonContext).then(context => {\n me = context.me\n waitingForLogin = false // untested\n showAppropriateDisplay()\n })\n }\n\n const showBootstrap = function showBootstrap () {\n const div = clearElement(naviMain)\n div.appendChild(\n UI.login.newAppInstance(\n dom,\n { noun: 'poll' },\n initializeNewInstanceInWorkspace\n )\n )\n\n div.appendChild(dom.createElement('hr')) // @@\n\n const p = div.appendChild(dom.createElement('p'))\n p.textContent =\n 'Where would you like to store the data for the poll? ' +\n 'Give the URL of the directory where you would like the data stored.'\n const baseField = div.appendChild(dom.createElement('input'))\n baseField.setAttribute('type', 'text')\n baseField.size = 80 // really a string\n baseField.label = 'base URL'\n baseField.autocomplete = 'on'\n\n div.appendChild(dom.createElement('br')) // @@\n\n const button = div.appendChild(dom.createElement('button'))\n button.setAttribute('style', inputStyle)\n button.textContent = 'Start new poll at this URI'\n button.addEventListener('click', function (_e) {\n let newBase = baseField.value\n if (newBase.slice(-1) !== '/') {\n newBase += '/'\n }\n initializeNewInstanceAtBase(thisInstance, newBase)\n })\n }\n\n // ///////////// The forms to configure the poll\n\n const doneButton = dom.createElement('button')\n\n const showForms = function () {\n clearElement(naviCenter) // Remove refresh button if nec\n const div = naviMain\n const wizard = true\n let currentSlide = 0\n let gotDoneButton = false\n if (wizard) {\n const forms = [form1, form2, form3]\n const slides = []\n currentSlide = 0\n for (let f = 0; f < forms.length; f++) {\n const slide = dom.createElement('div')\n UI.widgets.appendForm(\n document,\n slide,\n {},\n subject,\n forms[f],\n detailsDoc,\n complainIfBad\n )\n slides.push(slide)\n }\n\n const refresh = function () {\n clearElement(naviMain).appendChild(slides[currentSlide])\n\n if (currentSlide === 0) {\n b1.setAttribute('disabled', '')\n } else {\n b1.removeAttribute('disabled')\n }\n if (currentSlide === slides.length - 1) {\n b2.setAttribute('disabled', '')\n if (!gotDoneButton) {\n // Only expose at last slide seen\n naviCenter.appendChild(emailButton) // could also check data shape\n naviCenter.appendChild(doneButton) // could also check data shape\n gotDoneButton = true\n }\n } else {\n b2.removeAttribute('disabled')\n }\n }\n const b1 = clearElement(naviLeft).appendChild(dom.createElement('button'))\n b1.setAttribute('style', inputStyle)\n b1.textContent = '<- go back'\n b1.addEventListener(\n 'click',\n function (_e) {\n if (currentSlide > 0) {\n currentSlide -= 1\n refresh()\n }\n },\n false\n )\n\n const b2 = clearElement(naviRight).appendChild(\n dom.createElement('button')\n )\n b2.setAttribute('style', inputStyle)\n b2.textContent = 'continue ->'\n b2.addEventListener(\n 'click',\n function (_e) {\n if (currentSlide < slides.length - 1) {\n currentSlide += 1\n refresh()\n }\n },\n false\n )\n\n refresh()\n } else {\n // not wizard one big form\n // @@@ create the initial config doc if not exist\n const table = div.appendChild(dom.createElement('table'))\n UI.widgets.appendForm(\n document,\n table,\n {},\n subject,\n form1,\n detailsDoc,\n complainIfBad\n )\n UI.widgets.appendForm(\n document,\n table,\n {},\n subject,\n form2,\n detailsDoc,\n complainIfBad\n )\n UI.widgets.appendForm(\n document,\n table,\n {},\n subject,\n form3,\n detailsDoc,\n complainIfBad\n )\n naviCenter.appendChild(doneButton) // could also check data shape\n }\n // @@@ link config to results\n\n const insertables = []\n insertables.push(\n $rdf.st(\n subject,\n ns.sched('availabilityOptions'),\n ns.sched('YesNoMaybe'),\n detailsDoc\n )\n )\n insertables.push(\n $rdf.st(subject, ns.sched('ready'), new Date(), detailsDoc)\n )\n insertables.push(\n $rdf.st(subject, ns.sched('results'), resultsDoc, detailsDoc)\n ) // @@ also link in results\n\n doneButton.setAttribute('style', inputStyle)\n doneButton.textContent = 'Go to poll'\n doneButton.addEventListener(\n 'click',\n function (_e) {\n if (kb.any(subject, ns.sched('ready'))) {\n // already done\n getResults()\n naviRight.appendChild(emailButton)\n } else {\n naviRight.appendChild(emailButton)\n kb.updater.update([], insertables, function (\n uri,\n success,\n errorBody\n ) {\n if (!success) {\n complainIfBad(success, errorBody)\n } else {\n // naviRight.appendChild(emailButton)\n getResults()\n }\n })\n }\n },\n false\n )\n\n const emailButton = dom.createElement('button')\n emailButton.setAttribute('style', inputStyle)\n const emailIcon = emailButton.appendChild(dom.createElement('img'))\n emailIcon.setAttribute('src', UI.icons.iconBase + 'noun_480183.svg') // noun_480183.svg\n emailIcon.setAttribute('style', buttonIconStyle)\n // emailButton.textContent = 'email invitations'\n emailButton.addEventListener(\n 'click',\n function (_e) {\n const title =\n kb.anyValue(subject, ns.cal('summary')) ||\n kb.anyValue(subject, ns.dc('title')) ||\n ''\n const mailto =\n 'mailto:' +\n kb\n .each(subject, ns.sched('invitee'))\n .map(function (who) {\n const mbox = kb.any(who, ns.foaf('mbox'))\n return mbox ? mbox.uri.replace('mailto:', '') : ''\n })\n .join(',') +\n '?subject=' +\n encodeURIComponent(title + '-- When can we meet?') +\n '&body=' +\n encodeURIComponent(\n title + '\\n\\nWhen can you?\\n\\nSee ' + subject + '\\n'\n )\n // @@ assumed there is a data browser\n\n console.log('Mail: ' + mailto)\n window.location.href = mailto\n },\n false\n )\n } // showForms\n\n // Ask for each day, what times .. @@ to be added some time\n /*\n const setTimesOfDay = function () {\n const i, j, x, y, slot, cell, day\n const insertables = []\n const possibleDays = kb.each(invitation, ns.sched('option'))\n .map(function (opt) {return kb.any(opt, ns.cal('dtstart'))})\n const cellLookup = []\n const slots = kb.each(invitation, ns.sched('slot'))\n if (slots.length === 0) {\n for (i = 0; i < 2; i++) {\n slot = UI.widgets.newThing(detailsDoc)\n insertables.push($rdf.st(invitation, ns.sched('slot'), slot))\n insertables.push($rdf.st(slot, ns.rdfs('label'), 'slot ' + (i + 1)))\n for (j = 0; j < possibleDays.length; j++) {\n day - possibleDays[j]\n x = kb.any(slot, ns.rdfs('label'))\n y = kb.any(day, ns.cal('dtstart'))\n cell = UI.widgets.newThing(detailsDoc)\n cellLookup[x.toNT() + y.toNT()] = cell\n insertables.push($rdf.st(slot, ns.sched('cell'), cell))\n insertables.push($rdf.st(cell, ns.sched('day'), possibleDays[j]))\n }\n }\n }\n\n const query = new $rdf.Query('TimesOfDay')\n const v = {}['day', 'label', 'value', 'slot', 'cell'].map(function (x) {\n query.consts.push(v[x] = $rdf.constiable(x)) })\n query.pat.add(invitation, ns.sched('slot'), v.slot)\n query.pat.add(v.slot, ns.rdfs('label'), v.label)\n query.pat.add(v.slot, ns.sched('cell'), v.cell)\n query.pat.add(v.cell, ns.sched('timeOfDay'), v.value)\n query.pat.add(v.cell, ns.sched('day'), v.day)\n\n const options = {}\n options.set_x = kb.each(subject, ns.sched('slot')) // @@@@@ option -> dtstart in future\n options.set_x = options.set_x.map(function (opt) { return kb.any(opt, ns.rdfs('label')) })\n\n options.set_y = kb.each(subject, ns.sched('option')); // @@@@@ option -> dtstart in future\n options.set_y = options.set_y.map(function (opt) { return kb.any(opt, ns.cal('dtstart')) })\n\n const possibleTimes = kb.each(invitation, ns.sched('option'))\n .map(function (opt) { return kb.any(opt, ns.cal('dtstart')) })\n\n const displayTheMatrix = function () {\n const matrix = div.appendChild(UI.matrix.matrixForQuery(\n dom, query, v.time, v.author, v.value, options, function () {}))\n\n matrix.setAttribute('class', 'matrix')\n\n const refreshButton = dom.createElement('button')\n refreshButton.setAttribute('style', inputStyle)\n refreshButton.textContent = 'refresh'\n refreshButton.addEventListener('click', function (e) {\n refreshButton.disabled = true\n store.fetcher.nowOrWhenFetched(subject.doc(), undefined, function (ok, body) {\n if (!ok) {\n console.log('Cant refresh matrix' + body)\n } else {\n matrix.refresh()\n refreshButton.disabled = false\n }\n })\n }, false)\n\n clearElement(naviCenter)\n naviCenter.appendChild(refreshButton)\n }\n\n const dataPointForNT = []\n\n const doc = resultsDoc\n options.set_y = options.set_y.filter(function (z) { return (! z.sameTerm(me)) })\n options.set_y.push(me) // Put me on the end\n\n options.cellFunction = function (cell, x, y, value) {\n // const point = cellLookup[x.toNT() + y.toNT()]\n\n if (y.sameTerm(me)) {\n const callbackFunction = function () { refreshCellColor(cell, value); }; // @@ may need that\n const selectOptions = {}\n const predicate = ns.sched('timeOfDay')\n const cellSubject = dataPointForNT[x.toNT()]\n const selector = UI.widgets.makeSelectForOptions(dom, kb, cellSubject, predicate,\n possibleAvailabilities, selectOptions, resultsDoc, callbackFunction)\n cell.appendChild(selector)\n } else if (value !== null) {\n cell.textContent = UI.utils.label(value)\n }\n\n }\n\n const responses = kb.each(invitation, ns.sched('response'))\n const myResponse = null\n responses.map(function (r) {\n if (kb.holds(r, ns.dc('author'), me)) {\n myResponse = r\n }\n })\n\n const id = UI.widgets.newThing(doc).uri\n if (myResponse === null) {\n myResponse = $rdf.sym(id + '_response')\n insertables.push($rdf.st(invitation, ns.sched('response'), myResponse, doc))\n insertables.push($rdf.st(myResponse, ns.dc('author'), me, doc))\n } else {\n const dps = kb.each(myResponse, ns.sched('cell'))\n dps.map(function (dataPoint) {\n const time = kb.any(dataPoint, ns.cal('dtstart'))\n dataPointForNT[time.toNT()] = dataPoint\n })\n }\n for (let j = 0; j < possibleTimes.length; j++) {\n if (dataPointForNT[possibleTimes[j].toNT()]) continue\n const dataPoint = $rdf.sym(id + '_' + j)\n insertables.push($rdf.st(myResponse, ns.sched('cell'), dataPoint, doc))\n insertables.push($rdf.st(dataPoint, ns.cal('dtstart'), possibleTimes[j], doc)) // @@\n dataPointForNT[possibleTimes[j].toNT()] = dataPoint\n }\n if (insertables.length) {\n store.updater.update([], insertables, function (uri, success, errorBody) {\n if (!success) {\n complainIfBad(success, errorBody)\n } else {\n displayTheMatrix()\n }\n })\n } else { // no insertables\n displayTheMatrix()\n }\n }\n */\n // end setTimesOfDay\n\n // Read or create empty results file\n function getResults () {\n fetcher.nowOrWhenFetched(resultsDoc.uri, (ok, body, response) => {\n if (!ok) {\n if (response.status === 404) {\n // / Check explicitly for 404 error\n console.log('Initializing details file ' + resultsDoc)\n updater.put(resultsDoc, [], 'text/turtle', function (\n uri2,\n ok,\n message\n ) {\n if (ok) {\n clearElement(naviMain)\n showResults()\n } else {\n complainIfBad(\n ok,\n 'FAILED to create results file at: ' +\n resultsDoc.uri +\n ' : ' +\n message\n )\n console.log(\n 'FAILED to craete results file at: ' +\n resultsDoc.uri +\n ' : ' +\n message\n )\n }\n })\n } else {\n // Other error, not 404 -- do not try to overwite the file\n complainIfBad(ok, 'FAILED to read results file: ' + body)\n }\n } else {\n // Happy read\n clearElement(naviMain)\n showResults()\n }\n })\n }\n\n function showResults () {\n // Now the form for responsing to the poll\n //\n\n // div.appendChild(dom.createElement('hr'))\n\n // const invitation = subject\n const title = kb.any(invitation, ns.cal('summary'))\n const comment = kb.any(invitation, ns.cal('comment'))\n const location = kb.any(invitation, ns.cal('location'))\n const div = naviMain\n if (title) div.appendChild(dom.createElement('h3')).textContent = title\n if (location) {\n div.appendChild(dom.createElement('address')).textContent =\n location.value\n }\n if (comment) {\n div.appendChild(dom.createElement('p')).textContent = comment.value\n }\n const author = kb.any(invitation, ns.dc('author'))\n if (author) {\n const authorName = kb.any(author, ns.foaf('name'))\n if (authorName) {\n div.appendChild(dom.createElement('p')).textContent = authorName\n }\n }\n\n const query = new $rdf.Query('Responses')\n const v = {}\n const vs = ['time', 'author', 'value', 'resp', 'cell']\n vs.forEach(function (x) {\n query.vars.push((v[x] = $rdf.variable(x)))\n })\n query.pat.add(invitation, ns.sched('response'), v.resp)\n query.pat.add(v.resp, ns.dc('author'), v.author)\n query.pat.add(v.resp, ns.sched('cell'), v.cell)\n query.pat.add(v.cell, ns.sched('availabilty'), v.value)\n query.pat.add(v.cell, ns.cal('dtstart'), v.time)\n\n // Sort by by person @@@\n\n const options = {}\n options.set_x = kb.each(subject, ns.sched('option')) // @@@@@ option -> dtstart in future\n options.set_x = options.set_x.map(function (opt) {\n return kb.any(opt, ns.cal('dtstart'))\n })\n\n options.set_y = kb.each(subject, ns.sched('response'))\n options.set_y = options.set_y.map(function (resp) {\n return kb.any(resp, ns.dc('author'))\n })\n\n const possibleTimes = kb\n .each(invitation, ns.sched('option'))\n .map(function (opt) {\n return kb.any(opt, ns.cal('dtstart'))\n })\n\n const displayTheMatrix = function () {\n const matrix = div.appendChild(\n UI.matrix.matrixForQuery(\n dom,\n query,\n v.time,\n v.author,\n v.value,\n options,\n function () {}\n )\n )\n\n matrix.setAttribute('class', 'matrix')\n\n const refreshButton = dom.createElement('button')\n refreshButton.setAttribute('style', inputStyle)\n // refreshButton.textContent = 'refresh' // noun_479395.svg\n const refreshIcon = dom.createElement('img')\n refreshIcon.setAttribute('src', UI.icons.iconBase + 'noun_479395.svg')\n refreshIcon.setAttribute('style', buttonIconStyle)\n refreshButton.appendChild(refreshIcon)\n refreshButton.addEventListener(\n 'click',\n function (_e) {\n refreshButton.disabled = true\n kb.fetcher.refresh(resultsDoc, function (ok, body) {\n if (!ok) {\n console.log('Cant refresh matrix' + body)\n } else {\n matrix.refresh()\n refreshButton.disabled = false\n }\n })\n },\n false\n )\n\n clearElement(naviCenter)\n naviCenter.appendChild(refreshButton)\n }\n\n // @@ Give other combos too-- see schedule ontology\n // const possibleAvailabilities = [ SCHED('No'), SCHED('Maybe'), SCHED('Yes') ]\n\n // const me = authn.currentUser()\n\n const dataPointForNT = []\n\n const loginContext = { div: naviCenter, dom: dom }\n UI.login.ensureLoggedIn(loginContext).then(context => {\n const me = context.me\n const doc = resultsDoc\n options.set_y = options.set_y.filter(function (z) {\n return !z.sameTerm(me)\n })\n options.set_y.push(me) // Put me on the end\n\n options.cellFunction = function (cell, x, y, value) {\n if (value !== null) {\n kb.fetcher.nowOrWhenFetched(\n value.uri.split('#')[0],\n undefined,\n function (ok, _error) {\n if (ok) refreshCellColor(cell, value)\n }\n )\n }\n if (y.sameTerm(me)) {\n const callbackFunction = function () {\n refreshCellColor(cell, value)\n } // @@ may need that\n const selectOptions = {}\n const predicate = ns.sched('availabilty')\n const cellSubject = dataPointForNT[x.toNT()]\n const selector = UI.widgets.makeSelectForOptions(\n dom,\n kb,\n cellSubject,\n predicate,\n possibleAvailabilities,\n selectOptions,\n resultsDoc,\n callbackFunction\n )\n cell.appendChild(selector)\n } else if (value !== null) {\n cell.textContent = UI.utils.label(value)\n }\n }\n\n const responses = kb.each(invitation, ns.sched('response'))\n let myResponse = null\n responses.forEach(function (r) {\n if (kb.holds(r, ns.dc('author'), me)) {\n myResponse = r\n }\n })\n\n const insertables = [] // list of statements to be stored\n\n const id = UI.widgets.newThing(doc).uri\n if (myResponse === null) {\n myResponse = $rdf.sym(id + '_response')\n insertables.push(\n $rdf.st(invitation, ns.sched('response'), myResponse, doc)\n )\n insertables.push($rdf.st(myResponse, ns.dc('author'), me, doc))\n } else {\n const dps = kb.each(myResponse, ns.sched('cell'))\n dps.forEach(function (dataPoint) {\n const time = kb.any(dataPoint, ns.cal('dtstart'))\n dataPointForNT[time.toNT()] = dataPoint\n })\n }\n for (let j = 0; j < possibleTimes.length; j++) {\n if (dataPointForNT[possibleTimes[j].toNT()]) continue\n const dataPoint = $rdf.sym(id + '_' + j)\n insertables.push(\n $rdf.st(myResponse, ns.sched('cell'), dataPoint, doc)\n )\n insertables.push(\n $rdf.st(dataPoint, ns.cal('dtstart'), possibleTimes[j], doc)\n ) // @@\n dataPointForNT[possibleTimes[j].toNT()] = dataPoint\n }\n if (insertables.length) {\n kb.updater.update([], insertables, function (\n uri,\n success,\n errorBody\n ) {\n if (!success) {\n complainIfBad(success, errorBody)\n } else {\n displayTheMatrix()\n }\n })\n } else {\n // no insertables\n displayTheMatrix()\n }\n }) // @@@@ end of .then\n\n // If I made this in the first place, allow me to edit it.\n // @@ optionally -- allows others to if according to original\n const instanceCreator = kb.any(subject, ns.foaf('maker')) // owner?\n if (!instanceCreator || instanceCreator.sameTerm(me)) {\n const editButton = dom.createElement('button')\n editButton.setAttribute('style', inputStyle)\n // editButton.textContent = '(Modify the poll)' // noun_344563.svg\n const editIcon = dom.createElement('img')\n editIcon.setAttribute('src', UI.icons.iconBase + 'noun_344563.svg')\n editIcon.setAttribute('style', buttonIconStyle)\n editButton.appendChild(editIcon)\n editButton.addEventListener(\n 'click',\n function (_e) {\n clearElement(div)\n showForms()\n },\n false\n )\n clearElement(naviLeft)\n naviLeft.appendChild(editButton)\n }\n\n // div.appendChild(editButton)\n\n clearElement(naviRight)\n naviRight.appendChild(newInstanceButton())\n } // showResults\n\n const div = dom.createElement('div')\n const structure = div.appendChild(dom.createElement('table')) // @@ make responsive style\n structure.setAttribute(\n 'style',\n 'background-color: white; min-width: 40em; min-height: 13em;'\n )\n\n const naviLoginoutTR = structure.appendChild(dom.createElement('tr'))\n naviLoginoutTR.appendChild(dom.createElement('td'))\n naviLoginoutTR.appendChild(dom.createElement('td'))\n naviLoginoutTR.appendChild(dom.createElement('td'))\n\n const logInOutButton = null\n /*\n const logInOutButton = UI.login.loginStatusBox(dom, setUser)\n // floating divs lead to a mess\n // logInOutButton.setAttribute('style', 'float: right') // float the beginning of the end\n naviLoginout3.appendChild(logInOutButton)\n logInOutButton.setAttribute('style', 'margin-right: 0em;')\n */\n\n const naviTop = structure.appendChild(dom.createElement('tr'))\n const naviMain = naviTop.appendChild(dom.createElement('td'))\n naviMain.setAttribute('colspan', '3')\n\n const naviMenu = structure.appendChild(dom.createElement('tr'))\n naviMenu.setAttribute('class', 'naviMenu')\n naviMenu.setAttribute(\n 'style',\n ' text-align: middle; vertical-align: middle; padding-top: 4em; '\n )\n // naviMenu.setAttribute('style', 'margin-top: 3em;')\n const naviLeft = naviMenu.appendChild(dom.createElement('td'))\n const naviCenter = naviMenu.appendChild(dom.createElement('td'))\n const naviRight = naviMenu.appendChild(dom.createElement('td'))\n\n getForms()\n\n return div\n } // render\n} // property list\n// ends\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"schedulePane.js","names":["UI","_interopRequireWildcard","require","_solidLogic","_formsForSchedule","_interopRequireDefault","e","__esModule","t","WeakMap","r","n","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","$rdf","rdf","ns","possibleAvailabilities","sched","schedulePane","exports","icon","icons","iconBase","name","audience","solid","label","subject","context","kb","session","store","findTypeURIs","mintClass","mintNew","options","Promise","resolve","reject","newBase","thisInstance","useExisting","sym","complainIfBad","ok","body","console","log","Error","genACLtext","docURI","aclURI","allWrite","g","graph","auth","Namespace","a","acl","doc","add","me","foaf","serialize","setACL2","callbackFunction","aclDoc","any","aclText","uri","fetcher","webOperation","data","contentType","then","_result","err","message","load","updater","authn","currentUser","alert","base","dir","newDetailsDoc","newInstance","newResultsDoc","toBeCopied","noIndexHTML","local","agenda","length","item","fun","copyItem","push","newURI","setThatACL","shift","webCopy","checkUser","webId","createDetailsFile","dc","Date","put","statementsMatching","undefined","uri2","render","dom","invitation","appPathSegment","waitingForLogin","detailsDoc","baseDir","resultsDoc","formsURI","form1","form2","form3","parse","formText","inputStyle","buttonIconStyle","div","appendChild","widgets","errorMessageBlock","clearElement","ele","firstChild","removeChild","refreshCellColor","cell","value","bg","ui","setAttribute","logInOutButton","refresh","showAppropriateDisplay","newInstanceButton","b","login","newAppInstance","noun","initializeNewInstanceInWorkspace","ws","space","split","slice","error","now","getTime","initializeNewInstanceAtBase","p","createElement","innerHTML","getForms","getDetails","nowOrWhenFetched","showSignon","editable","holds","wf","showBootstrap","ready","showForms","getResults","naviMain","signonContext","ensureLoggedIn","textContent","baseField","size","autocomplete","button","addEventListener","_e","doneButton","naviCenter","wizard","currentSlide","gotDoneButton","forms","slides","slide","appendForm","document","b1","removeAttribute","b2","emailButton","naviLeft","naviRight","table","insertables","st","update","success","errorBody","emailIcon","title","anyValue","cal","mailto","each","map","who","mbox","replace","join","encodeURIComponent","window","location","href","response","status","showResults","comment","author","authorName","query","Query","v","vs","forEach","x","vars","variable","pat","resp","time","set_x","opt","set_y","possibleTimes","displayTheMatrix","matrix","matrixForQuery","refreshButton","refreshIcon","disabled","dataPointForNT","loginContext","filter","z","sameTerm","cellFunction","y","_error","selectOptions","predicate","cellSubject","toNT","selector","makeSelectForOptions","utils","responses","myResponse","id","newThing","dps","dataPoint","j","instanceCreator","editButton","editIcon","structure","naviLoginoutTR","naviTop","naviMenu"],"sources":["../../src/schedule/schedulePane.js"],"sourcesContent":["/* Scheduler Pane\n **\n **\n */\n/* global alert */\n\nimport * as UI from 'solid-ui'\nimport { authn } from 'solid-logic'\nconst $rdf = UI.rdf\nconst ns = UI.ns\n\nimport formText from './formsForSchedule.js'\n\n\n\n\n// @@ Give other combos too-- see schedule ontology\nconst possibleAvailabilities = [\n ns.sched('No'),\n ns.sched('Maybe'),\n ns.sched('Yes')\n]\n\nexport const schedulePane = {\n icon: UI.icons.iconBase + 'noun_346777.svg', // @@ better?\n\n name: 'schedule',\n\n audience: [ns.solid('PowerUser')],\n\n // Does the subject deserve an Scheduler pane?\n label: function (subject, context) {\n const kb = context.session.store\n const t = kb.findTypeURIs(subject)\n if (t['http://www.w3.org/ns/pim/schedule#SchedulableEvent']) {\n return 'Scheduling poll'\n }\n return null // No under other circumstances\n },\n\n // Mint a new Schedule poll\n mintClass: ns.sched('SchedulableEvent'),\n\n mintNew: function (context, options) {\n return new Promise(function (resolve, reject) {\n const ns = UI.ns\n const kb = context.session.store\n let newBase = options.newBase\n const thisInstance =\n options.useExisting || $rdf.sym(options.newBase + 'index.ttl#this')\n\n const complainIfBad = function (ok, body) {\n if (ok) return\n console.log(\n 'Error in Schedule Pane: Error constructing new scheduler: ' + body\n )\n reject(new Error(body))\n }\n\n // ////////////////////// Accesss control\n\n // Two constiations of ACL for this app, public read and public read/write\n // In all cases owner has read write control\n\n const genACLtext = function (docURI, aclURI, allWrite) {\n const g = $rdf.graph()\n const auth = $rdf.Namespace('http://www.w3.org/ns/auth/acl#')\n let a = g.sym(aclURI + '#a1')\n const acl = g.sym(aclURI)\n const doc = g.sym(docURI)\n g.add(a, UI.ns.rdf('type'), auth('Authorization'), acl)\n g.add(a, auth('accessTo'), doc, acl)\n g.add(a, auth('agent'), me, acl)\n g.add(a, auth('mode'), auth('Read'), acl)\n g.add(a, auth('mode'), auth('Write'), acl)\n g.add(a, auth('mode'), auth('Control'), acl)\n\n a = g.sym(aclURI + '#a2')\n g.add(a, UI.ns.rdf('type'), auth('Authorization'), acl)\n g.add(a, auth('accessTo'), doc, acl)\n g.add(a, auth('agentClass'), ns.foaf('Agent'), acl)\n g.add(a, auth('mode'), auth('Read'), acl)\n if (allWrite) {\n g.add(a, auth('mode'), auth('Write'), acl)\n }\n return $rdf.serialize(acl, g, aclURI, 'text/turtle')\n }\n\n /*\n const setACL3 = function (docURI, allWrite, callbackFunction) {\n const aclText = genACLtext(docURI, aclDoc.uri, allWrite)\n return UI.acl.setACL(docURI, aclText, callbackFunction)\n }\n */\n\n const setACL2 = function setACL2 (docURI, allWrite, callbackFunction) {\n const aclDoc = kb.any(\n kb.sym(docURI),\n kb.sym('http://www.iana.org/assignments/link-relations/acl')\n ) // @@ check that this get set by web.js\n\n if (aclDoc) {\n // Great we already know where it is\n const aclText = genACLtext(docURI, aclDoc.uri, allWrite)\n\n return fetcher\n .webOperation('PUT', aclDoc.uri, {\n data: aclText,\n contentType: 'text/turtle'\n })\n .then(_result => callbackFunction(true))\n .catch(err => {\n callbackFunction(false, err.message)\n })\n } else {\n return fetcher\n .load(docURI)\n .catch(err => {\n callbackFunction(false, 'Getting headers for ACL: ' + err)\n })\n .then(() => {\n const aclDoc = kb.any(\n kb.sym(docURI),\n kb.sym('http://www.iana.org/assignments/link-relations/acl')\n )\n\n if (!aclDoc) {\n // complainIfBad(false, \"No Link rel=ACL header for \" + docURI)\n throw new Error('No Link rel=ACL header for ' + docURI)\n }\n\n const aclText = genACLtext(docURI, aclDoc.uri, allWrite)\n\n return fetcher.webOperation('PUT', aclDoc.uri, {\n data: aclText,\n contentType: 'text/turtle'\n })\n })\n .then(_result => callbackFunction(true))\n .catch(err => {\n callbackFunction(false, err.message)\n })\n }\n }\n\n // Body of mintNew\n const fetcher = kb.fetcher\n const updater = kb.updater\n\n let me = options.me || authn.currentUser()\n if (!me) {\n console.log('MUST BE LOGGED IN')\n alert('NOT LOGGED IN')\n return\n }\n\n const base = thisInstance.dir().uri\n let newDetailsDoc, newInstance // , newIndexDoc\n\n if (options.useExisting) {\n newInstance = options.useExisting\n newBase = thisInstance.dir().uri\n newDetailsDoc = newInstance.doc()\n // newIndexDoc = null\n if (options.newBase) {\n throw new Error(\n 'mint new scheduler: Illegal - have both new base and existing event'\n )\n }\n } else {\n newDetailsDoc = kb.sym(newBase + 'details.ttl')\n // newIndexDoc = kb.sym(newBase + 'index.html')\n newInstance = kb.sym(newDetailsDoc.uri + '#event')\n }\n\n const newResultsDoc = kb.sym(newBase + 'results.ttl')\n\n const toBeCopied = options.noIndexHTML\n ? {}\n : [{ local: 'index.html', contentType: 'text/html' }]\n\n const agenda = []\n\n // @@ This needs some form of visible progress bar\n for (let f = 0; f < toBeCopied.length; f++) {\n const item = toBeCopied[f]\n const fun = function copyItem (item) {\n agenda.push(function () {\n const newURI = newBase + item.local\n console.log('Copying ' + base + item.local + ' to ' + newURI)\n\n const setThatACL = function () {\n setACL2(newURI, false, function (ok, message) {\n if (!ok) {\n complainIfBad(\n ok,\n 'FAILED to set ACL ' + newURI + ' : ' + message\n )\n console.log('FAILED to set ACL ' + newURI + ' : ' + message)\n } else {\n agenda.shift()() // beware too much nesting\n }\n })\n }\n\n kb.fetcher\n .webCopy(\n base + item.local,\n newBase + item.local,\n item.contentType\n )\n .then(() => authn.checkUser())\n .then(webId => {\n me = webId\n\n setThatACL()\n })\n .catch(err => {\n console.log(\n 'FAILED to copy ' + base + item.local + ' : ' + err.message\n )\n complainIfBad(\n false,\n 'FAILED to copy ' + base + item.local + ' : ' + err.message\n )\n })\n })\n }\n fun(item)\n }\n\n agenda.push(function createDetailsFile () {\n kb.add(\n newInstance,\n ns.rdf('type'),\n ns.sched('SchedulableEvent'),\n newDetailsDoc\n )\n if (me) {\n kb.add(newInstance, ns.dc('author'), me, newDetailsDoc) // Who is sending the invitation?\n kb.add(newInstance, ns.foaf('maker'), me, newDetailsDoc) // Uneditable - wh is allowed to edit this?\n }\n\n kb.add(newInstance, ns.dc('created'), new Date(), newDetailsDoc)\n kb.add(newInstance, ns.sched('resultsDocument'), newDetailsDoc)\n\n updater.put(\n newDetailsDoc,\n kb.statementsMatching(undefined, undefined, undefined, newDetailsDoc),\n 'text/turtle',\n function (uri2, ok, message) {\n if (ok) {\n agenda.shift()()\n } else {\n complainIfBad(\n ok,\n 'FAILED to save new scheduler at: ' +\n newDetailsDoc +\n ' : ' +\n message\n )\n console.log(\n 'FAILED to save new scheduler at: ' +\n newDetailsDoc +\n ' : ' +\n message\n )\n }\n }\n )\n })\n\n agenda.push(function () {\n kb.fetcher\n .webOperation('PUT', newResultsDoc.uri, {\n data: '',\n contentType: 'text/turtle'\n })\n .then(() => {\n agenda.shift()()\n })\n .catch(err => {\n complainIfBad(\n false,\n 'Failed to initialize empty results file: ' + err.message\n )\n })\n })\n\n agenda.push(function () {\n setACL2(newResultsDoc.uri, true, function (ok, body) {\n complainIfBad(\n ok,\n 'Failed to set Read-Write ACL on results file: ' + body\n )\n if (ok) agenda.shift()()\n })\n })\n\n agenda.push(function () {\n setACL2(newDetailsDoc.uri, false, function (ok, body) {\n complainIfBad(\n ok,\n 'Failed to set read ACL on configuration file: ' + body\n )\n if (ok) agenda.shift()()\n })\n })\n\n agenda.push(function () {\n // give the user links to the new app\n console.log('Finished minting new scheduler')\n options.newInstance = newInstance\n resolve(options)\n })\n\n agenda.shift()()\n // Created new data files.\n }) // promise\n }, // mintNew\n\n // Render one meeting schedule poll\n render: function (subject, context) {\n const dom = context.dom\n const kb = context.session.store\n const ns = UI.ns\n const invitation = subject\n const appPathSegment = 'app-when-can-we.w3.org' // how to allocate this string and connect to\n\n // ////////////////////////////////////////////\n\n const fetcher = kb.fetcher\n const updater = kb.updater\n let waitingForLogin = false\n\n const thisInstance = subject\n const detailsDoc = subject.doc()\n const baseDir = detailsDoc.dir()\n const base = baseDir.uri\n\n const resultsDoc = $rdf.sym(base + 'results.ttl')\n // const formsURI = base + 'forms.ttl'\n // We can't in fact host stuff from there because of CORS\n const formsURI =\n 'https://solidos.github.io/solid-panes/schedule/formsForSchedule.ttl'\n\n const form1 = kb.sym(formsURI + '#form1')\n const form2 = kb.sym(formsURI + '#form2')\n const form3 = kb.sym(formsURI + '#form3')\n\n $rdf.parse(formText, kb, formsURI, 'text/turtle') // Load forms directly\n\n const inputStyle =\n 'background-color: #eef; padding: 0.5em; border: .5em solid white; font-size: 100%' // font-size: 120%\n const buttonIconStyle = 'width: 1.8em; height: 1.8em;'\n\n // Utility functions\n\n const complainIfBad = function (ok, message) {\n if (!ok) {\n div.appendChild(UI.widgets.errorMessageBlock(dom, message, 'pink'))\n }\n }\n\n const clearElement = function (ele) {\n while (ele.firstChild) {\n ele.removeChild(ele.firstChild)\n }\n return ele\n }\n\n const refreshCellColor = function (cell, value) {\n const bg = kb.any(value, UI.ns.ui('backgroundColor'))\n if (bg) {\n cell.setAttribute(\n 'style',\n 'padding: 0.3em; text-align: center; background-color: ' + bg + ';'\n )\n }\n }\n\n let me\n\n authn.checkUser().then(webId => {\n me = webId\n\n if (logInOutButton) {\n logInOutButton.refresh()\n }\n if (webId && waitingForLogin) {\n waitingForLogin = false\n showAppropriateDisplay()\n }\n })\n console.log('me: ' + me) // @@ curently not actually used elsewhere\n\n // ////////////////////////////// Reproduction: spawn a new instance\n //\n // Viral growth path: user of app decides to make another instance\n //\n\n const newInstanceButton = function () {\n const b = UI.login.newAppInstance(\n dom,\n { noun: 'scheduler' },\n initializeNewInstanceInWorkspace\n )\n b.firstChild.setAttribute('style', inputStyle)\n return b\n } // newInstanceButton\n\n // /////////////////////// Create new document files for new instance of app\n\n const initializeNewInstanceInWorkspace = function (ws) {\n let newBase = kb.any(ws, ns.space('uriPrefix'))\n if (!newBase) {\n newBase = ws.uri.split('#')[0]\n } else {\n newBase = newBase.value\n }\n if (newBase.slice(-1) !== '/') {\n $rdf.log.error(appPathSegment + ': No / at end of uriPrefix ' + newBase) // @@ paramater?\n newBase = newBase + '/'\n }\n const now = new Date()\n newBase += appPathSegment + '/id' + now.getTime() + '/' // unique id\n\n initializeNewInstanceAtBase(thisInstance, newBase)\n }\n\n const initializeNewInstanceAtBase = function (thisInstance, newBase) {\n const options = { thisInstance: thisInstance, newBase: newBase }\n this.mintNew(context, options)\n .then(function (options) {\n const p = div.appendChild(dom.createElement('p'))\n p.setAttribute('style', 'font-size: 140%;')\n p.innerHTML =\n \"Your <a href='\" +\n options.newInstance.uri +\n \"'><b>new scheduler</b></a> is ready to be set up. \" +\n \"<br/><br/><a href='\" +\n options.newInstance.uri +\n \"'>Say when you what days work for you.</a>\"\n })\n .catch(function (error) {\n complainIfBad(\n false,\n 'Error createing new scheduler at ' +\n options.newInstance +\n ': ' +\n error\n )\n })\n }\n\n // ///////////////////////\n\n const getForms = function () {\n console.log('getforms()')\n getDetails()\n /*\n fetcher.nowOrWhenFetched(formsURI, undefined, function (ok, body) {\n console.log('getforms() ok? ' + ok)\n if (!ok) return complainIfBad(ok, body)\n getDetails()\n })\n */\n }\n\n const getDetails = function () {\n console.log('getDetails()') // Looking for blank screen hang-up\n fetcher.nowOrWhenFetched(detailsDoc.uri, undefined, function (ok, body) {\n console.log('getDetails() ok? ' + ok)\n if (!ok) return complainIfBad(ok, body)\n showAppropriateDisplay()\n })\n }\n\n const showAppropriateDisplay = function showAppropriateDisplay () {\n console.log('showAppropriateDisplay()')\n\n authn.checkUser().then(webId => {\n if (!webId) {\n return showSignon()\n }\n\n // On gh-pages, the turtle will not load properly (bad mime type)\n // but we can trap it as being a non-editable server.\n\n if (\n !kb.updater.editable(detailsDoc.uri, kb) ||\n kb.holds(subject, ns.rdf('type'), ns.wf('TemplateInstance'))\n ) {\n // This is read-only example e.g. on github pages, etc\n showBootstrap(div)\n return\n }\n\n const ready = kb.any(subject, ns.sched('ready'))\n\n if (!ready) {\n showForms()\n } else {\n // no editing not author\n getResults()\n }\n })\n }\n\n const showSignon = function showSignon () {\n clearElement(naviMain)\n const signonContext = { div: div, dom: dom }\n UI.login.ensureLoggedIn(signonContext).then(context => {\n me = context.me\n waitingForLogin = false // untested\n showAppropriateDisplay()\n })\n }\n\n const showBootstrap = function showBootstrap () {\n const div = clearElement(naviMain)\n div.appendChild(\n UI.login.newAppInstance(\n dom,\n { noun: 'poll' },\n initializeNewInstanceInWorkspace\n )\n )\n\n div.appendChild(dom.createElement('hr')) // @@\n\n const p = div.appendChild(dom.createElement('p'))\n p.textContent =\n 'Where would you like to store the data for the poll? ' +\n 'Give the URL of the directory where you would like the data stored.'\n const baseField = div.appendChild(dom.createElement('input'))\n baseField.setAttribute('type', 'text')\n baseField.size = 80 // really a string\n baseField.label = 'base URL'\n baseField.autocomplete = 'on'\n\n div.appendChild(dom.createElement('br')) // @@\n\n const button = div.appendChild(dom.createElement('button'))\n button.setAttribute('style', inputStyle)\n button.textContent = 'Start new poll at this URI'\n button.addEventListener('click', function (_e) {\n let newBase = baseField.value\n if (newBase.slice(-1) !== '/') {\n newBase += '/'\n }\n initializeNewInstanceAtBase(thisInstance, newBase)\n })\n }\n\n // ///////////// The forms to configure the poll\n\n const doneButton = dom.createElement('button')\n\n const showForms = function () {\n clearElement(naviCenter) // Remove refresh button if nec\n const div = naviMain\n const wizard = true\n let currentSlide = 0\n let gotDoneButton = false\n if (wizard) {\n const forms = [form1, form2, form3]\n const slides = []\n currentSlide = 0\n for (let f = 0; f < forms.length; f++) {\n const slide = dom.createElement('div')\n UI.widgets.appendForm(\n document,\n slide,\n {},\n subject,\n forms[f],\n detailsDoc,\n complainIfBad\n )\n slides.push(slide)\n }\n\n const refresh = function () {\n clearElement(naviMain).appendChild(slides[currentSlide])\n\n if (currentSlide === 0) {\n b1.setAttribute('disabled', '')\n } else {\n b1.removeAttribute('disabled')\n }\n if (currentSlide === slides.length - 1) {\n b2.setAttribute('disabled', '')\n if (!gotDoneButton) {\n // Only expose at last slide seen\n naviCenter.appendChild(emailButton) // could also check data shape\n naviCenter.appendChild(doneButton) // could also check data shape\n gotDoneButton = true\n }\n } else {\n b2.removeAttribute('disabled')\n }\n }\n const b1 = clearElement(naviLeft).appendChild(dom.createElement('button'))\n b1.setAttribute('style', inputStyle)\n b1.textContent = '<- go back'\n b1.addEventListener(\n 'click',\n function (_e) {\n if (currentSlide > 0) {\n currentSlide -= 1\n refresh()\n }\n },\n false\n )\n\n const b2 = clearElement(naviRight).appendChild(\n dom.createElement('button')\n )\n b2.setAttribute('style', inputStyle)\n b2.textContent = 'continue ->'\n b2.addEventListener(\n 'click',\n function (_e) {\n if (currentSlide < slides.length - 1) {\n currentSlide += 1\n refresh()\n }\n },\n false\n )\n\n refresh()\n } else {\n // not wizard one big form\n // @@@ create the initial config doc if not exist\n const table = div.appendChild(dom.createElement('table'))\n UI.widgets.appendForm(\n document,\n table,\n {},\n subject,\n form1,\n detailsDoc,\n complainIfBad\n )\n UI.widgets.appendForm(\n document,\n table,\n {},\n subject,\n form2,\n detailsDoc,\n complainIfBad\n )\n UI.widgets.appendForm(\n document,\n table,\n {},\n subject,\n form3,\n detailsDoc,\n complainIfBad\n )\n naviCenter.appendChild(doneButton) // could also check data shape\n }\n // @@@ link config to results\n\n const insertables = []\n insertables.push(\n $rdf.st(\n subject,\n ns.sched('availabilityOptions'),\n ns.sched('YesNoMaybe'),\n detailsDoc\n )\n )\n insertables.push(\n $rdf.st(subject, ns.sched('ready'), new Date(), detailsDoc)\n )\n insertables.push(\n $rdf.st(subject, ns.sched('results'), resultsDoc, detailsDoc)\n ) // @@ also link in results\n\n doneButton.setAttribute('style', inputStyle)\n doneButton.textContent = 'Go to poll'\n doneButton.addEventListener(\n 'click',\n function (_e) {\n if (kb.any(subject, ns.sched('ready'))) {\n // already done\n getResults()\n naviRight.appendChild(emailButton)\n } else {\n naviRight.appendChild(emailButton)\n kb.updater.update([], insertables, function (\n uri,\n success,\n errorBody\n ) {\n if (!success) {\n complainIfBad(success, errorBody)\n } else {\n // naviRight.appendChild(emailButton)\n getResults()\n }\n })\n }\n },\n false\n )\n\n const emailButton = dom.createElement('button')\n emailButton.setAttribute('style', inputStyle)\n const emailIcon = emailButton.appendChild(dom.createElement('img'))\n emailIcon.setAttribute('src', UI.icons.iconBase + 'noun_480183.svg') // noun_480183.svg\n emailIcon.setAttribute('style', buttonIconStyle)\n // emailButton.textContent = 'email invitations'\n emailButton.addEventListener(\n 'click',\n function (_e) {\n const title =\n kb.anyValue(subject, ns.cal('summary')) ||\n kb.anyValue(subject, ns.dc('title')) ||\n ''\n const mailto =\n 'mailto:' +\n kb\n .each(subject, ns.sched('invitee'))\n .map(function (who) {\n const mbox = kb.any(who, ns.foaf('mbox'))\n return mbox ? mbox.uri.replace('mailto:', '') : ''\n })\n .join(',') +\n '?subject=' +\n encodeURIComponent(title + '-- When can we meet?') +\n '&body=' +\n encodeURIComponent(\n title + '\\n\\nWhen can you?\\n\\nSee ' + subject + '\\n'\n )\n // @@ assumed there is a data browser\n\n console.log('Mail: ' + mailto)\n window.location.href = mailto\n },\n false\n )\n } // showForms\n\n // Ask for each day, what times .. @@ to be added some time\n /*\n const setTimesOfDay = function () {\n const i, j, x, y, slot, cell, day\n const insertables = []\n const possibleDays = kb.each(invitation, ns.sched('option'))\n .map(function (opt) {return kb.any(opt, ns.cal('dtstart'))})\n const cellLookup = []\n const slots = kb.each(invitation, ns.sched('slot'))\n if (slots.length === 0) {\n for (i = 0; i < 2; i++) {\n slot = UI.widgets.newThing(detailsDoc)\n insertables.push($rdf.st(invitation, ns.sched('slot'), slot))\n insertables.push($rdf.st(slot, ns.rdfs('label'), 'slot ' + (i + 1)))\n for (j = 0; j < possibleDays.length; j++) {\n day - possibleDays[j]\n x = kb.any(slot, ns.rdfs('label'))\n y = kb.any(day, ns.cal('dtstart'))\n cell = UI.widgets.newThing(detailsDoc)\n cellLookup[x.toNT() + y.toNT()] = cell\n insertables.push($rdf.st(slot, ns.sched('cell'), cell))\n insertables.push($rdf.st(cell, ns.sched('day'), possibleDays[j]))\n }\n }\n }\n\n const query = new $rdf.Query('TimesOfDay')\n const v = {}['day', 'label', 'value', 'slot', 'cell'].map(function (x) {\n query.consts.push(v[x] = $rdf.constiable(x)) })\n query.pat.add(invitation, ns.sched('slot'), v.slot)\n query.pat.add(v.slot, ns.rdfs('label'), v.label)\n query.pat.add(v.slot, ns.sched('cell'), v.cell)\n query.pat.add(v.cell, ns.sched('timeOfDay'), v.value)\n query.pat.add(v.cell, ns.sched('day'), v.day)\n\n const options = {}\n options.set_x = kb.each(subject, ns.sched('slot')) // @@@@@ option -> dtstart in future\n options.set_x = options.set_x.map(function (opt) { return kb.any(opt, ns.rdfs('label')) })\n\n options.set_y = kb.each(subject, ns.sched('option')); // @@@@@ option -> dtstart in future\n options.set_y = options.set_y.map(function (opt) { return kb.any(opt, ns.cal('dtstart')) })\n\n const possibleTimes = kb.each(invitation, ns.sched('option'))\n .map(function (opt) { return kb.any(opt, ns.cal('dtstart')) })\n\n const displayTheMatrix = function () {\n const matrix = div.appendChild(UI.matrix.matrixForQuery(\n dom, query, v.time, v.author, v.value, options, function () {}))\n\n matrix.setAttribute('class', 'matrix')\n\n const refreshButton = dom.createElement('button')\n refreshButton.setAttribute('style', inputStyle)\n refreshButton.textContent = 'refresh'\n refreshButton.addEventListener('click', function (e) {\n refreshButton.disabled = true\n store.fetcher.nowOrWhenFetched(subject.doc(), undefined, function (ok, body) {\n if (!ok) {\n console.log('Cant refresh matrix' + body)\n } else {\n matrix.refresh()\n refreshButton.disabled = false\n }\n })\n }, false)\n\n clearElement(naviCenter)\n naviCenter.appendChild(refreshButton)\n }\n\n const dataPointForNT = []\n\n const doc = resultsDoc\n options.set_y = options.set_y.filter(function (z) { return (! z.sameTerm(me)) })\n options.set_y.push(me) // Put me on the end\n\n options.cellFunction = function (cell, x, y, value) {\n // const point = cellLookup[x.toNT() + y.toNT()]\n\n if (y.sameTerm(me)) {\n const callbackFunction = function () { refreshCellColor(cell, value); }; // @@ may need that\n const selectOptions = {}\n const predicate = ns.sched('timeOfDay')\n const cellSubject = dataPointForNT[x.toNT()]\n const selector = UI.widgets.makeSelectForOptions(dom, kb, cellSubject, predicate,\n possibleAvailabilities, selectOptions, resultsDoc, callbackFunction)\n cell.appendChild(selector)\n } else if (value !== null) {\n cell.textContent = UI.utils.label(value)\n }\n\n }\n\n const responses = kb.each(invitation, ns.sched('response'))\n const myResponse = null\n responses.map(function (r) {\n if (kb.holds(r, ns.dc('author'), me)) {\n myResponse = r\n }\n })\n\n const id = UI.widgets.newThing(doc).uri\n if (myResponse === null) {\n myResponse = $rdf.sym(id + '_response')\n insertables.push($rdf.st(invitation, ns.sched('response'), myResponse, doc))\n insertables.push($rdf.st(myResponse, ns.dc('author'), me, doc))\n } else {\n const dps = kb.each(myResponse, ns.sched('cell'))\n dps.map(function (dataPoint) {\n const time = kb.any(dataPoint, ns.cal('dtstart'))\n dataPointForNT[time.toNT()] = dataPoint\n })\n }\n for (let j = 0; j < possibleTimes.length; j++) {\n if (dataPointForNT[possibleTimes[j].toNT()]) continue\n const dataPoint = $rdf.sym(id + '_' + j)\n insertables.push($rdf.st(myResponse, ns.sched('cell'), dataPoint, doc))\n insertables.push($rdf.st(dataPoint, ns.cal('dtstart'), possibleTimes[j], doc)) // @@\n dataPointForNT[possibleTimes[j].toNT()] = dataPoint\n }\n if (insertables.length) {\n store.updater.update([], insertables, function (uri, success, errorBody) {\n if (!success) {\n complainIfBad(success, errorBody)\n } else {\n displayTheMatrix()\n }\n })\n } else { // no insertables\n displayTheMatrix()\n }\n }\n */\n // end setTimesOfDay\n\n // Read or create empty results file\n function getResults () {\n fetcher.nowOrWhenFetched(resultsDoc.uri, (ok, body, response) => {\n if (!ok) {\n if (response.status === 404) {\n // / Check explicitly for 404 error\n console.log('Initializing details file ' + resultsDoc)\n updater.put(resultsDoc, [], 'text/turtle', function (\n uri2,\n ok,\n message\n ) {\n if (ok) {\n clearElement(naviMain)\n showResults()\n } else {\n complainIfBad(\n ok,\n 'FAILED to create results file at: ' +\n resultsDoc.uri +\n ' : ' +\n message\n )\n console.log(\n 'FAILED to craete results file at: ' +\n resultsDoc.uri +\n ' : ' +\n message\n )\n }\n })\n } else {\n // Other error, not 404 -- do not try to overwite the file\n complainIfBad(ok, 'FAILED to read results file: ' + body)\n }\n } else {\n // Happy read\n clearElement(naviMain)\n showResults()\n }\n })\n }\n\n function showResults () {\n // Now the form for responsing to the poll\n //\n\n // div.appendChild(dom.createElement('hr'))\n\n // const invitation = subject\n const title = kb.any(invitation, ns.cal('summary'))\n const comment = kb.any(invitation, ns.cal('comment'))\n const location = kb.any(invitation, ns.cal('location'))\n const div = naviMain\n if (title) div.appendChild(dom.createElement('h3')).textContent = title\n if (location) {\n div.appendChild(dom.createElement('address')).textContent =\n location.value\n }\n if (comment) {\n div.appendChild(dom.createElement('p')).textContent = comment.value\n }\n const author = kb.any(invitation, ns.dc('author'))\n if (author) {\n const authorName = kb.any(author, ns.foaf('name'))\n if (authorName) {\n div.appendChild(dom.createElement('p')).textContent = authorName\n }\n }\n\n const query = new $rdf.Query('Responses')\n const v = {}\n const vs = ['time', 'author', 'value', 'resp', 'cell']\n vs.forEach(function (x) {\n query.vars.push((v[x] = $rdf.variable(x)))\n })\n query.pat.add(invitation, ns.sched('response'), v.resp)\n query.pat.add(v.resp, ns.dc('author'), v.author)\n query.pat.add(v.resp, ns.sched('cell'), v.cell)\n query.pat.add(v.cell, ns.sched('availabilty'), v.value)\n query.pat.add(v.cell, ns.cal('dtstart'), v.time)\n\n // Sort by by person @@@\n\n const options = {}\n options.set_x = kb.each(subject, ns.sched('option')) // @@@@@ option -> dtstart in future\n options.set_x = options.set_x.map(function (opt) {\n return kb.any(opt, ns.cal('dtstart'))\n })\n\n options.set_y = kb.each(subject, ns.sched('response'))\n options.set_y = options.set_y.map(function (resp) {\n return kb.any(resp, ns.dc('author'))\n })\n\n const possibleTimes = kb\n .each(invitation, ns.sched('option'))\n .map(function (opt) {\n return kb.any(opt, ns.cal('dtstart'))\n })\n\n const displayTheMatrix = function () {\n const matrix = div.appendChild(\n UI.matrix.matrixForQuery(\n dom,\n query,\n v.time,\n v.author,\n v.value,\n options,\n function () {}\n )\n )\n\n matrix.setAttribute('class', 'matrix')\n\n const refreshButton = dom.createElement('button')\n refreshButton.setAttribute('style', inputStyle)\n // refreshButton.textContent = 'refresh' // noun_479395.svg\n const refreshIcon = dom.createElement('img')\n refreshIcon.setAttribute('src', UI.icons.iconBase + 'noun_479395.svg')\n refreshIcon.setAttribute('style', buttonIconStyle)\n refreshButton.appendChild(refreshIcon)\n refreshButton.addEventListener(\n 'click',\n function (_e) {\n refreshButton.disabled = true\n kb.fetcher.refresh(resultsDoc, function (ok, body) {\n if (!ok) {\n console.log('Cant refresh matrix' + body)\n } else {\n matrix.refresh()\n refreshButton.disabled = false\n }\n })\n },\n false\n )\n\n clearElement(naviCenter)\n naviCenter.appendChild(refreshButton)\n }\n\n // @@ Give other combos too-- see schedule ontology\n // const possibleAvailabilities = [ SCHED('No'), SCHED('Maybe'), SCHED('Yes') ]\n\n // const me = authn.currentUser()\n\n const dataPointForNT = []\n\n const loginContext = { div: naviCenter, dom: dom }\n UI.login.ensureLoggedIn(loginContext).then(context => {\n const me = context.me\n const doc = resultsDoc\n options.set_y = options.set_y.filter(function (z) {\n return !z.sameTerm(me)\n })\n options.set_y.push(me) // Put me on the end\n\n options.cellFunction = function (cell, x, y, value) {\n if (value !== null) {\n kb.fetcher.nowOrWhenFetched(\n value.uri.split('#')[0],\n undefined,\n function (ok, _error) {\n if (ok) refreshCellColor(cell, value)\n }\n )\n }\n if (y.sameTerm(me)) {\n const callbackFunction = function () {\n refreshCellColor(cell, value)\n } // @@ may need that\n const selectOptions = {}\n const predicate = ns.sched('availabilty')\n const cellSubject = dataPointForNT[x.toNT()]\n const selector = UI.widgets.makeSelectForOptions(\n dom,\n kb,\n cellSubject,\n predicate,\n possibleAvailabilities,\n selectOptions,\n resultsDoc,\n callbackFunction\n )\n cell.appendChild(selector)\n } else if (value !== null) {\n cell.textContent = UI.utils.label(value)\n }\n }\n\n const responses = kb.each(invitation, ns.sched('response'))\n let myResponse = null\n responses.forEach(function (r) {\n if (kb.holds(r, ns.dc('author'), me)) {\n myResponse = r\n }\n })\n\n const insertables = [] // list of statements to be stored\n\n const id = UI.widgets.newThing(doc).uri\n if (myResponse === null) {\n myResponse = $rdf.sym(id + '_response')\n insertables.push(\n $rdf.st(invitation, ns.sched('response'), myResponse, doc)\n )\n insertables.push($rdf.st(myResponse, ns.dc('author'), me, doc))\n } else {\n const dps = kb.each(myResponse, ns.sched('cell'))\n dps.forEach(function (dataPoint) {\n const time = kb.any(dataPoint, ns.cal('dtstart'))\n dataPointForNT[time.toNT()] = dataPoint\n })\n }\n for (let j = 0; j < possibleTimes.length; j++) {\n if (dataPointForNT[possibleTimes[j].toNT()]) continue\n const dataPoint = $rdf.sym(id + '_' + j)\n insertables.push(\n $rdf.st(myResponse, ns.sched('cell'), dataPoint, doc)\n )\n insertables.push(\n $rdf.st(dataPoint, ns.cal('dtstart'), possibleTimes[j], doc)\n ) // @@\n dataPointForNT[possibleTimes[j].toNT()] = dataPoint\n }\n if (insertables.length) {\n kb.updater.update([], insertables, function (\n uri,\n success,\n errorBody\n ) {\n if (!success) {\n complainIfBad(success, errorBody)\n } else {\n displayTheMatrix()\n }\n })\n } else {\n // no insertables\n displayTheMatrix()\n }\n }) // @@@@ end of .then\n\n // If I made this in the first place, allow me to edit it.\n // @@ optionally -- allows others to if according to original\n const instanceCreator = kb.any(subject, ns.foaf('maker')) // owner?\n if (!instanceCreator || instanceCreator.sameTerm(me)) {\n const editButton = dom.createElement('button')\n editButton.setAttribute('style', inputStyle)\n // editButton.textContent = '(Modify the poll)' // noun_344563.svg\n const editIcon = dom.createElement('img')\n editIcon.setAttribute('src', UI.icons.iconBase + 'noun_344563.svg')\n editIcon.setAttribute('style', buttonIconStyle)\n editButton.appendChild(editIcon)\n editButton.addEventListener(\n 'click',\n function (_e) {\n clearElement(div)\n showForms()\n },\n false\n )\n clearElement(naviLeft)\n naviLeft.appendChild(editButton)\n }\n\n // div.appendChild(editButton)\n\n clearElement(naviRight)\n naviRight.appendChild(newInstanceButton())\n } // showResults\n\n const div = dom.createElement('div')\n const structure = div.appendChild(dom.createElement('table')) // @@ make responsive style\n structure.setAttribute(\n 'style',\n 'background-color: white; min-width: 40em; min-height: 13em;'\n )\n\n const naviLoginoutTR = structure.appendChild(dom.createElement('tr'))\n naviLoginoutTR.appendChild(dom.createElement('td'))\n naviLoginoutTR.appendChild(dom.createElement('td'))\n naviLoginoutTR.appendChild(dom.createElement('td'))\n\n const logInOutButton = null\n /*\n const logInOutButton = UI.login.loginStatusBox(dom, setUser)\n // floating divs lead to a mess\n // logInOutButton.setAttribute('style', 'float: right') // float the beginning of the end\n naviLoginout3.appendChild(logInOutButton)\n logInOutButton.setAttribute('style', 'margin-right: 0em;')\n */\n\n const naviTop = structure.appendChild(dom.createElement('tr'))\n const naviMain = naviTop.appendChild(dom.createElement('td'))\n naviMain.setAttribute('colspan', '3')\n\n const naviMenu = structure.appendChild(dom.createElement('tr'))\n naviMenu.setAttribute('class', 'naviMenu')\n naviMenu.setAttribute(\n 'style',\n ' text-align: middle; vertical-align: middle; padding-top: 4em; '\n )\n // naviMenu.setAttribute('style', 'margin-top: 3em;')\n const naviLeft = naviMenu.appendChild(dom.createElement('td'))\n const naviCenter = naviMenu.appendChild(dom.createElement('td'))\n const naviRight = naviMenu.appendChild(dom.createElement('td'))\n\n getForms()\n\n return div\n } // render\n} // property list\n// ends\n"],"mappings":"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","ignoreList":[]}
@@ -8,8 +8,7 @@ exports.slideshowPane = void 0;
8
8
  var UI = _interopRequireWildcard(require("solid-ui"));
9
9
  var _betterSimpleSlideshow = _interopRequireDefault(require("@solid/better-simple-slideshow"));
10
10
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
11
- 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); }
12
- 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; }
11
+ 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); }
13
12
  /* slideshow Pane
14
13
  **
15
14
  */