solid-panes 3.7.3-1bd42721 → 3.7.3-2bd29d5c

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 (50) hide show
  1. package/dist/dashboard/basicPreferences.js +121 -129
  2. package/dist/dashboard/basicPreferences.js.map +1 -1
  3. package/dist/dashboard/dashboardPane.js +60 -54
  4. package/dist/dashboard/dashboardPane.js.map +1 -1
  5. package/dist/dashboard/homepage.js +45 -54
  6. package/dist/dashboard/homepage.js.map +1 -1
  7. package/dist/home/homePane.d.ts.map +1 -1
  8. package/dist/home/homePane.js +60 -55
  9. package/dist/home/homePane.js.map +1 -1
  10. package/dist/index.js +86 -25
  11. package/dist/index.js.map +1 -1
  12. package/dist/internal/internalPane.js +168 -179
  13. package/dist/internal/internalPane.js.map +1 -1
  14. package/dist/mainPage/footer.js +13 -7
  15. package/dist/mainPage/footer.js.map +1 -1
  16. package/dist/mainPage/header.js +59 -58
  17. package/dist/mainPage/header.js.map +1 -1
  18. package/dist/mainPage/index.js +19 -24
  19. package/dist/mainPage/index.js.map +1 -1
  20. package/dist/outline/context.js +17 -11
  21. package/dist/outline/context.js.map +1 -1
  22. package/dist/outline/propertyViews.js +39 -28
  23. package/dist/outline/propertyViews.js.map +1 -1
  24. package/dist/outline/viewAsImage.js +13 -5
  25. package/dist/outline/viewAsImage.js.map +1 -1
  26. package/dist/outline/viewAsMbox.js +20 -11
  27. package/dist/outline/viewAsMbox.js.map +1 -1
  28. package/dist/pad/padPane.js +395 -404
  29. package/dist/pad/padPane.js.map +1 -1
  30. package/dist/schedule/schedulePane.js +3 -4
  31. package/dist/schedule/schedulePane.js.map +1 -1
  32. package/dist/sharing/sharingPane.js +36 -32
  33. package/dist/sharing/sharingPane.js.map +1 -1
  34. package/dist/tabbed/tabbedPane.js +54 -51
  35. package/dist/tabbed/tabbedPane.js.map +1 -1
  36. package/dist/trustedApplications/trustedApplications.dom.js +134 -146
  37. package/dist/trustedApplications/trustedApplications.dom.js.map +1 -1
  38. package/dist/trustedApplications/trustedApplications.utils.js +20 -20
  39. package/dist/trustedApplications/trustedApplications.utils.js.map +1 -1
  40. package/dist/trustedApplications/trustedApplications.view.js +51 -57
  41. package/dist/trustedApplications/trustedApplications.view.js.map +1 -1
  42. package/dist/versionInfo.js +35 -29
  43. package/dist/versionInfo.js.map +1 -1
  44. package/package.json +18 -18
  45. package/dist/schedule/formsForSchedule.js +0 -124
  46. package/dist/schedule/formsForSchedule.js.map +0 -1
  47. package/dist/types.d.ts +0 -30
  48. package/dist/types.d.ts.map +0 -1
  49. package/dist/types.js +0 -2
  50. package/dist/types.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"padPane.js","sourceRoot":"","sources":["../../src/pad/padPane.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"padPane.js","names":["_solidUi","require","_solidLogic","_rdflib","paneDef","icon","icons","iconBase","name","audience","ns","solid","label","subject","context","t","session","store","findTypeURIs","mintClass","pad","mintNew","newPaneOptions","updater","me","uri","Error","newInstance","sym","newBase","newPadDoc","doc","add","rdf","dc","Date","chunk","sioc","Promise","resolve","reject","put","statementsMatching","undefined","uri2","ok","message","render","paneOptions","dom","complainIfBad","div","appendChild","widgets","errorMessageBlock","clearElement","ele","firstChild","removeChild","genACLtext","docURI","aclURI","allWrite","g","graph","auth","Namespace","a","acl","foaf","serialize","setACL","callbackFunction","aclDoc","any","fetcher","aclText","webOperation","data","contentType","then","catch","err","load","newInstanceButton","button","createElement","textContent","addEventListener","showBootstrap","spawnArea","thisInstance","container","noun","appDetails","login","newAppInstance","workspace","initializeNewInstanceInWorkspace","NamedNode","p","baseField","setAttribute","size","autocomplete","_e","value","slice","initializeNewInstanceAtBase","ws","space","split","log","error","appPathSegment","now","getTime","here","base","newIndexDoc","toBeCopied","local","agenda","f","length","item","fun","copyItem","push","newURI","console","setThatACL","shift","webCopy","authn","checkUser","webId","createNewPadDataFile","PAD","padDoc","_uri2","body","innerHTML","showResults","exists","currentUser","title","vcard","solo","window","document","options","padEle","notepad","naviMain","partipationTarget","meeting","manageParticipation","naviMiddle2","setRefreshHandler","reloadAndSync","loadPadData","nowOrWhenFetched","response","status","holds","wf","naviMiddle3","structure","naviLoginoutTR","naviTop","naviMiddle","naviMiddle1","naviStatus","statusArea","naviSpawn","naviMenu","timingArea","_default","exports","default"],"sources":["../../src/pad/padPane.ts"],"sourcesContent":["import { icons, ns, pad, widgets, login } from 'solid-ui'\nimport { authn, AppDetails } from 'solid-logic'\nimport { graph, log, NamedNode, Namespace, sym, serialize, Store } from 'rdflib'\nimport { PaneDefinition } from 'pane-registry'\n/* pad Pane\n **\n */\n\nconst paneDef: PaneDefinition = {\n // icon: (module.__dirname || __dirname) + 'images/ColourOn.png',\n icon: icons.iconBase + 'noun_79217.svg',\n\n name: 'pad',\n\n audience: [ns.solid('PowerUser')],\n\n // Does the subject deserve an pad pane?\n label: function (subject, context) {\n const t = (context.session.store as Store).findTypeURIs(subject)\n if (t['http://www.w3.org/ns/pim/pad#Notepad']) {\n return 'pad'\n }\n return null // No under other circumstances\n },\n\n mintClass: ns.pad('Notepad'),\n\n mintNew: function (context, newPaneOptions: any) {\n const store = context.session.store as Store\n const updater = store.updater\n if (newPaneOptions.me && !newPaneOptions.me.uri) {\n throw new Error('notepad mintNew: Invalid userid')\n }\n\n const newInstance = (newPaneOptions.newInstance =\n newPaneOptions.newInstance ||\n store.sym(newPaneOptions.newBase + 'index.ttl#this'))\n // const newInstance = kb.sym(newBase + 'pad.ttl#thisPad');\n const newPadDoc = newInstance.doc()\n\n store.add(newInstance, ns.rdf('type'), ns.pad('Notepad'), newPadDoc)\n store.add(newInstance, ns.dc('title'), 'Shared Notes', newPadDoc)\n store.add(newInstance, ns.dc('created'), new Date() as any, newPadDoc) // @@ TODO Remove casting\n if (newPaneOptions.me) {\n store.add(newInstance, ns.dc('author'), newPaneOptions.me, newPadDoc)\n }\n // kb.add(newInstance, ns.pad('next'), newInstance, newPadDoc);\n // linked list empty @@\n const chunk = store.sym(newInstance.uri + '_line0')\n store.add(newInstance, ns.pad('next'), chunk, newPadDoc) // Linked list has one entry\n store.add(chunk, ns.pad('next'), newInstance, newPadDoc)\n store.add(chunk, ns.dc('author'), newPaneOptions.me, newPadDoc)\n store.add(chunk, ns.sioc('content'), '', newPadDoc)\n\n return new Promise(function (resolve, reject) {\n if (!updater) {\n reject(new Error('Have no updater'))\n return\n }\n updater.put(\n newPadDoc,\n store.statementsMatching(undefined, undefined, undefined, newPadDoc),\n 'text/turtle',\n function (uri2, ok, message) {\n if (ok) {\n resolve(newPaneOptions)\n } else {\n reject(\n new Error('FAILED to save new tool at: ' + uri2 + ' : ' + message)\n )\n }\n }\n )\n })\n },\n // and follow instructions there\n // @@ TODO Set better type for paneOptions\n render: function (subject, context, paneOptions: any) {\n const dom = context.dom\n const store = context.session.store as Store\n // Utility functions\n const complainIfBad = function (ok: boolean, message: string) {\n if (!ok) {\n div.appendChild(widgets.errorMessageBlock(dom, message, 'pink'))\n }\n }\n\n const clearElement = function (ele: HTMLElement) {\n while (ele.firstChild) {\n ele.removeChild(ele.firstChild)\n }\n return ele\n }\n\n // Access 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 const genACLtext = function (\n docURI: string,\n aclURI: string,\n allWrite: boolean\n ) {\n const g = graph()\n const auth = 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, 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, 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 // TODO: Figure out why `serialize` isn't on the type definition according to TypeScript:\n return serialize(acl, g, aclURI, 'text/turtle')\n }\n\n /**\n * @param docURI\n * @param allWrite\n * @param callbackFunction\n *\n * @returns {Promise<Response>}\n */\n const setACL = function setACL (\n docURI: string,\n allWrite: boolean,\n callbackFunction: Function\n ) {\n const aclDoc = store.any(\n sym(docURI),\n sym('http://www.iana.org/assignments/link-relations/acl')\n ) as NamedNode // @@ check that this get set by web.js\n if (!fetcher) {\n throw new Error('Have no fetcher')\n }\n if (aclDoc) {\n // Great we already know where it is\n const aclText = genACLtext(docURI, aclDoc.uri, allWrite)\n return fetcher\n .webOperation('PUT', aclDoc.uri, {\n data: aclText,\n contentType: 'text/turtle'\n })\n .then(() => callbackFunction(true))\n .catch(err => {\n callbackFunction(false, err.message)\n })\n } else {\n return fetcher\n .load(docURI)\n .catch((err: Error) => {\n callbackFunction(false, 'Getting headers for ACL: ' + err)\n })\n .then(() => {\n const aclDoc = store.any(\n sym(docURI),\n sym('http://www.iana.org/assignments/link-relations/acl')\n ) as NamedNode\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(() => callbackFunction(true))\n .catch(err => {\n callbackFunction(false, err.message)\n })\n }\n }\n\n // Reproduction: spawn a new instance\n //\n // Viral growth path: user of app decides to make another instance\n const newInstanceButton = function () {\n const button = div.appendChild(dom.createElement('button'))\n button.textContent = 'Start another pad'\n button.addEventListener('click', function () {\n return showBootstrap(subject, spawnArea, 'pad')\n })\n return button\n }\n\n // Option of either using the workspace system or just typing in a URI\n const showBootstrap = function showBootstrap (\n thisInstance: any,\n container: HTMLElement,\n noun: string\n ) {\n const div = clearElement(container)\n const appDetails = { noun: 'notepad' } as AppDetails\n div.appendChild(\n login.newAppInstance(dom, appDetails, (workspace: string | null, newBase) => {\n // FIXME: not sure if this will work at all, just\n // trying to get the types to match - Michiel.\n return initializeNewInstanceInWorkspace(new NamedNode(workspace || newBase))\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 ' +\n noun +\n '? ' +\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 as any).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.textContent = 'Start new ' + noun + ' 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 // Create new document files for new instance of app\n const initializeNewInstanceInWorkspace = function (ws: NamedNode) {\n // @@ TODO Clean up type for newBase\n let newBase: any = store.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 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 (\n thisInstance: any,\n newBase: string\n ) {\n const here = sym(thisInstance.uri.split('#')[0])\n const base = here // @@ ???\n\n const newPadDoc = store.sym(newBase + 'pad.ttl')\n const newIndexDoc = store.sym(newBase + 'index.html')\n\n const toBeCopied = [{ local: 'index.html', contentType: 'text/html' }]\n\n const newInstance = store.sym(newPadDoc.uri + '#thisPad')\n\n // log.debug(\"\\n Ready to put \" + kb.statementsMatching(undefined, undefined, undefined, there)); //@@\n\n const agenda: Function[] = []\n\n let f // @@ This needs some form of visible progress bar\n for (f = 0; f < toBeCopied.length; f++) {\n const item = toBeCopied[f]\n const fun = function copyItem (item: any) {\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 setACL(newURI, false, function (ok: boolean, message: string) {\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 if (!store.fetcher) {\n throw new Error('Store has no fetcher')\n }\n store.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 createNewPadDataFile () {\n store.add(newInstance, ns.rdf('type'), PAD('Notepad'), newPadDoc)\n\n // TODO @@ Remove casting of add\n store.add(\n newInstance,\n ns.dc('created'),\n new Date() as any, // @@ TODO Remove casting\n newPadDoc\n )\n if (me) {\n store.add(newInstance, ns.dc('author'), me, newPadDoc)\n }\n store.add(newInstance, PAD('next'), newInstance, newPadDoc) // linked list empty\n\n // Keep a paper trail @@ Revisit when we have non-public ones @@ Privacy\n store.add(newInstance, ns.space('inspiration'), thisInstance, padDoc)\n store.add(newInstance, ns.space('inspiration'), thisInstance, newPadDoc)\n if (!updater) {\n throw new Error('Have no updater')\n }\n updater.put(\n newPadDoc,\n store.statementsMatching(undefined, undefined, undefined, newPadDoc),\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 notepad at: ' +\n newPadDoc.uri +\n ' : ' +\n message\n )\n console.log(\n 'FAILED to save new notepad at: ' +\n newPadDoc.uri +\n ' : ' +\n message\n )\n }\n }\n )\n })\n\n agenda.push(function () {\n setACL(newPadDoc.uri, true, function (ok: boolean, body: string) {\n complainIfBad(\n ok,\n 'Failed to set Read-Write ACL on pad data 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\n const p = div.appendChild(dom.createElement('p'))\n p.setAttribute('style', 'font-size: 140%;')\n p.innerHTML =\n 'Your <a href=\\'' +\n newIndexDoc.uri +\n '\\'><b>new notepad</b></a> is ready. ' +\n '<br/><br/><a href=\\'' +\n newIndexDoc.uri +\n '\\'>Go to new pad</a>'\n })\n\n agenda.shift()!()\n // Created new data files.\n }\n\n // Update on incoming changes\n const showResults = function (exists: boolean) {\n console.log('showResults()')\n\n me = authn.currentUser()\n\n authn.checkUser().then((webId: unknown) => {\n me = webId as string\n })\n\n const title =\n store.any(subject, ns.dc('title')) || store.any(subject, ns.vcard('fn'))\n if (paneOptions.solo && typeof window !== 'undefined' && title) {\n window.document.title = title.value\n }\n options.exists = exists\n padEle = pad.notepad(dom, padDoc, subject, me, options)\n naviMain.appendChild(padEle)\n\n const partipationTarget =\n store.any(subject, ns.meeting('parentMeeting')) || subject\n pad.manageParticipation(\n dom,\n naviMiddle2,\n padDoc,\n partipationTarget as any,\n me,\n options\n )\n if (!store.updater) {\n throw new Error('Store has no updater')\n }\n\n store.updater.setRefreshHandler(padDoc, padEle.reloadAndSync) // initiated =\n }\n\n // Read or create empty data file\n const loadPadData = function () {\n if (!fetcher) {\n throw new Error('Have no fetcher')\n }\n fetcher.nowOrWhenFetched(padDoc.uri, undefined, function (\n ok: boolean,\n body: string,\n response: any\n ) {\n if (!ok) {\n if (response.status === 404) {\n // / Check explicitly for 404 error\n console.log('Initializing results file ' + padDoc)\n if (!updater) {\n throw new Error('Have no updater')\n }\n updater.put(padDoc, [], 'text/turtle', function (\n _uri2,\n ok,\n message\n ) {\n if (ok) {\n clearElement(naviMain)\n showResults(false)\n } else {\n complainIfBad(\n ok,\n 'FAILED to create results file at: ' +\n padDoc.uri +\n ' : ' +\n message\n )\n console.log(\n 'FAILED to craete results file at: ' +\n padDoc.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 if (store.holds(subject, ns.rdf('type'), ns.wf('TemplateInstance'))) {\n showBootstrap(subject, naviMain, 'pad')\n }\n showResults(true)\n naviMiddle3.appendChild(newInstanceButton())\n }\n })\n }\n\n // Body of Pane\n const appPathSegment = 'app-pad.timbl.com' // how to allocate this string and connect to\n\n const fetcher = store.fetcher\n const updater = store.updater\n let me: any\n\n const PAD = Namespace('http://www.w3.org/ns/pim/pad#')\n\n const thisInstance = subject\n const padDoc = subject.doc()\n\n let padEle\n\n const div = dom.createElement('div')\n\n // Build the DOM\n const structure = div.appendChild(dom.createElement('table')) // @@ make responsive style\n structure.setAttribute(\n 'style',\n 'background-color: white; min-width: 94%; margin-right:3% margin-left: 3%; min-height: 13em;'\n )\n\n const naviLoginoutTR = structure.appendChild(dom.createElement('tr'))\n naviLoginoutTR.appendChild(dom.createElement('td')) // naviLoginout1\n naviLoginoutTR.appendChild(dom.createElement('td'))\n naviLoginoutTR.appendChild(dom.createElement('td'))\n\n const naviTop = structure.appendChild(dom.createElement('tr')) // stuff\n const naviMain = naviTop.appendChild(dom.createElement('td'))\n naviMain.setAttribute('colspan', '3')\n\n const naviMiddle = structure.appendChild(dom.createElement('tr')) // controls\n const naviMiddle1 = naviMiddle.appendChild(dom.createElement('td'))\n const naviMiddle2 = naviMiddle.appendChild(dom.createElement('td'))\n const naviMiddle3 = naviMiddle.appendChild(dom.createElement('td'))\n\n const naviStatus = structure.appendChild(dom.createElement('tr')) // status etc\n const statusArea = naviStatus.appendChild(dom.createElement('div'))\n\n const naviSpawn = structure.appendChild(dom.createElement('tr')) // create new\n const spawnArea = naviSpawn.appendChild(dom.createElement('div'))\n\n const naviMenu = structure.appendChild(dom.createElement('tr'))\n naviMenu.setAttribute('class', 'naviMenu')\n // naviMenu.setAttribute('style', 'margin-top: 3em;');\n naviMenu.appendChild(dom.createElement('td')) // naviLeft\n naviMenu.appendChild(dom.createElement('td'))\n naviMenu.appendChild(dom.createElement('td'))\n\n const options: any = { statusArea, timingArea: naviMiddle1 }\n\n loadPadData()\n\n return div\n }\n}\n// ends\n\nexport default paneDef\n"],"mappings":"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","ignoreList":[]}
@@ -6,15 +6,14 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.schedulePane = void 0;
7
7
  var UI = _interopRequireWildcard(require("solid-ui"));
8
8
  var _solidLogic = require("solid-logic");
9
- var _formsForSchedule = _interopRequireDefault(require("./formsForSchedule.js"));
10
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
9
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (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 (const 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
10
  /* Scheduler Pane
13
11
  **
14
12
  **
15
13
  */
16
14
  /* global alert */
17
-
15
+ /* babel-plugin-inline-import './formsForSchedule.ttl' */
16
+ const formText = "@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";
18
17
  const $rdf = UI.rdf;
19
18
  const ns = UI.ns;
20
19
 
@@ -251,7 +250,7 @@ const schedulePane = exports.schedulePane = {
251
250
  const form1 = kb.sym(formsURI + '#form1');
252
251
  const form2 = kb.sym(formsURI + '#form2');
253
252
  const form3 = kb.sym(formsURI + '#form3');
254
- $rdf.parse(_formsForSchedule.default, kb, formsURI, 'text/turtle'); // Load forms directly
253
+ $rdf.parse(formText, kb, formsURI, 'text/turtle'); // Load forms directly
255
254
 
256
255
  const inputStyle = 'background-color: #eef; padding: 0.5em; border: .5em solid white; font-size: 100%'; // font-size: 120%
257
256
  const buttonIconStyle = 'width: 1.8em; height: 1.8em;';
@@ -1 +1 @@
1
- {"version":3,"file":"schedulePane.js","names":["UI","_interopRequireWildcard","require","_solidLogic","_formsForSchedule","_interopRequireDefault","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","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","catch","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'\n\nimport formText from './formsForSchedule.js'\nconst $rdf = UI.rdf\nconst ns = UI.ns\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, 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, 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 }\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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,EAAE,CACCoL,IAAI,CAACtL,OAAO,EAAEZ,EAAE,CAACE,KAAK,CAAC,SAAS,CAAC,CAAC,CAClCiM,GAAG,CAAC,UAAUC,GAAG,EAAE;UAClB,MAAMC,IAAI,GAAGvL,EAAE,CAACsC,GAAG,CAACgJ,GAAG,EAAEpM,EAAE,CAAC+C,IAAI,CAAC,MAAM,CAAC,CAAC;UACzC,OAAOsJ,IAAI,GAAGA,IAAI,CAAC/I,GAAG,CAACgJ,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,EAAE;QACpD,CAAC,CAAC,CACDC,IAAI,CAAC,GAAG,CAAC,GACZ,WAAW,GACXC,kBAAkB,CAACV,KAAK,GAAG,sBAAsB,CAAC,GAClD,QAAQ,GACRU,kBAAkB,CAChBV,KAAK,GAAG,2BAA2B,GAAGlL,OAAO,GAAG,IAClD,CAAC;QACH;;QAEAmB,OAAO,CAACC,GAAG,CAAC,QAAQ,GAAGiK,MAAM,CAAC;QAC9BQ,MAAM,CAACC,QAAQ,CAACC,IAAI,GAAGV,MAAM;MAC/B,CAAC,EACD,KACF,CAAC;IACH,CAAC,EAAC;;IAEF;IACA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IAgBI;;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","ignoreList":[]}
1
+ {"version":3,"file":"schedulePane.js","names":["UI","_interopRequireWildcard","require","_solidLogic","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","formText","$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","catch","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","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'\n\nimport formText from './formsForSchedule.ttl'\nconst $rdf = UI.rdf\nconst ns = UI.ns\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, 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, 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 }\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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AAI,GAAGtL,EAAE,CAACsC,GAAG,CAAC+I,GAAG,EAAEnM,EAAE,CAAC+C,IAAI,CAAC,MAAM,CAAC,CAAC;UACzC,OAAOqJ,IAAI,GAAGA,IAAI,CAAC9I,GAAG,CAAC+I,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,EAAE;QACpD,CAAC,CAAC,CACDC,IAAI,CAAC,GAAG,CAAC,GACZ,WAAW,GACXC,kBAAkB,CAACV,KAAK,GAAG,sBAAsB,CAAC,GAClD,QAAQ,GACRU,kBAAkB,CAChBV,KAAK,GAAG,2BAA2B,GAAGjL,OAAO,GAAG,IAClD,CAAC;QACH;;QAEAmB,OAAO,CAACC,GAAG,CAAC,QAAQ,GAAGgK,MAAM,CAAC;QAC9BQ,MAAM,CAACC,QAAQ,CAACC,IAAI,GAAGV,MAAM;MAC/B,CAAC,EACD,KACF,CAAC;IACH,CAAC,EAAC;;IAEF;IACA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IAgBI;;IAEA;IACA,SAASrC,UAAUA,CAAA,EAAI;MACrBpG,OAAO,CAAC4F,gBAAgB,CAAC5C,UAAU,CAACjD,GAAG,EAAE,CAACzB,EAAE,EAAEC,IAAI,EAAE6K,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","ignoreList":[]}