meeting-pane 2.5.0 → 2.5.1-19540227
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/789.meetingPane.js +1 -0
- package/dist/841.meetingPane.js +3 -0
- package/dist/841.meetingPane.js.LICENSE.txt +58 -0
- package/dist/841.meetingPane.js.map +1 -0
- package/dist/meetingPane.js +3 -0
- package/dist/meetingPane.js.LICENSE.txt +57 -0
- package/dist/meetingPane.js.map +1 -0
- package/package.json +20 -24
- package/lib/meetingDetailsForm.js +0 -4
- package/lib/meetingDetailsForm.js.map +0 -1
- package/lib/meetingPane.js +0 -950
- package/lib/meetingPane.js.map +0 -1
- package/lib/versionInfo.js +0 -38
- package/lib/versionInfo.js.map +0 -1
- package/src/meetingDetailsForm.js +0 -82
- package/src/meetingDetailsForm.ttl +0 -81
- package/src/meetingPane.js +0 -1220
- package/src/versionInfo.ts +0 -32
package/lib/meetingPane.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"meetingPane.js","names":["logic","require","VideoRoomPrefix","UI","ns","$rdf","meetingDetailsFormText","module","exports","icon","icons","iconBase","name","audience","solid","label","subject","context","kb","session","store","holds","rdf","meeting","mintClass","mintNew","options","Promise","resolve","reject","newInstance","sym","newBase","meetingDoc","doc","me","authn","currentUser","add","dc","Date","ui","Literal","undefined","xsd","toolList","Collection","elements","push","updater","put","statementsMatching","uri2","ok","message","Error","render","dataBrowserContext","dom","thisPane","complain","color","console","log","pre","createElement","setAttribute","div","appendChild","createTextNode","complainIfBad","meetingBase","dir","uri","table","style","topTR","mainTR","toolBar0","toolBar1","toolBar","saveBackMeetingDoc","tabs","refresh","resetTools","saveAppDocumentLinkAndAddNewThing","tool","thing","pred","appDoc","makeToolNode","target","iconURI","x","widgets","newThing","rdfs","the","googleMapsSpecial","page","initialPrefix","finalPrefix","myPersonalApiKEY","match","startsWith","map","replace","handleDroppedThing","addIframeTool","wf","utils","addLink","toolObject","limit","shareTab","newPaneOptions","pane","paneRegistry","byName","predicate","tabTitle","view","noIndexHTML","makeNewPaneTool","addParticipant","pref","any","foaf","obj","group","addPersonToGroup","ins","st","vcard","fetcher","nowOrWhenFetched","_body","update","body","makeParticipantsGroup","then","putBack","contentType","_xhr","err","u","indexOf","mess","addAttachmentTab","types","findTypeURIs","ty","hh","getHeader","ok2","j","length","droppedURIHandler","uris","all","_a","droppedFileHandler","files","uploadFiles","theFile","_destURI","type","makePicturesFolder","makeMaterialsFolder","makeGroup","_toolObject","makePoll","useExisting","folderName","_folderName","instanceClass","instanceName","makePad","makeMeeting","askName","parameterCell","URIsegment","encodeURIComponent","e","existing","makeAgenda","makeActions","stateStore","anyValue","cal","makeChat","messageStore","makeVideoCall","genUuid","makeAttachment","makeSharing","makeNewMeeting","appDetails","noun","gotWS","ws","base","removeChild","mintUI","p","innerHTML","errorMessageBlock","login","selectWorkspace","toolIcons","maker","hint","disabled","settingsForm","parse","iconStyle","iconCell","star","visible","selectNewTool","_event","styleTheIcons","loginOutButton","checkUser","webId","addEventListener","loginStatusBox","webIdUri","iconArray","i","foo","selectTool","renderTab","item","value","s","textContent","tr","left","right","img","tipDiv","text","d","renderTabSettings","containerDiv","form","appendForm","document","delButton","deleteButtonWithCheck","sameTerm","splice","ds","concat","remove","renderMain","selectedGroup","showIframe","iframe","padding","renderPeoplePicker","groupPickedCb","toIns","loadTypeIndexes","defaultNewGroupName","picker","PeoplePicker","index","renderDetails","statusArea","registrationControl","_context","pad","manageParticipation","imageStyle","detailsBottom","spawn","forka","fork","width","getOutliner","GotoSubject","ordered","orientation","backgroundColor","tabWidget","aclControl","preventBrowserDropEvents","makeDropTarget","tabContainer"],"sources":["../src/meetingPane.js"],"sourcesContent":["/* Meeting materials and tools Pane\n **\n ** Putting together some of the tools we have to manage a Meeting\n */\n\n// const VideoRoomPrefix = 'https://appear.in/'\nconst logic = require('solid-logic')\nconst VideoRoomPrefix = 'https://meet.jit.si/'\n\nconst UI = require('solid-ui')\nconst ns = UI.ns\nconst $rdf = require('rdflib')\n\nconst meetingDetailsFormText = require('./meetingDetailsForm.js')\n\nmodule.exports = {\n icon: UI.icons.iconBase + 'noun_66617.svg',\n\n name: 'meeting',\n\n audience: [ns.solid('PowerUser')],\n\n label: function (subject, context) {\n var kb = context.session.store\n var ns = UI.ns\n if (kb.holds(subject, ns.rdf('type'), ns.meeting('Meeting'))) {\n return 'Meeting'\n }\n return null // Suppress pane otherwise\n },\n\n // Create a new Meeting thing\n //\n // returns: A promise of a meeting object\n //\n\n mintClass: UI.ns.meeting('Meeting'),\n\n mintNew: function (context, options) {\n return new Promise(function (resolve, reject) {\n var kb = context.session.store\n var ns = UI.ns\n options.newInstance =\n options.newInstance || kb.sym(options.newBase + 'index.ttl#this')\n var meeting = options.newInstance\n var meetingDoc = meeting.doc()\n\n var me = logic.authn.currentUser()\n\n if (me) {\n kb.add(meeting, ns.dc('author'), me, meetingDoc)\n }\n\n kb.add(meeting, ns.rdf('type'), ns.meeting('Meeting'), meetingDoc)\n kb.add(meeting, ns.dc('created'), new Date(), meetingDoc)\n kb.add(\n meeting,\n ns.ui('backgroundColor'),\n new $rdf.Literal('#ddddcc', undefined, ns.xsd('color')),\n meetingDoc\n )\n var toolList = new $rdf.Collection()\n kb.add(meeting, ns.meeting('toolList'), toolList, meetingDoc)\n\n toolList.elements.push(meeting) // Add the meeting itself - see renderMain()\n\n kb.updater.put(\n meetingDoc,\n kb.statementsMatching(undefined, undefined, undefined, meetingDoc),\n 'text/turtle',\n function (uri2, ok, message) {\n if (ok) {\n resolve(options)\n } else {\n reject(new Error('Error writing meeting configuration: ' + message))\n }\n }\n )\n })\n },\n\n // Returns a div\n\n render: function (subject, dataBrowserContext) {\n const dom = dataBrowserContext.dom\n var kb = dataBrowserContext.session.store\n var ns = UI.ns\n var updater = kb.updater\n var thisPane = this\n\n var complain = function complain (message, color) {\n console.log(message)\n var pre = dom.createElement('pre')\n pre.setAttribute('style', 'background-color: ' + color || '#eed' + ';')\n div.appendChild(pre)\n pre.appendChild(dom.createTextNode(message))\n }\n\n var complainIfBad = function (ok, message) {\n if (!ok) complain(message)\n }\n\n var meeting = subject\n var meetingDoc = subject.doc()\n var meetingBase = subject.dir().uri\n var div = dom.createElement('div')\n var table = div.appendChild(dom.createElement('table'))\n table.style = 'width: 100%; height: 100%; margin:0;'\n var topTR = table.appendChild(dom.createElement('tr'))\n topTR.appendChild(dom.createElement('div')) // topDiv\n var mainTR = table.appendChild(dom.createElement('tr'))\n\n var toolBar0 = table.appendChild(dom.createElement('td'))\n var toolBar1 = toolBar0.appendChild(dom.createElement('table'))\n var toolBar = toolBar1.appendChild(dom.createElement('tr'))\n\n topTR.setAttribute('style', 'height: 2em;') // spacer if notthing else\n\n var me = null // @@ Put code to find out logged in person\n\n var saveBackMeetingDoc = function () {\n updater.put(\n meetingDoc,\n kb.statementsMatching(undefined, undefined, undefined, meetingDoc),\n 'text/turtle',\n function (uri2, ok, message) {\n if (ok) {\n tabs.refresh()\n resetTools()\n } else {\n message =\n 'FAILED to save new thing at: ' + meetingDoc + ' : ' + message\n complain(message)\n }\n }\n )\n }\n\n var saveAppDocumentLinkAndAddNewThing = function (tool, thing, pred) {\n var appDoc = thing.doc()\n if (pred) {\n kb.add(meeting, pred, thing, appDoc) // Specific Link back to meeting\n }\n kb.add(thing, ns.meeting('parentMeeting'), meeting, appDoc) // Generic link back to meeting\n updater.put(\n appDoc,\n kb.statementsMatching(undefined, undefined, undefined, appDoc),\n 'text/turtle',\n function (uri2, ok, message) {\n if (ok) {\n saveBackMeetingDoc()\n } else {\n complain('FAILED to save new tool at: ' + thing + ' : ' + message)\n }\n }\n )\n }\n\n var makeToolNode = function (target, pred, label, iconURI) {\n if (pred) {\n kb.add(meeting, pred, target, meetingDoc)\n }\n var x = UI.widgets.newThing(meetingDoc)\n if (label) kb.add(x, ns.rdfs('label'), label, meetingDoc)\n if (iconURI) kb.add(x, ns.meeting('icon'), kb.sym(iconURI), meetingDoc)\n kb.add(x, ns.rdf('type'), ns.meeting('Tool'), meetingDoc)\n kb.add(x, ns.meeting('target'), target, meetingDoc)\n var toolList = kb.the(meeting, ns.meeting('toolList'))\n toolList.elements.push(x)\n return x\n }\n\n // Map from end-user non-iframeable Google maps URI to G Maps API\n // Input: like https://www.google.co.uk/maps/place/Mastercard/@53.2717971,-6.2042699,17z/...\n // Output:\n function googleMapsSpecial (page) {\n const initialPrefix = /https:\\/\\/www\\.google\\..*\\/maps\\//\n const finalPrefix = 'https://www.google.com/maps/embed/v1/'\n const myPersonalApiKEY = 'AIzaSyB8aaT6bY9tcLCmc2oPCkdUYLmTOWM8R54' // Get your own key!\n // GET YOUR KEY AT https://developers.google.com/maps/documentation/javascript/\n const uri = page.uri\n if (!uri.match(initialPrefix)) return page\n if (uri.startsWith(finalPrefix)) return page // Already done\n const map =\n uri.replace(initialPrefix, finalPrefix) + '&key=' + myPersonalApiKEY\n console.log('Converted Google Map URI! ' + map)\n return $rdf.sym(map)\n }\n\n // //////////////////// DRAG and Drop\n\n var handleDroppedThing = function (target) {\n // @@ idea: look\n return new Promise(function (resolve) {\n // Add a meeting tab for a web resource. Alas many resource canot be framed\n // as they block framing, or are insecure.\n var addIframeTool = function (target) {\n var tool = makeToolNode(\n target,\n UI.ns.wf('attachment'),\n UI.utils.label(target),\n null\n )\n kb.add(tool, UI.ns.meeting('view'), 'iframe', meetingDoc)\n }\n\n var addLink = function (target) {\n const pred = ns.wf('attachment')\n kb.add(subject, pred, target, subject.doc())\n var toolObject = {\n icon: 'noun_160581.svg', // right arrow \"link\"\n limit: 1,\n shareTab: true // but many things behind it\n }\n var newPaneOptions = {\n newInstance: subject, // kb.sym(subject.doc().uri + '#LinkListTool'),\n pane: dataBrowserContext.session.paneRegistry.byName('link'), // the pane to be used to mint a new thing\n predicate: ns.meeting('attachmentTool'),\n tabTitle: 'Links',\n view: 'link', // The pane to be used when it is viewed\n noIndexHTML: true\n }\n return makeNewPaneTool(toolObject, newPaneOptions)\n }\n\n // When paerson added to he meeting, make an ad hoc group\n // of meeting participants is one does not already exist, and add them\n var addParticipant = function (target) {\n var pref = kb.any(target, ns.foaf('preferredURI'))\n var obj = pref ? kb.sym(pref) : target\n var group = kb.any(meeting, ns.meeting('attendeeGroup'))\n var addPersonToGroup = function (obj, group) {\n var ins = [\n $rdf.st(group, UI.ns.vcard('hasMember'), obj, group.doc())\n ] // @@@ Complex rules about webid?\n var name =\n kb.any(obj, ns.vcard('fn')) || kb.any(obj, ns.foaf('name'))\n if (name) {\n ins.push($rdf.st(obj, UI.ns.vcard('fn'), name, group.doc()))\n }\n kb.fetcher.nowOrWhenFetched(group.doc(), undefined, function (\n ok,\n _body\n ) {\n if (!ok) {\n complain(\"Can't read group to add person\" + group)\n return\n }\n kb.updater.update([], ins, function (uri, ok, body) {\n complainIfBad(ok, body)\n if (ok) {\n console.log('Addded to particpants OK: ' + obj)\n }\n })\n })\n }\n if (group) {\n addPersonToGroup(obj, group)\n return\n }\n makeParticipantsGroup()\n .then(function (options) {\n var group = options.newInstance\n addPersonToGroup(obj, group)\n kb.fetcher\n .putBack(meetingDoc, { contentType: 'text/turtle' })\n .then(function (_xhr) {\n console.log('Particiants Group created: ' + group)\n })\n })\n .catch(function (err) {\n complain(err)\n })\n }\n\n console.log('Dropped on thing ' + target) // icon was: UI.icons.iconBase + 'noun_25830.svg'\n var u = target.uri\n if (u.startsWith('http:') && u.indexOf('#') < 0) {\n // insecure Plain document\n addLink(target)\n return resolve(target)\n }\n kb.fetcher.nowOrWhenFetched(target, function (ok, mess) {\n function addAttachmentTab (target) {\n target = googleMapsSpecial(target)\n console.log('make web page attachement tab ' + target) // icon was: UI.icons.iconBase + 'noun_25830.svg'\n var tool = makeToolNode(\n target,\n UI.ns.wf('attachment'),\n UI.utils.label(target),\n null\n )\n kb.add(tool, UI.ns.meeting('view'), 'iframe', meetingDoc)\n return resolve(target)\n }\n if (!ok) {\n console.log(\n 'Error looking up dropped thing, will just add it anyway. ' +\n target +\n ': ' +\n mess\n )\n return addAttachmentTab(target) // You can still try iframing it. (Could also add to list of links in PersonTR widgets)\n } else {\n var obj = target\n var types = kb.findTypeURIs(obj)\n for (var ty in types) {\n console.log(' drop object type includes: ' + ty)\n }\n if (\n ns.vcard('Individual').uri in types ||\n ns.foaf('Person').uri in types ||\n ns.foaf('Agent').uri in types\n ) {\n addParticipant(target)\n return resolve(target)\n }\n if (u.startsWith('https:') && u.indexOf('#') < 0) {\n // Plain secure document\n // can we iframe it?\n var hh = kb.fetcher.getHeader(target, 'x-frame-options')\n var ok2 = true\n if (hh) {\n for (var j = 0; j < hh.length; j++) {\n console.log('x-frame-options: ' + hh[j])\n if (hh[j].indexOf('sameorigin') < 0) {\n // (and diff origin @@)\n ok2 = false\n }\n if (hh[j].indexOf('deny') < 0) {\n ok2 = false\n }\n }\n }\n if (ok2) {\n target = googleMapsSpecial(target) // tweak Google maps to embed OK\n addIframeTool(target) // Something we can maybe iframe\n return resolve(target)\n }\n } // Something we cannot iframe, and must link to:\n console.log('Default: assume web page attachement ' + target) // icon was: UI.icons.iconBase + 'noun_25830.svg'\n return addAttachmentTab(target)\n }\n })\n }) // promise\n }\n\n // When a set of URIs are dropped on the tabs\n var droppedURIHandler = function (uris) {\n Promise.all(\n uris.map(function (u) {\n var target = $rdf.sym(u) // Attachment needs text label to disinguish I think not icon.\n return handleDroppedThing(target) // can add to meetingDoc but must be sync\n })\n ).then(function (_a) {\n saveBackMeetingDoc()\n })\n }\n\n var droppedFileHandler = function (files) {\n UI.widgets.uploadFiles(\n kb.fetcher,\n files,\n meeting.dir().uri + 'Files',\n meeting.dir().uri + 'Pictures',\n function (theFile, _destURI) {\n if (theFile.type.startsWith('image/')) {\n makePicturesFolder('Files') // If necessary\n } else {\n makeMaterialsFolder('Pictures')\n }\n }\n )\n }\n\n // ////////////////////////////////////////////////////// end of drag drop\n\n var makeGroup = function (_toolObject) {\n var newBase = meetingBase + 'Group/'\n var kb = dataBrowserContext.session.store\n var group = kb.any(meeting, ns.meeting('particpants'))\n if (!group) {\n group = $rdf.sym(newBase + 'index.ttl#this')\n }\n console.log('Participant group: ' + group)\n\n var tool = makeToolNode(\n group,\n ns.meeting('particpants'),\n 'Particpants',\n UI.icons.iconBase + 'noun_339237.svg'\n ) // group: noun_339237.svg 'noun_15695.svg'\n kb.add(tool, UI.ns.meeting('view'), 'peoplePicker', meetingDoc)\n saveBackMeetingDoc()\n }\n /*\n var makeAddressBook = function (toolObject) {\n var newBase = meetingBase + 'Group/'\n var kb = store\n var group = kb.any(meeting, ns.meeting('addressBook'))\n if (!group) {\n group = $rdf.sym(newBase + 'index.ttl#this')\n }\n\n // Create a tab for the addressbook\n var div = dom.createElement('div')\n var context = { dom: dom, div: div }\n var book\n UI.login.findAppInstances(context, ns.vcard('AddressBook')).then(\n function (context) {\n if (context.instances.length === 0) {\n complain('You have no solid address book. It is really handy to have one to keep track of people and groups')\n } else if (context.instances.length > 1) {\n var s = context.instances.map(function (x) { return '' + x }).join(', ')\n complain('You have more than one solid address book: ' + s + ' Not supported yet.')\n } else { // addressbook\n book = context.instances[0]\n var tool = makeToolNode(book, ns.meeting('addressBook'), 'Address Book', UI.icons.iconBase + 'noun_15695.svg') // group: noun_339237.svg\n kb.add(tool, UI.ns.meeting('view'), 'contact', meetingDoc)\n saveBackMeetingDoc()\n }\n }\n )\n }\n */\n var makePoll = function (toolObject) {\n var newPaneOptions = {\n useExisting: meeting, // Regard the meeting as being the schedulable event itself.\n // newInstance: meeting,\n pane: dataBrowserContext.session.paneRegistry.byName('schedule'),\n view: 'schedule',\n // predicate: ns.meeting('schedulingPoll'),\n // newBase: meetingBase + 'Schedule/', Not needed as uses existing meeting\n tabTitle: 'Schedule poll',\n noIndexHTML: true\n }\n return makeNewPaneTool(toolObject, newPaneOptions)\n }\n\n var makePicturesFolder = function (folderName) {\n var toolObject = {\n icon: 'noun_598334.svg', // Slideshow @@ find a \"picture\" icon?\n limit: 1,\n shareTab: true // but many things behind it\n }\n var newPaneOptions = {\n newInstance: kb.sym(meeting.dir().uri + folderName + '/'),\n pane: dataBrowserContext.session.paneRegistry.byName('folder'), // @@ slideshow??\n predicate: ns.meeting('pictures'),\n shareTab: true,\n tabTitle: folderName,\n view: 'slideshow',\n noIndexHTML: true\n }\n return makeNewPaneTool(toolObject, newPaneOptions)\n }\n\n var makeMaterialsFolder = function (_folderName) {\n var toolObject = {\n icon: 'noun_681601.svg', // Document\n limit: 1,\n shareTab: true // but many things behind it\n }\n var options = {\n newInstance: kb.sym(meeting.dir().uri + 'Files/'),\n pane: dataBrowserContext.session.paneRegistry.byName('folder'),\n predicate: ns.meeting('materialsFolder'),\n tabTitle: 'Materials',\n noIndexHTML: true\n }\n return makeNewPaneTool(toolObject, options)\n }\n\n var makeParticipantsGroup = function () {\n var toolObject = {\n icon: 'noun_339237.svg', // Group of people\n limit: 1, // Only one tab\n shareTab: true // but many things behind it\n }\n var options = {\n newInstance: kb.sym(meeting.dir().uri + 'Attendees/index.ttl#this'),\n pane: dataBrowserContext.session.paneRegistry.byName('contact'),\n predicate: ns.meeting('attendeeGroup'),\n tabTitle: 'Attendees',\n instanceClass: ns.vcard('Group'),\n instanceName: UI.utils.label(subject) + ' attendees',\n noIndexHTML: true\n }\n\n return makeNewPaneTool(toolObject, options)\n }\n\n // Make Pad for notes of meeting\n\n var makePad = function (toolObject) {\n var newPaneOptions = {\n newBase: meetingBase + 'SharedNotes/',\n predicate: UI.ns.meeting('sharedNotes'),\n tabTitle: 'Shared Notes',\n pane: dataBrowserContext.session.paneRegistry.byName('pad')\n }\n return makeNewPaneTool(toolObject, newPaneOptions)\n }\n\n // Make Sub-meeting of meeting\n\n var makeMeeting = function (toolObject) {\n UI.widgets\n .askName(\n dom,\n kb,\n parameterCell,\n ns.foaf('name'),\n UI.ns.meeting('Meeting')\n )\n .then(function (name) {\n if (!name) {\n return resetTools()\n }\n var URIsegment = encodeURIComponent(name)\n var options = {\n newBase: meetingBase + URIsegment + '/', // @@@ sanitize\n predicate: UI.ns.meeting('subMeeting'),\n tabTitle: name,\n pane: dataBrowserContext.session.paneRegistry.byName('meeting')\n }\n return makeNewPaneTool(toolObject, options)\n })\n .catch(function (e) {\n complain('Error making new sub-meeting: ' + e)\n })\n }\n\n // Returns promise of newPaneOptions\n // In: options.\n // me?, predicate, newInstance ?, newBase, instanceClass\n // out: options. the above plus\n // me, newInstance\n\n function makeNewPaneTool (toolObject, options) {\n return new Promise(function (resolve, reject) {\n var kb = dataBrowserContext.session.store\n if (!options.useExisting) {\n // useExisting means use existing object in new role\n var existing = kb.any(meeting, options.predicate)\n if (existing) {\n if (\n toolObject.limit &&\n toolObject.limit === 1 &&\n !toolObject.shareTab\n ) {\n complain(\n 'Already have ' +\n existing +\n ' as ' +\n UI.utils.label(options.predicate)\n )\n complain('Cant have two')\n return resolve(null)\n }\n if (toolObject.shareTab) {\n // return existing one\n console.log(\n 'Using existing ' +\n existing +\n ' as ' +\n UI.utils.label(options.predicate)\n )\n return resolve({\n me: me,\n newInstance: existing,\n instanceClass: options.instanceClass\n })\n }\n }\n }\n if (!me && !options.me) { reject(new Error('Username not defined for new tool')) }\n options.me = options.me || me\n options.newInstance =\n options.useExisting ||\n options.newInstance ||\n kb.sym(options.newBase + 'index.ttl#this')\n\n options.pane\n .mintNew(dataBrowserContext, options)\n .then(function (options) {\n var tool = makeToolNode(\n options.newInstance,\n options.predicate,\n options.tabTitle,\n options.pane.icon\n )\n if (options.view) {\n kb.add(tool, UI.ns.meeting('view'), options.view, meetingDoc)\n }\n saveBackMeetingDoc()\n kb.fetcher\n .putBack(meetingDoc, { contentType: 'text/turtle' })\n .then(function (_xhr) {\n resolve(options)\n })\n .catch(function (err) {\n reject(err)\n })\n })\n .catch(function (err) {\n complain(err)\n reject(err)\n })\n })\n }\n\n var makeAgenda = function (_toolObject) {\n // selectTool(icon)\n }\n\n var makeActions = function (_toolObject) {\n var newBase = meetingBase + 'Actions/'\n var kb = dataBrowserContext.session.store\n if (kb.holds(meeting, ns.meeting('actions'))) {\n console.log('Ignored - already have actions')\n return // already got one\n }\n var appDoc = kb.sym(newBase + 'config.ttl')\n var newInstance = kb.sym(newBase + 'config.ttl#this')\n var stateStore = kb.sym(newBase + 'state.ttl')\n\n kb.add(\n newInstance,\n ns.dc('title'),\n (kb.anyValue(meeting, ns.cal('summary')) || 'Meeting ') + ' actions',\n appDoc\n )\n kb.add(newInstance, ns.wf('issueClass'), ns.wf('Task'), appDoc)\n kb.add(newInstance, ns.wf('initialState'), ns.wf('Open'), appDoc)\n kb.add(newInstance, ns.wf('stateStore'), stateStore, appDoc)\n kb.add(newInstance, ns.wf('assigneeClass'), ns.foaf('Person'), appDoc) // @@ set to people in the meeting?\n\n kb.add(newInstance, ns.rdf('type'), ns.wf('Tracker'), appDoc)\n\n // Flag its type in the chat itself as well as in the master meeting config file\n kb.add(newInstance, ns.rdf('type'), ns.wf('Tracker'), appDoc)\n var tool = makeToolNode(\n newInstance,\n ns.meeting('actions'),\n 'Actions',\n UI.icons.iconBase + 'noun_17020.svg'\n )\n saveAppDocumentLinkAndAddNewThing(\n tool,\n newInstance,\n ns.meeting('actions')\n )\n }\n\n var makeChat = function (_toolObject) {\n var newBase = meetingBase + 'Chat/'\n var kb = dataBrowserContext.session.store\n if (kb.holds(meeting, ns.meeting('chat'))) {\n console.log('Ignored - already have chat')\n return // already got one\n }\n var messageStore = kb.sym(newBase + 'chat.ttl')\n\n kb.add(messageStore, ns.rdf('type'), ns.meeting('Chat'), messageStore)\n\n var tool = makeToolNode(\n messageStore,\n ns.meeting('chat'),\n 'Chat',\n UI.icons.iconBase + 'noun_346319.svg'\n )\n saveAppDocumentLinkAndAddNewThing(tool, messageStore, ns.meeting('chat'))\n }\n\n var makeVideoCall = function (_toolObject) {\n var kb = dataBrowserContext.session.store\n var newInstance = $rdf.sym(VideoRoomPrefix + UI.utils.genUuid())\n\n if (kb.holds(meeting, ns.meeting('videoCallPage'))) {\n console.log('Ignored - already have a videoCallPage')\n return // already got one\n }\n kb.add(\n newInstance,\n ns.rdf('type'),\n ns.meeting('VideoCallPage'),\n meetingDoc\n )\n var tool = makeToolNode(\n newInstance,\n ns.meeting('videoCallPage'),\n 'Video call',\n UI.icons.iconBase + 'noun_260227.svg'\n )\n kb.add(tool, ns.meeting('view'), 'iframe', meetingDoc)\n saveBackMeetingDoc()\n }\n\n var makeAttachment = function (_toolObject) {\n UI.widgets\n .askName(dom, kb, parameterCell, ns.log('uri'), UI.ns.rdf('Resource'))\n .then(function (uri) {\n if (!uri) {\n return resetTools()\n }\n var kb = dataBrowserContext.session.store\n var ns = UI.ns\n var target = kb.sym(uri)\n var tool = makeToolNode(\n target,\n ns.wf('attachment'),\n UI.utils.label(target),\n null\n )\n kb.add(tool, ns.meeting('view'), 'iframe', meetingDoc)\n saveBackMeetingDoc()\n })\n .catch(function (e) {\n complain('Error making new sub-meeting: ' + e)\n })\n }\n\n var makeSharing = function (toolObject) {\n var kb = dataBrowserContext.session.store\n var ns = UI.ns\n var target = meeting.dir()\n if (\n toolObject.limit &&\n toolObject.limit === 1 &&\n kb.holds(meeting, ns.wf('sharingControl'))\n ) {\n complain('Ignored - already have ' + UI.utils.label(options.predicate))\n return\n }\n var tool = makeToolNode(\n target,\n ns.wf('sharingControl'),\n 'Sharing',\n UI.icons.iconBase + 'noun_123691.svg'\n )\n kb.add(tool, ns.meeting('view'), 'sharing', meetingDoc)\n saveBackMeetingDoc()\n }\n\n var makeNewMeeting = function () {\n // @@@ make option of continuing series\n var appDetails = { noun: 'meeting' }\n var gotWS = function (ws, base) {\n thisPane\n .mintNew(dataBrowserContext, { newBase: base })\n .then(function (options) {\n var newInstance = options.newInstance\n parameterCell.removeChild(mintUI)\n var p = parameterCell.appendChild(dom.createElement('p'))\n p.setAttribute('style', 'font-size: 140%;')\n p.innerHTML =\n \"Your <a target='_blank' href='\" +\n newInstance.uri +\n \"'><b>new meeting</b></a> is ready to be set up. \" +\n \"<br/><br/><a target='_blank' href='\" +\n newInstance.uri +\n \"'>Go to your new meeting.</a>\"\n })\n .catch(function (err) {\n parameterCell.removeChild(mintUI)\n parameterCell.appendChild(UI.widgets.errorMessageBlock(dom, err))\n })\n }\n var mintUI = UI.login.selectWorkspace(dom, appDetails, gotWS)\n parameterCell.appendChild(mintUI)\n }\n\n // //////////////////////////////////////////////////////////// end of new tab creation functions\n\n var toolIcons = [\n {\n icon: 'noun_339237.svg',\n maker: makeGroup,\n hint: 'Make a group of people',\n limit: 1\n },\n {\n icon: 'noun_346777.svg',\n maker: makePoll,\n hint: 'Make a poll to schedule the meeting'\n }, // When meet THIS or NEXT time\n {\n icon: 'noun_48218.svg',\n maker: makeAgenda,\n limit: 1,\n hint: 'Add an agenda list',\n disabled: true\n }, // When meet THIS or NEXT time\n { icon: 'noun_79217.svg', maker: makePad, hint: 'Add a shared notepad' },\n {\n icon: 'noun_346319.svg',\n maker: makeChat,\n limit: 1,\n hint: 'Add a chat channel for the meeting'\n },\n {\n icon: 'noun_17020.svg',\n maker: makeActions,\n limit: 1,\n hint: 'Add a list of action items'\n }, // When meet THIS or NEXT time\n {\n icon: 'noun_260227.svg',\n maker: makeVideoCall,\n limit: 1,\n hint: 'Add a video call for the meeting'\n },\n {\n icon: 'noun_25830.svg',\n maker: makeAttachment,\n hint: 'Attach meeting materials',\n disabled: false\n },\n {\n icon: 'noun_123691.svg',\n maker: makeSharing,\n limit: 1,\n hint: 'Control Sharing',\n disabled: false\n },\n {\n icon: 'noun_66617.svg',\n maker: makeMeeting,\n hint: 'Make a sub meeting',\n disabled: false\n }\n ] // 'noun_66617.svg'\n\n var settingsForm = $rdf.sym(\n 'https://solid.github.io/solid-panes/meeting/meetingDetailsForm.ttl#settings'\n )\n $rdf.parse(\n meetingDetailsFormText,\n kb,\n settingsForm.doc().uri,\n 'text/turtle'\n ) // Load form directly\n\n var iconStyle = 'padding: 1em; width: 3em; height: 3em;'\n var iconCell = toolBar.appendChild(dom.createElement('td'))\n var parameterCell = toolBar.appendChild(dom.createElement('td'))\n var star = iconCell.appendChild(dom.createElement('img'))\n var visible = false // the inividual tools tools\n\n star.setAttribute('src', UI.icons.iconBase + 'noun_19460_green.svg') // noun_272948.svg\n star.setAttribute('style', iconStyle + 'opacity: 50%;')\n star.setAttribute('title', 'Add another tool to the meeting')\n\n var selectNewTool = function (_event) {\n visible = !visible\n star.setAttribute(\n 'style',\n iconStyle + (visible ? 'background-color: yellow;' : '')\n )\n styleTheIcons(visible ? '' : 'display: none;')\n }\n\n var loginOutButton\n logic.authn.checkUser().then(webId => {\n if (webId) {\n me = webId\n star.addEventListener('click', selectNewTool)\n star.setAttribute('style', iconStyle)\n return\n }\n\n loginOutButton = UI.login.loginStatusBox(dom, webIdUri => {\n if (webIdUri) {\n me = kb.sym(webIdUri)\n parameterCell.removeChild(loginOutButton)\n // loginOutButton.setAttribute('',iconStyle) // make it match the icons\n star.addEventListener('click', selectNewTool)\n star.setAttribute('style', iconStyle)\n } else {\n console.log('(Logged out)')\n me = null\n }\n })\n loginOutButton.setAttribute('style', 'margin: 0.5em 1em;')\n parameterCell.appendChild(loginOutButton)\n })\n\n var iconArray = []\n for (var i = 0; i < toolIcons.length; i++) {\n var foo = function () {\n var toolObject = toolIcons[i]\n var icon = iconCell.appendChild(dom.createElement('img'))\n icon.setAttribute('src', UI.icons.iconBase + toolObject.icon)\n icon.setAttribute('style', iconStyle + 'display: none;')\n iconArray.push(icon)\n icon.tool = toolObject\n var maker = toolObject.maker\n if (!toolObject.disabled) {\n icon.addEventListener('click', function (_event) {\n selectTool(icon)\n maker(toolObject)\n })\n }\n }\n foo()\n }\n\n var styleTheIcons = function (style) {\n for (var i = 0; i < iconArray.length; i++) {\n var st = iconStyle + style\n if (toolIcons[i].disabled) {\n st += 'opacity: 0.3;'\n }\n iconArray[i].setAttribute('style', st) // eg 'background-color: #ccc;'\n }\n }\n var resetTools = function () {\n styleTheIcons('display: none;')\n star.setAttribute('style', iconStyle)\n }\n\n var selectTool = function (icon) {\n styleTheIcons('display: none;') // 'background-color: #ccc;'\n icon.setAttribute('style', iconStyle + 'background-color: yellow;')\n }\n\n // //////////////////////////////\n\n var renderTab = function (div, item) {\n if (kb.holds(item, ns.rdf('type'), ns.meeting('Tool'))) {\n var target = kb.any(item, ns.meeting('target'))\n var label = kb.any(item, ns.rdfs('label'))\n label = label ? label.value : UI.utils.label(target)\n var s = div.appendChild(dom.createElement('div'))\n s.textContent = label\n s.setAttribute('style', 'margin-left: 0.7em')\n var icon = kb.any(item, ns.meeting('icon'))\n if (icon) {\n // Make sure the icon is cleanly on the left of the label\n var table = div.appendChild(dom.createElement('table'))\n var tr = table.appendChild(dom.createElement('tr'))\n var left = tr.appendChild(dom.createElement('td'))\n var right = tr.appendChild(dom.createElement('td'))\n // var img = div.appendChild(dom.createElement('img'))\n var img = left.appendChild(dom.createElement('img'))\n img.setAttribute('src', icon.uri)\n // img.setAttribute('style', 'max-width: 1.5em; max-height: 1.5em;') // @@ SVG shrinks to 0\n img.setAttribute('style', 'width: 1.5em; height: 1.5em;') // @\n img.setAttribute('title', label)\n right.appendChild(s)\n } else {\n div.appendChild(s)\n }\n } else {\n div.textContent = UI.utils.label(item)\n }\n }\n\n var tipDiv = function (text) {\n var d = dom.createElement('div')\n var p = d.appendChild(dom.createElement('p'))\n p.setAttribute('style', 'margin: 0em; padding:3em; color: #888;')\n p.textContent = 'Tip: ' + text\n return d\n }\n\n var renderTabSettings = function (containerDiv, subject) {\n containerDiv.innerHTML = ''\n containerDiv.style += 'border-color: #eed;'\n containerDiv.appendChild(dom.createElement('h3')).textContent =\n 'Adjust this tab'\n if (kb.holds(subject, ns.rdf('type'), ns.meeting('Tool'))) {\n var form = $rdf.sym(\n 'https://solid.github.io/solid-panes/meeting/meetingDetailsForm.ttl#settings'\n )\n UI.widgets.appendForm(\n document,\n containerDiv,\n {},\n subject,\n form,\n meeting.doc(),\n complainIfBad\n )\n var delButton = UI.widgets.deleteButtonWithCheck(\n dom,\n containerDiv,\n 'tab',\n function () {\n var toolList = kb.the(meeting, ns.meeting('toolList'))\n for (var i = 0; i < toolList.elements.length; i++) {\n if (toolList.elements[i].sameTerm(subject)) {\n toolList.elements.splice(i, 1)\n break\n }\n }\n var target = kb.any(subject, ns.meeting('target'))\n var ds = kb\n .statementsMatching(subject)\n .concat(kb.statementsMatching(undefined, undefined, subject))\n .concat(kb.statementsMatching(meeting, undefined, target))\n kb.remove(ds) // Remove all links to and from the tab node\n saveBackMeetingDoc()\n }\n )\n delButton.setAttribute('style', 'width: 1.5em; height: 1.5em;')\n // delButton.setAttribute('class', '')\n // delButton.setAttribute('style', 'height: 2em; width: 2em; margin: 1em; border-radius: 0.5em; padding: 1em; font-size: 120%; background-color: red; color: white;')\n // delButton.textContent = 'Delete this tab'\n } else {\n containerDiv.appendChild(dom.createElement('h4')).textContent =\n '(No adjustments available)'\n }\n }\n\n const renderMain = function (containerDiv, subject) {\n var pane = null\n var table\n var selectedGroup = null\n containerDiv.innerHTML = ''\n var complainIfBad = function (ok, message) {\n if (!ok) {\n containerDiv.textContent = '' + message\n }\n }\n var showIframe = function (target) {\n var iframe = containerDiv.appendChild(dom.createElement('iframe'))\n // iframe.setAttribute('sandbox', '') // All restrictions\n iframe.setAttribute('src', target.uri)\n // See https://stackoverflow.com/questions/325273/make-iframe-to-fit-100-of-containers-remaining-height\n // Set the container position (sic) so it becaomes a 100% reference for the size of the iframe height 100%\n /* For now at least , leave the container style as set by the tab system. 20200115b\n containerDiv.setAttribute(\n 'style',\n 'position: relative; top: 0px; left:0px; right:0px; resize: both; overflow:scroll; min-width: 30em; min-height: 30em;'\n )\n */\n // iframe.setAttribute('style', 'height: 350px; border: 0; margin: 0; padding: 0; resize:both; overflow:scroll; width: 100%;')\n // iframe.setAttribute('style', 'border: none; margin: 0; padding: 0; height: 100%; width: 100%; resize: both; overflow:scroll;')\n iframe.setAttribute(\n 'style',\n 'border: none; margin: 0; padding: 0; height: 100%; width: 100%;'\n )\n // Following https://dev.chromium.org/Home/chromium-security/deprecating-permissions-in-cross-origin-iframes :\n iframe.setAttribute('allow', 'microphone camera') // Allow iframe to request camera and mic\n // containerDiv.style.resize = 'none' // Remove scroll bars on outer div - don't seem to work so well\n iframe.setAttribute('name', 'disable-x-frame-options') // For electron: see https://github.com/electron/electron/pull/573\n containerDiv.style.padding = 0\n }\n var renderPeoplePicker = function () {\n var context = { div: containerDiv, dom: dom }\n containerDiv.appendChild(dom.createElement('h4')).textContent =\n 'Meeting Participants'\n var groupPickedCb = function (group) {\n var toIns = [\n $rdf.st(\n meeting,\n ns.meeting('particpantGroup'),\n group,\n meeting.doc()\n )\n ]\n kb.updater.update([], toIns, function (uri, ok, message) {\n if (ok) {\n selectedGroup = group\n } else {\n complain('Cant save participants group: ' + message)\n }\n })\n }\n selectedGroup = kb.any(meeting, ns.meeting('particpantGroup'))\n\n logic.loadTypeIndexes(context).then(function () {\n // Assumes that the type index has an entry for addressbook\n var options = {\n defaultNewGroupName: 'Meeting Participants',\n selectedGroup: selectedGroup\n }\n var picker = new UI.widgets.PeoplePicker(\n context.div,\n context.index.private[0],\n groupPickedCb,\n options\n )\n picker.render()\n })\n }\n\n var renderDetails = function () {\n containerDiv.appendChild(dom.createElement('h3')).textContent =\n 'Details of meeting'\n var form = $rdf.sym(\n 'https://solid.github.io/solid-panes/meeting/meetingDetailsForm.ttl#main'\n )\n UI.widgets.appendForm(\n document,\n containerDiv,\n {},\n meeting,\n form,\n meeting.doc(),\n complainIfBad\n )\n containerDiv.appendChild(\n tipDiv(\n 'Drag URL-bar icons of web pages into the tab bar on the left to add new meeting materials.'\n )\n )\n me = logic.authn.currentUser()\n if (me) {\n kb.add(meeting, ns.dc('author'), me, meetingDoc) // @@ should nly be on initial creation?\n }\n var context = {\n noun: 'meeting',\n me: me,\n statusArea: containerDiv,\n div: containerDiv,\n dom: dom\n }\n UI.login\n .registrationControl(context, meeting, ns.meeting('Meeting'))\n .then(function (_context) {\n console.log('Registration control finsished.')\n })\n var options = {}\n UI.pad.manageParticipation(\n dom,\n containerDiv,\n meetingDoc,\n meeting,\n me,\n options\n )\n\n // \"Make a new meeting\" button\n var imageStyle = 'height: 2em; width: 2em; margin:0.5em;'\n var detailsBottom = containerDiv.appendChild(dom.createElement('div'))\n var spawn = detailsBottom.appendChild(dom.createElement('img'))\n spawn.setAttribute('src', UI.icons.iconBase + 'noun_145978.svg')\n spawn.setAttribute('title', 'Make a fresh new meeting')\n spawn.addEventListener('click', makeNewMeeting)\n spawn.setAttribute('style', imageStyle)\n\n // \"Fork me on Github\" button\n var forka = detailsBottom.appendChild(dom.createElement('a'))\n forka.setAttribute('href', 'https://github.com/solid/solid-panes') // @@ Move when code moves\n forka.setAttribute('target', '_blank')\n var fork = forka.appendChild(dom.createElement('img'))\n fork.setAttribute('src', UI.icons.iconBase + 'noun_368567.svg')\n fork.setAttribute('title', 'Fork me on github')\n fork.setAttribute('style', imageStyle + 'opacity: 50%;')\n }\n\n if (kb.holds(subject, ns.rdf('type'), ns.meeting('Tool'))) {\n var target = kb.any(subject, ns.meeting('target'))\n if (target.sameTerm(meeting) && !kb.any(subject, ns.meeting('view'))) {\n // self reference? force details form\n renderDetails() // Legacy meeting instances\n } else {\n var view = kb.any(subject, ns.meeting('view'))\n view = view ? view.value : null\n if (view === 'details') {\n renderDetails()\n } else if (view === 'peoplePicker') {\n renderPeoplePicker()\n } else if (view === 'iframe') {\n showIframe(target)\n } else {\n pane = view\n ? dataBrowserContext.session.paneRegistry.byName(view)\n : null\n table = containerDiv.appendChild(dom.createElement('table'))\n table.style.width = '100%'\n dataBrowserContext\n .getOutliner(dom)\n .GotoSubject(target, true, pane, false, undefined, table)\n }\n }\n } else if (subject.sameTerm(meeting)) {\n // self reference? force details form\n renderDetails()\n } else if (\n subject.sameTerm(subject.doc()) &&\n !kb.holds(subject, UI.ns.rdf('type'), UI.ns.meeting('Chat')) &&\n !kb.holds(subject, UI.ns.rdf('type'), UI.ns.meeting('PaneView'))\n // eslint-disable-next-line no-empty\n ) { } else {\n table = containerDiv.appendChild(dom.createElement('table'))\n dataBrowserContext\n .getOutliner(dom)\n .GotoSubject(subject, true, undefined, false, undefined, table)\n }\n }\n\n var options = { dom: dom }\n options.predicate = ns.meeting('toolList')\n options.subject = subject\n options.ordered = true\n options.orientation = 1 // tabs on LHS\n options.renderMain = renderMain\n options.renderTab = renderTab\n options.renderTabSettings = renderTabSettings\n options.backgroundColor =\n kb.anyValue(subject, ns.ui('backgroundColor')) || '#ddddcc'\n var tabs = mainTR.appendChild(UI.tabs.tabWidget(options))\n\n UI.aclControl.preventBrowserDropEvents(dom)\n\n UI.widgets.makeDropTarget(\n tabs.tabContainer,\n droppedURIHandler,\n droppedFileHandler\n )\n UI.widgets.makeDropTarget(iconCell, droppedURIHandler, droppedFileHandler)\n\n return div\n }\n}\n// ends\n"],"mappings":"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","ignoreList":[]}
|
package/lib/versionInfo.js
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.versionInfo = void 0;
|
|
7
|
-
var versionInfo = exports.versionInfo = {
|
|
8
|
-
buildTime: "2025-07-31T07:40:30Z",
|
|
9
|
-
commit: "75e8ed98ec45ffa7c6a578fd2327db89b6ca006e",
|
|
10
|
-
npmInfo: {
|
|
11
|
-
'meeting-pane': '2.4.20',
|
|
12
|
-
npm: '8.19.4',
|
|
13
|
-
node: '20.19.2',
|
|
14
|
-
acorn: '8.14.0',
|
|
15
|
-
ada: '2.9.2',
|
|
16
|
-
ares: '1.34.5',
|
|
17
|
-
brotli: '1.1.0',
|
|
18
|
-
cjs_module_lexer: '1.4.1',
|
|
19
|
-
cldr: '46.0',
|
|
20
|
-
icu: '76.1',
|
|
21
|
-
llhttp: '9.2.1',
|
|
22
|
-
modules: '115',
|
|
23
|
-
napi: '9',
|
|
24
|
-
nghttp2: '1.61.0',
|
|
25
|
-
nghttp3: '0.7.0',
|
|
26
|
-
ngtcp2: '1.1.0',
|
|
27
|
-
openssl: '3.0.15+quic',
|
|
28
|
-
simdutf: '6.0.3',
|
|
29
|
-
tz: '2025a',
|
|
30
|
-
undici: '6.21.2',
|
|
31
|
-
unicode: '16.0',
|
|
32
|
-
uv: '1.46.0',
|
|
33
|
-
uvwasi: '0.0.21',
|
|
34
|
-
v8: '11.3.244.8-node.26',
|
|
35
|
-
zlib: '1.3.0.1-motley-82a5fec'
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
//# sourceMappingURL=versionInfo.js.map
|
package/lib/versionInfo.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"versionInfo.js","names":["versionInfo","exports","buildTime","commit","npmInfo","npm","node","acorn","ada","ares","brotli","cjs_module_lexer","cldr","icu","llhttp","modules","napi","nghttp2","nghttp3","ngtcp2","openssl","simdutf","tz","undici","unicode","uv","uvwasi","v8","zlib"],"sources":["../src/versionInfo.ts"],"sourcesContent":["export const versionInfo = {\nbuildTime: \"2025-07-31T07:40:30Z\",\ncommit: \"75e8ed98ec45ffa7c6a578fd2327db89b6ca006e\",\nnpmInfo:\n{\n 'meeting-pane': '2.4.20',\n npm: '8.19.4',\n node: '20.19.2',\n acorn: '8.14.0',\n ada: '2.9.2',\n ares: '1.34.5',\n brotli: '1.1.0',\n cjs_module_lexer: '1.4.1',\n cldr: '46.0',\n icu: '76.1',\n llhttp: '9.2.1',\n modules: '115',\n napi: '9',\n nghttp2: '1.61.0',\n nghttp3: '0.7.0',\n ngtcp2: '1.1.0',\n openssl: '3.0.15+quic',\n simdutf: '6.0.3',\n tz: '2025a',\n undici: '6.21.2',\n unicode: '16.0',\n uv: '1.46.0',\n uvwasi: '0.0.21',\n v8: '11.3.244.8-node.26',\n zlib: '1.3.0.1-motley-82a5fec'\n}\n};\n"],"mappings":";;;;;;AAAO,IAAMA,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG;EAC3BE,SAAS,EAAE,sBAAsB;EACjCC,MAAM,EAAE,0CAA0C;EAClDC,OAAO,EACP;IACE,cAAc,EAAE,QAAQ;IACxBC,GAAG,EAAE,QAAQ;IACbC,IAAI,EAAE,SAAS;IACfC,KAAK,EAAE,QAAQ;IACfC,GAAG,EAAE,OAAO;IACZC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE,OAAO;IACfC,gBAAgB,EAAE,OAAO;IACzBC,IAAI,EAAE,MAAM;IACZC,GAAG,EAAE,MAAM;IACXC,MAAM,EAAE,OAAO;IACfC,OAAO,EAAE,KAAK;IACdC,IAAI,EAAE,GAAG;IACTC,OAAO,EAAE,QAAQ;IACjBC,OAAO,EAAE,OAAO;IAChBC,MAAM,EAAE,OAAO;IACfC,OAAO,EAAE,aAAa;IACtBC,OAAO,EAAE,OAAO;IAChBC,EAAE,EAAE,OAAO;IACXC,MAAM,EAAE,QAAQ;IAChBC,OAAO,EAAE,MAAM;IACfC,EAAE,EAAE,QAAQ;IACZC,MAAM,EAAE,QAAQ;IAChBC,EAAE,EAAE,oBAAoB;IACxBC,IAAI,EAAE;EACR;AACA,CAAC","ignoreList":[]}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
module.exports = `@prefix : <http://www.w3.org/ns/ui#> .
|
|
2
|
-
@prefix f: <#> .
|
|
3
|
-
@prefix dc: <http://purl.org/dc/elements/1.1/>.
|
|
4
|
-
@prefix cal: <http://www.w3.org/2002/12/cal/ical#>.
|
|
5
|
-
@prefix meeting: <http://www.w3.org/ns/pim/meeting#>.
|
|
6
|
-
@prefix ns: <http://www.w3.org/2006/vcard/ns#> .
|
|
7
|
-
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
|
8
|
-
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
|
|
9
|
-
@prefix te: <http://purl.org/dc/terms/> .
|
|
10
|
-
@prefix dc: <http://purl.org/dc/elements/1.1/>.
|
|
11
|
-
@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
|
|
12
|
-
@prefix ui: <http://www.w3.org/ns/ui#>.
|
|
13
|
-
|
|
14
|
-
f:main a :Form;
|
|
15
|
-
cal:summary "Meeting Details";
|
|
16
|
-
:part f:titleField, f:locationField, f:startField,
|
|
17
|
-
f:endField, f:eventComment, f:colorField .
|
|
18
|
-
|
|
19
|
-
f:titleField a :SingleLineTextField;
|
|
20
|
-
:maxLength 256;
|
|
21
|
-
:property cal:summary;
|
|
22
|
-
:label "Name of meeting";
|
|
23
|
-
:size 80 .
|
|
24
|
-
|
|
25
|
-
f:locationField a :SingleLineTextField;
|
|
26
|
-
:maxLength 128;
|
|
27
|
-
:property cal:location;
|
|
28
|
-
:size 40 .
|
|
29
|
-
|
|
30
|
-
f:startField a :DateField;
|
|
31
|
-
:label "Start";
|
|
32
|
-
:property cal:dtstart .
|
|
33
|
-
|
|
34
|
-
f:endField a :DateField;
|
|
35
|
-
:label "End";
|
|
36
|
-
:property cal:dtend .
|
|
37
|
-
|
|
38
|
-
f:colorField a :ColorField;
|
|
39
|
-
:label "Tab color";
|
|
40
|
-
# :default "#ddddcc"^^xsd:color;
|
|
41
|
-
:property ui:backgroundColor .
|
|
42
|
-
|
|
43
|
-
f:eventComment
|
|
44
|
-
a ui:MultiLineTextField;
|
|
45
|
-
# ui:maxLength
|
|
46
|
-
# "1048";
|
|
47
|
-
# ui:size
|
|
48
|
-
# "40".
|
|
49
|
-
ui:property
|
|
50
|
-
cal:comment.
|
|
51
|
-
|
|
52
|
-
###################################################
|
|
53
|
-
|
|
54
|
-
f:settings a :Form;
|
|
55
|
-
dc:title "Tab settings";
|
|
56
|
-
:part f:labelField, f:targetField, f:viewField.
|
|
57
|
-
|
|
58
|
-
f:labelField a :SingleLineTextField;
|
|
59
|
-
:maxLength 128;
|
|
60
|
-
:property rdfs:label;
|
|
61
|
-
:label "Label on tab";
|
|
62
|
-
:size 40 .
|
|
63
|
-
|
|
64
|
-
f:targetField a :NamedNodeURIField;
|
|
65
|
-
:maxLength 1024; # Longer?
|
|
66
|
-
:property meeting:target;
|
|
67
|
-
:label "URL of resource";
|
|
68
|
-
:size 80 .
|
|
69
|
-
|
|
70
|
-
f:colorField2 a :ColorField;
|
|
71
|
-
:label "Tab color";
|
|
72
|
-
# :default "#ddddcc"^^xsd:color;
|
|
73
|
-
:property ui:backgroundColor .
|
|
74
|
-
|
|
75
|
-
f:viewField a :SingleLineTextField;
|
|
76
|
-
:maxLength 128;
|
|
77
|
-
:property meeting:view;
|
|
78
|
-
:label "View mode (experts only)";
|
|
79
|
-
:size 40 .
|
|
80
|
-
|
|
81
|
-
#
|
|
82
|
-
`
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
@prefix : <http://www.w3.org/ns/ui#> .
|
|
2
|
-
@prefix f: <#> .
|
|
3
|
-
@prefix dc: <http://purl.org/dc/elements/1.1/>.
|
|
4
|
-
@prefix cal: <http://www.w3.org/2002/12/cal/ical#>.
|
|
5
|
-
@prefix meeting: <http://www.w3.org/ns/pim/meeting#>.
|
|
6
|
-
@prefix ns: <http://www.w3.org/2006/vcard/ns#> .
|
|
7
|
-
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
|
8
|
-
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
|
|
9
|
-
@prefix te: <http://purl.org/dc/terms/> .
|
|
10
|
-
@prefix dc: <http://purl.org/dc/elements/1.1/>.
|
|
11
|
-
@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
|
|
12
|
-
@prefix ui: <http://www.w3.org/ns/ui#>.
|
|
13
|
-
|
|
14
|
-
f:main a :Form;
|
|
15
|
-
cal:summary "Meeting Details";
|
|
16
|
-
:part f:titleField, f:locationField, f:startField,
|
|
17
|
-
f:endField, f:eventComment, f:colorField .
|
|
18
|
-
|
|
19
|
-
f:titleField a :SingleLineTextField;
|
|
20
|
-
:maxLength 256;
|
|
21
|
-
:property cal:summary;
|
|
22
|
-
:label "Name of meeting";
|
|
23
|
-
:size 80 .
|
|
24
|
-
|
|
25
|
-
f:locationField a :SingleLineTextField;
|
|
26
|
-
:maxLength 128;
|
|
27
|
-
:property cal:location;
|
|
28
|
-
:size 40 .
|
|
29
|
-
|
|
30
|
-
f:startField a :DateField;
|
|
31
|
-
:label "Start";
|
|
32
|
-
:property cal:dtstart .
|
|
33
|
-
|
|
34
|
-
f:endField a :DateField;
|
|
35
|
-
:label "End";
|
|
36
|
-
:property cal:dtend .
|
|
37
|
-
|
|
38
|
-
f:colorField a :ColorField;
|
|
39
|
-
:label "Tab color";
|
|
40
|
-
# :default "#ddddcc"^^xsd:color;
|
|
41
|
-
:property ui:backgroundColor .
|
|
42
|
-
|
|
43
|
-
f:eventComment
|
|
44
|
-
a ui:MultiLineTextField;
|
|
45
|
-
# ui:maxLength
|
|
46
|
-
# "1048";
|
|
47
|
-
# ui:size
|
|
48
|
-
# "40".
|
|
49
|
-
ui:property
|
|
50
|
-
cal:comment.
|
|
51
|
-
|
|
52
|
-
###################################################
|
|
53
|
-
|
|
54
|
-
f:settings a :Form;
|
|
55
|
-
dc:title "Tab settings";
|
|
56
|
-
:part f:labelField, f:targetField, f:viewField.
|
|
57
|
-
|
|
58
|
-
f:labelField a :SingleLineTextField;
|
|
59
|
-
:maxLength 128;
|
|
60
|
-
:property rdfs:label;
|
|
61
|
-
:label "Label on tab";
|
|
62
|
-
:size 40 .
|
|
63
|
-
|
|
64
|
-
f:targetField a :NamedNodeURIField;
|
|
65
|
-
:maxLength 1024; # Longer?
|
|
66
|
-
:property meeting:target;
|
|
67
|
-
:label "URL of resource";
|
|
68
|
-
:size 80 .
|
|
69
|
-
|
|
70
|
-
f:colorField2 a :ColorField;
|
|
71
|
-
:label "Tab color";
|
|
72
|
-
# :default "#ddddcc"^^xsd:color;
|
|
73
|
-
:property ui:backgroundColor .
|
|
74
|
-
|
|
75
|
-
f:viewField a :SingleLineTextField;
|
|
76
|
-
:maxLength 128;
|
|
77
|
-
:property meeting:view;
|
|
78
|
-
:label "View mode (experts only)";
|
|
79
|
-
:size 40 .
|
|
80
|
-
|
|
81
|
-
#
|