solid-ui 2.4.28-e3ba3633 → 2.4.28-e5cde855
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/805.solid-ui.min.js +1 -1
- package/dist/805.solid-ui.min.js.map +1 -1
- package/dist/solid-ui.js +2080 -1330
- package/dist/solid-ui.js.map +1 -1
- package/dist/solid-ui.min.js +1 -1
- package/dist/solid-ui.min.js.map +1 -1
- package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js +1938 -1938
- package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js.map +1 -1
- package/lib/chat/bookmarks.js +6 -7
- package/lib/chat/bookmarks.js.map +1 -1
- package/lib/chat/chatLogic.js +249 -65
- package/lib/chat/chatLogic.js.map +1 -1
- package/lib/chat/dateFolder.js +129 -126
- package/lib/chat/dateFolder.js.map +1 -1
- package/lib/chat/infinite.js +637 -423
- package/lib/chat/infinite.js.map +1 -1
- package/lib/chat/message.js +332 -193
- package/lib/chat/message.js.map +1 -1
- package/lib/chat/messageTools.js +463 -277
- package/lib/chat/messageTools.js.map +1 -1
- package/lib/chat/thread.js +299 -209
- package/lib/chat/thread.js.map +1 -1
- package/lib/header/index.js +5 -0
- package/lib/header/index.js.map +1 -1
- package/lib/log.js +5 -5
- package/lib/log.js.map +1 -1
- package/lib/login/login.js +24 -1
- package/lib/login/login.js.map +1 -1
- package/lib/media/media-capture.d.ts +2 -2
- package/lib/media/media-capture.d.ts.map +1 -1
- package/lib/media/media-capture.js +15 -11
- package/lib/media/media-capture.js.map +1 -1
- package/lib/pad.d.ts +2 -2
- package/lib/pad.d.ts.map +1 -1
- package/lib/pad.js +41 -15
- package/lib/pad.js.map +1 -1
- package/lib/participation.d.ts +5 -5
- package/lib/participation.d.ts.map +1 -1
- package/lib/participation.js +23 -22
- package/lib/participation.js.map +1 -1
- package/lib/preferences.js +4 -0
- package/lib/preferences.js.map +1 -1
- package/lib/style.js +28 -35
- package/lib/style.js.map +1 -1
- package/lib/tabs.d.ts +125 -0
- package/lib/tabs.d.ts.map +1 -1
- package/lib/tabs.js +8 -15
- package/lib/tabs.js.map +1 -1
- package/lib/utils/headerFooterHelpers.js +2 -0
- package/lib/utils/headerFooterHelpers.js.map +1 -1
- package/lib/versionInfo.js +2 -2
- package/lib/versionInfo.js.map +1 -1
- package/lib/widgets/buttons.js +0 -2
- package/lib/widgets/buttons.js.map +1 -1
- package/lib/widgets/dragAndDrop.js +18 -10
- package/lib/widgets/dragAndDrop.js.map +1 -1
- package/lib/widgets/error.d.ts.map +1 -1
- package/lib/widgets/error.js +2 -9
- package/lib/widgets/error.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompleteBar.js +8 -1
- package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompletePicker.js +9 -5
- package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +1 -1
- package/lib/widgets/forms/autocomplete/language.js +5 -0
- package/lib/widgets/forms/autocomplete/language.js.map +1 -1
- package/lib/widgets/forms/basic.d.ts.map +1 -1
- package/lib/widgets/forms/basic.js +3 -4
- package/lib/widgets/forms/basic.js.map +1 -1
- package/lib/widgets/forms/fieldParams.js +2 -2
- package/lib/widgets/forms/fieldParams.js.map +1 -1
- package/lib/widgets/forms.js +12 -10
- package/lib/widgets/forms.js.map +1 -1
- package/lib/widgets/peoplePicker.js +11 -0
- package/lib/widgets/peoplePicker.js.map +1 -1
- package/package.json +3 -2
- package/lib/styleConstants.js +0 -34
- package/lib/styleConstants.js.map +0 -1
|
@@ -19,6 +19,17 @@ var _iconBase = require("../iconBase");
|
|
|
19
19
|
var ns = _interopRequireWildcard(require("../ns"));
|
|
20
20
|
var _solidLogic = require("solid-logic");
|
|
21
21
|
var _templateObject;
|
|
22
|
+
/**
|
|
23
|
+
*
|
|
24
|
+
* People Picker Pane
|
|
25
|
+
*
|
|
26
|
+
* This pane offers a mechanism for selecting a set of individuals, groups, or
|
|
27
|
+
* organizations to take some action on.
|
|
28
|
+
*
|
|
29
|
+
* Assumptions
|
|
30
|
+
* - Assumes that the user has a type index entry for vcard:AddressBook. @@ bad assuption
|
|
31
|
+
*
|
|
32
|
+
*/
|
|
22
33
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
23
34
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
24
35
|
var kb = _solidLogic.solidLogicSingleton.store;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peoplePicker.js","names":["_escapeHtml","_interopRequireDefault","require","_uuid","rdf","_interopRequireWildcard","debug","_dragAndDrop","_error","_iconBase","ns","_solidLogic","_templateObject","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","kb","solidLogicSingleton","store","PeoplePicker","element","typeIndex","groupPickedCb","options","_classCallCheck2","selectedgroup","onSelectGroup","bind","_createClass2","value","render","_this","container","document","createElement","style","maxWidth","minHeight","outline","display","flexDirection","selectedGroup","Group","changeGroupButton","textContent","escape","addEventListener","_event","appendChild","findAddressBook","then","_ref","book","chooseExistingGroupButton","margin","GroupPicker","createNewGroupButton","createNewGroup","defaultNewGroupName","_ref2","group","GroupBuilder","errorBody","errorMessageBlock","concat","innerHTML","err","Promise","resolve","reject","fetcher","nowOrWhenFetched","ok","bookRegistration","any","solid","vcard","Error","load","_xhr","_indexes","indexes","groupIndex","groupContainer","sym","uri","uuid","v4","slice","name","patchPromises","doc","map","typeStatement","st","nameStatement","includesGroupStatement","toIns","equals","patch","forEach","add","all","log","xhr","responseURL","exports","_this2","loadGroups","groups","groupButton","handleClickGroup","_this3","_indexes2","each","_this4","getWithDefault","doneBuildingCb","groupChangedCb","onGroupChanged","changeType","agent","refresh","_this5","dropContainer","makeDropTarget","uris","groupNameInput","type","event","setGroupName","target","groupNameLabel","match","statement","webIdNode","object","personDiv","Person","handleRemove","copy","_taggedTemplateLiteral2","doneBuildingButton","webId","_this6","namedNode","rdfClass","foaf","holdsStatement","why","_this7","toDel","remove","errorMessage","_this8","_indexes3","updatePromises","namedGraph","oldNameStatements","newNameStatement","literal","_solidResponse","removeStatements","_this9","imgSrc","iconBase","profileImg","src","width","height","nameSpan","flexGrow","removeButton","subject","predicate","defaultValue","url","_ref3","updater","update","success","dir"],"sources":["../../src/widgets/peoplePicker.js"],"sourcesContent":["/**\n *\n * People Picker Pane\n *\n * This pane offers a mechanism for selecting a set of individuals, groups, or\n * organizations to take some action on.\n *\n * Assumptions\n * - Assumes that the user has a type index entry for vcard:AddressBook. @@ bad assuption\n *\n */\nimport escape from 'escape-html'\nimport uuid from 'uuid'\nimport * as rdf from 'rdflib'\nimport * as debug from '../debug'\n\nimport { makeDropTarget } from './dragAndDrop'\nimport { errorMessageBlock } from './error'\nimport { iconBase } from '../iconBase'\nimport * as ns from '../ns'\nimport { solidLogicSingleton } from 'solid-logic'\n\nconst kb = solidLogicSingleton.store\n\nexport class PeoplePicker {\n constructor (element, typeIndex, groupPickedCb, options) { // @@ can't expect typeindex to be passed\n this.options = options || {}\n this.element = element\n this.typeIndex = typeIndex\n this.groupPickedCb = groupPickedCb\n this.selectedgroup = this.options.selectedgroup // current selected group if any\n this.onSelectGroup = this.onSelectGroup.bind(this)\n }\n\n render () {\n const container = document.createElement('div')\n container.style.maxWidth = '350px'\n container.style.minHeight = '200px'\n container.style.outline = '1px solid black'\n container.style.display = 'flex'\n\n if (this.selectedgroup) {\n container.style.flexDirection = 'column'\n const selectedGroup = document.createElement('div')\n new Group(selectedGroup, this.selectedgroup).render()\n const changeGroupButton = document.createElement('button')\n changeGroupButton.textContent = escape('Change group')\n changeGroupButton.addEventListener('click', _event => {\n this.selectedgroup = null\n this.render()\n })\n container.appendChild(selectedGroup)\n container.appendChild(changeGroupButton)\n } else {\n this.findAddressBook(this.typeIndex)\n .then(({ book }) => {\n const chooseExistingGroupButton = document.createElement('button')\n chooseExistingGroupButton.textContent = escape(\n 'Pick an existing group'\n )\n chooseExistingGroupButton.style.margin = 'auto'\n chooseExistingGroupButton.addEventListener('click', _event => {\n new GroupPicker(container, book, this.onSelectGroup).render()\n })\n\n const createNewGroupButton = document.createElement('button')\n createNewGroupButton.textContent = escape('Create a new group')\n createNewGroupButton.style.margin = 'auto'\n createNewGroupButton.addEventListener('click', _event => {\n this.createNewGroup(book, this.options.defaultNewGroupName)\n .then(({ group }) => {\n new GroupBuilder(\n this.element,\n book,\n group,\n this.onSelectGroup\n ).render()\n })\n .catch(errorBody => {\n this.element.appendChild(\n errorMessageBlock(\n document,\n escape(`Error creating a new group. (${errorBody})`)\n )\n )\n })\n })\n\n container.appendChild(chooseExistingGroupButton)\n container.appendChild(createNewGroupButton)\n\n this.element.innerHTML = ''\n this.element.appendChild(container)\n })\n .catch(err => {\n this.element.appendChild(\n errorMessageBlock(\n document,\n escape(`Could find your groups. (${err})`)\n )\n )\n })\n }\n\n this.element.innerHTML = ''\n this.element.appendChild(container)\n return this\n }\n\n findAddressBook (typeIndex) {\n return new Promise((resolve, reject) => {\n kb.fetcher.nowOrWhenFetched(typeIndex, (ok, err) => {\n if (!ok) {\n return reject(err)\n }\n const bookRegistration = kb.any(\n null,\n ns.solid('forClass'),\n ns.vcard('AddressBook')\n )\n if (!bookRegistration) {\n return reject(\n new Error(\n 'no address book registered in the solid type index ' + typeIndex\n )\n )\n }\n const book = kb.any(bookRegistration, ns.solid('instance'))\n if (!book) {\n return reject(new Error('incomplete address book registration'))\n }\n kb.fetcher\n .load(book)\n .then(function (_xhr) {\n return resolve({ book })\n })\n .catch(function (err) {\n return reject(new Error('Could not load address book ' + err))\n })\n })\n })\n }\n\n createNewGroup (book, defaultNewGroupName) {\n const { groupIndex, groupContainer } = indexes(book)\n const group = rdf.sym(\n `${groupContainer.uri}${uuid.v4().slice(0, 8)}.ttl#this`\n )\n const name = defaultNewGroupName || 'Untitled Group'\n\n // NOTE that order matters here. Unfortunately this type of update is\n // non-atomic in that solid requires us to send two PATCHes, either of which\n // might fail.\n const patchPromises = [group.doc(), groupIndex].map(doc => {\n const typeStatement = rdf.st(group, ns.rdf('type'), ns.vcard('Group'), doc)\n const nameStatement = rdf.st(group, ns.vcard('fn'), name, group.doc(), doc)\n const includesGroupStatement = rdf.st(\n book,\n ns.vcard('includesGroup'),\n group,\n doc\n )\n const toIns = doc.equals(groupIndex)\n ? [typeStatement, nameStatement, includesGroupStatement]\n : [typeStatement, nameStatement]\n return patch(doc.uri, { toIns }).then(() => {\n toIns.forEach(st => {\n kb.add(st)\n })\n })\n })\n return Promise.all(patchPromises)\n .then(() => ({ group }))\n .catch(err => {\n debug.log('Could not create new group. PATCH failed ' + err)\n throw new Error(\n `Couldn't create new group. PATCH failed for (${\n err.xhr ? err.xhr.responseURL : ''\n } )`\n )\n })\n }\n\n onSelectGroup (group) {\n this.selectedgroup = group\n this.groupPickedCb(group)\n this.render()\n }\n}\n\nexport class GroupPicker {\n constructor (element, book, onSelectGroup) {\n this.element = element\n this.book = book\n this.onSelectGroup = onSelectGroup\n }\n\n render () {\n this.loadGroups()\n .then(groups => {\n // render the groups\n const container = document.createElement('div')\n container.style.display = 'flex'\n container.style.flexDirection = 'column'\n groups.forEach(group => {\n const groupButton = document.createElement('button')\n groupButton.addEventListener('click', this.handleClickGroup(group))\n new Group(groupButton, group).render()\n container.appendChild(groupButton)\n })\n this.element.innerHTML = ''\n this.element.appendChild(container)\n })\n .catch(err => {\n this.element.appendChild(\n errorMessageBlock(\n document,\n escape(`There was an error loading your groups. (${err})`)\n )\n )\n })\n return this\n }\n\n loadGroups () {\n return new Promise((resolve, reject) => {\n const { groupIndex } = indexes(this.book)\n kb.fetcher.nowOrWhenFetched(groupIndex, (ok, err) => {\n if (!ok) {\n return reject(err)\n }\n const groups = kb.each(this.book, ns.vcard('includesGroup'))\n return resolve(groups)\n })\n })\n }\n\n handleClickGroup (group) {\n return _event => {\n this.onSelectGroup(group)\n }\n }\n}\n\nexport class Group {\n constructor (element, group) {\n this.element = element\n this.group = group\n }\n\n render () {\n const container = document.createElement('div')\n container.textContent = escape(\n // @@@@@ need to escape??\n getWithDefault(this.group, ns.vcard('fn'), `[${this.group.value}]`)\n )\n this.element.innerHTML = ''\n this.element.appendChild(container)\n return this\n }\n}\n\nexport class GroupBuilder {\n constructor (element, book, group, doneBuildingCb, groupChangedCb) {\n this.element = element\n this.book = book\n this.group = group\n this.onGroupChanged = (err, changeType, agent) => {\n if (groupChangedCb) {\n groupChangedCb(err, changeType, agent)\n }\n }\n this.groupChangedCb = groupChangedCb\n this.doneBuildingCb = doneBuildingCb\n }\n\n refresh () {\n // TODO: implement\n }\n\n render () {\n const dropContainer = document.createElement('div')\n dropContainer.style.maxWidth = '350px'\n dropContainer.style.minHeight = '200px'\n dropContainer.style.outline = '1px solid black'\n dropContainer.style.display = 'flex'\n dropContainer.style.flexDirection = 'column'\n\n makeDropTarget(dropContainer, uris => {\n uris.forEach(uri => {\n this.add(uri).catch(err => {\n this.element.appendChild(\n errorMessageBlock(\n document,\n escape(`Could not add the given WebId. (${err})`)\n )\n )\n })\n })\n })\n\n const groupNameInput = document.createElement('input')\n groupNameInput.type = 'text'\n groupNameInput.value = getWithDefault(\n this.group,\n ns.vcard('fn'),\n 'Untitled Group'\n )\n groupNameInput.addEventListener('change', event => {\n this.setGroupName(event.target.value).catch(err => {\n this.element.appendChild(\n errorMessageBlock(document, `Error changing group name. (${err})`)\n )\n })\n })\n const groupNameLabel = document.createElement('label')\n groupNameLabel.textContent = escape('Group Name:')\n groupNameLabel.appendChild(groupNameInput)\n dropContainer.appendChild(groupNameLabel)\n\n if (kb.any(this.group, ns.vcard('hasMember'))) {\n kb.match(this.group, ns.vcard('hasMember')).forEach(statement => {\n const webIdNode = statement.object\n const personDiv = document.createElement('div')\n new Person(personDiv, webIdNode, this.handleRemove(webIdNode)).render()\n dropContainer.appendChild(personDiv)\n })\n } else {\n const copy = document.createElement('p')\n copy.textContent = escape`\n To add someone to this group, drag and drop their WebID URL onto the box.\n `\n dropContainer.appendChild(copy)\n }\n\n const doneBuildingButton = document.createElement('button')\n doneBuildingButton.textContent = escape('Done')\n doneBuildingButton.addEventListener('click', _event => {\n this.doneBuildingCb(this.group)\n })\n dropContainer.appendChild(doneBuildingButton)\n\n this.element.innerHTML = ''\n this.element.appendChild(dropContainer)\n return this\n }\n\n add (webId) {\n return new Promise((resolve, reject) => {\n kb.fetcher.nowOrWhenFetched(webId, (ok, err) => {\n if (!ok) {\n this.onGroupChanged(err)\n return reject(err)\n }\n // make sure it's a valid person, group, or entity (for now just handle\n // webId)\n const webIdNode = rdf.namedNode(webId)\n const rdfClass = kb.any(webIdNode, ns.rdf('type'))\n if (!rdfClass || !rdfClass.equals(ns.foaf('Person'))) {\n return reject(\n new Error(\n `Only people supported right now. (tried to add something of type ${rdfClass.value})`\n )\n )\n }\n return resolve(webIdNode)\n })\n }).then(webIdNode => {\n const statement = rdf.st(this.group, ns.vcard('hasMember'), webIdNode)\n if (kb.holdsStatement(statement)) {\n return webIdNode\n }\n return patch(this.group.doc().uri, { toIns: [statement] }).then(() => {\n statement.why = this.group.doc()\n kb.add(statement)\n this.onGroupChanged(null, 'added', webIdNode)\n this.render()\n })\n })\n }\n\n handleRemove (webIdNode) {\n return _event => {\n const statement = rdf.st(this.group, ns.vcard('hasMember'), webIdNode)\n return patch(this.group.doc().uri, { toDel: [statement] })\n .then(() => {\n kb.remove(statement)\n this.onGroupChanged(null, 'removed', webIdNode)\n this.render()\n return true\n })\n .catch(err => {\n const name = kb.any(webIdNode, ns.foaf('name'))\n const errorMessage =\n name && name.value\n ? `Could not remove ${name.value}. (${err})`\n : `Could not remove ${webIdNode.value}. (${err})`\n throw new Error(errorMessage)\n })\n }\n }\n\n setGroupName (name) {\n const { groupIndex } = indexes(this.book)\n const updatePromises = [this.group.doc(), groupIndex].map(namedGraph => {\n const oldNameStatements = kb.match(\n this.group,\n ns.vcard('fn'),\n null,\n namedGraph\n )\n const newNameStatement = rdf.st(\n this.group,\n ns.vcard('fn'),\n rdf.literal(name)\n )\n return patch(namedGraph.value, {\n toDel: oldNameStatements,\n toIns: [newNameStatement]\n }).then(_solidResponse => {\n kb.removeStatements(oldNameStatements)\n newNameStatement.why = namedGraph\n kb.add(newNameStatement)\n })\n })\n return Promise.all(updatePromises)\n }\n}\n// @ignore exporting this only for the unit test\n// @@ TODO maybe I should move this down at end, but for\n// now I will leave it where it was\nexport class Person {\n constructor (element, webIdNode, handleRemove) {\n this.webIdNode = webIdNode\n this.element = element\n this.handleRemove = handleRemove\n }\n\n render () {\n const container = document.createElement('div')\n container.style.display = 'flex'\n\n // TODO: take a look at UI.widgets.setName\n const imgSrc = getWithDefault(\n this.webIdNode,\n ns.foaf('img'),\n iconBase + 'noun_15059.svg'\n )\n const profileImg = document.createElement('img')\n profileImg.src = escape(imgSrc)\n profileImg.width = '50'\n profileImg.height = '50'\n profileImg.style.margin = '5px'\n\n // TODO: take a look at UI.widgets.setImage\n const name = getWithDefault(\n this.webIdNode,\n ns.foaf('name'),\n `[${this.webIdNode}]`\n )\n const nameSpan = document.createElement('span')\n nameSpan.innerHTML = escape(name)\n nameSpan.style.flexGrow = '1'\n nameSpan.style.margin = 'auto 0'\n\n const removeButton = document.createElement('button')\n removeButton.textContent = 'Remove'\n removeButton.addEventListener('click', _event =>\n this.handleRemove().catch(err => {\n this.element.appendChild(errorMessageBlock(document, escape(`${err}`)))\n })\n )\n removeButton.style.margin = '5px'\n\n container.appendChild(profileImg)\n container.appendChild(nameSpan)\n container.appendChild(removeButton)\n\n this.element.innerHTML = ''\n this.element.appendChild(container)\n return this\n }\n}\n\nfunction getWithDefault (subject, predicate, defaultValue) {\n const object = kb.any(subject, predicate)\n return object ? object.value : defaultValue\n}\n\nfunction patch (url, { toDel, toIns }) {\n return new Promise((resolve, reject) => {\n kb.updater.update(toDel, toIns, (uri, success, errorMessage) => {\n if (!success) {\n return reject(\n new Error(`PATCH failed for resource <${uri}>: ${errorMessage}`)\n )\n }\n resolve()\n })\n })\n // return webClient.patch(url, toDel, toIns)\n // .then(solidResponse => {\n // const status = solidResponse.xhr.status\n // if (status < 200 || status >= 400) {\n // const err = new Error(`PATCH failed for resource <${solidResponse.url}>`)\n // err.solidResponse = solidResponse\n // throw err\n // }\n // })\n}\n\nfunction indexes (book) {\n return {\n // bookIndex: book,\n groupIndex: kb.any(book, ns.vcard('groupIndex')),\n groupContainer: kb.sym(book.dir().uri + 'Group/')\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"peoplePicker.js","names":["_escapeHtml","_interopRequireDefault","require","_uuid","rdf","_interopRequireWildcard","debug","_dragAndDrop","_error","_iconBase","ns","_solidLogic","_templateObject","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","kb","solidLogicSingleton","store","PeoplePicker","element","typeIndex","groupPickedCb","options","_classCallCheck2","selectedgroup","onSelectGroup","bind","_createClass2","value","render","_this","container","document","createElement","style","maxWidth","minHeight","outline","display","flexDirection","selectedGroup","Group","changeGroupButton","textContent","escape","addEventListener","_event","appendChild","findAddressBook","then","_ref","book","chooseExistingGroupButton","margin","GroupPicker","createNewGroupButton","createNewGroup","defaultNewGroupName","_ref2","group","GroupBuilder","errorBody","errorMessageBlock","concat","innerHTML","err","Promise","resolve","reject","fetcher","nowOrWhenFetched","ok","bookRegistration","any","solid","vcard","Error","load","_xhr","_indexes","indexes","groupIndex","groupContainer","sym","uri","uuid","v4","slice","name","patchPromises","doc","map","typeStatement","st","nameStatement","includesGroupStatement","toIns","equals","patch","forEach","add","all","log","xhr","responseURL","exports","_this2","loadGroups","groups","groupButton","handleClickGroup","_this3","_indexes2","each","_this4","getWithDefault","doneBuildingCb","groupChangedCb","onGroupChanged","changeType","agent","refresh","_this5","dropContainer","makeDropTarget","uris","groupNameInput","type","event","setGroupName","target","groupNameLabel","match","statement","webIdNode","object","personDiv","Person","handleRemove","copy","_taggedTemplateLiteral2","doneBuildingButton","webId","_this6","namedNode","rdfClass","foaf","holdsStatement","why","_this7","toDel","remove","errorMessage","_this8","_indexes3","updatePromises","namedGraph","oldNameStatements","newNameStatement","literal","_solidResponse","removeStatements","_this9","imgSrc","iconBase","profileImg","src","width","height","nameSpan","flexGrow","removeButton","subject","predicate","defaultValue","url","_ref3","updater","update","success","dir"],"sources":["../../src/widgets/peoplePicker.js"],"sourcesContent":["/**\n *\n * People Picker Pane\n *\n * This pane offers a mechanism for selecting a set of individuals, groups, or\n * organizations to take some action on.\n *\n * Assumptions\n * - Assumes that the user has a type index entry for vcard:AddressBook. @@ bad assuption\n *\n */\nimport escape from 'escape-html'\nimport uuid from 'uuid'\nimport * as rdf from 'rdflib'\nimport * as debug from '../debug'\n\nimport { makeDropTarget } from './dragAndDrop'\nimport { errorMessageBlock } from './error'\nimport { iconBase } from '../iconBase'\nimport * as ns from '../ns'\nimport { solidLogicSingleton } from 'solid-logic'\n\nconst kb = solidLogicSingleton.store\n\nexport class PeoplePicker {\n constructor (element, typeIndex, groupPickedCb, options) { // @@ can't expect typeindex to be passed\n this.options = options || {}\n this.element = element\n this.typeIndex = typeIndex\n this.groupPickedCb = groupPickedCb\n this.selectedgroup = this.options.selectedgroup // current selected group if any\n this.onSelectGroup = this.onSelectGroup.bind(this)\n }\n\n render () {\n const container = document.createElement('div')\n container.style.maxWidth = '350px'\n container.style.minHeight = '200px'\n container.style.outline = '1px solid black'\n container.style.display = 'flex'\n\n if (this.selectedgroup) {\n container.style.flexDirection = 'column'\n const selectedGroup = document.createElement('div')\n new Group(selectedGroup, this.selectedgroup).render()\n const changeGroupButton = document.createElement('button')\n changeGroupButton.textContent = escape('Change group')\n changeGroupButton.addEventListener('click', _event => {\n this.selectedgroup = null\n this.render()\n })\n container.appendChild(selectedGroup)\n container.appendChild(changeGroupButton)\n } else {\n this.findAddressBook(this.typeIndex)\n .then(({ book }) => {\n const chooseExistingGroupButton = document.createElement('button')\n chooseExistingGroupButton.textContent = escape(\n 'Pick an existing group'\n )\n chooseExistingGroupButton.style.margin = 'auto'\n chooseExistingGroupButton.addEventListener('click', _event => {\n new GroupPicker(container, book, this.onSelectGroup).render()\n })\n\n const createNewGroupButton = document.createElement('button')\n createNewGroupButton.textContent = escape('Create a new group')\n createNewGroupButton.style.margin = 'auto'\n createNewGroupButton.addEventListener('click', _event => {\n this.createNewGroup(book, this.options.defaultNewGroupName)\n .then(({ group }) => {\n new GroupBuilder(\n this.element,\n book,\n group,\n this.onSelectGroup\n ).render()\n })\n .catch(errorBody => {\n this.element.appendChild(\n errorMessageBlock(\n document,\n escape(`Error creating a new group. (${errorBody})`)\n )\n )\n })\n })\n\n container.appendChild(chooseExistingGroupButton)\n container.appendChild(createNewGroupButton)\n\n this.element.innerHTML = ''\n this.element.appendChild(container)\n })\n .catch(err => {\n this.element.appendChild(\n errorMessageBlock(\n document,\n escape(`Could find your groups. (${err})`)\n )\n )\n })\n }\n\n this.element.innerHTML = ''\n this.element.appendChild(container)\n return this\n }\n\n findAddressBook (typeIndex) {\n return new Promise((resolve, reject) => {\n kb.fetcher.nowOrWhenFetched(typeIndex, (ok, err) => {\n if (!ok) {\n return reject(err)\n }\n const bookRegistration = kb.any(\n null,\n ns.solid('forClass'),\n ns.vcard('AddressBook')\n )\n if (!bookRegistration) {\n return reject(\n new Error(\n 'no address book registered in the solid type index ' + typeIndex\n )\n )\n }\n const book = kb.any(bookRegistration, ns.solid('instance'))\n if (!book) {\n return reject(new Error('incomplete address book registration'))\n }\n kb.fetcher\n .load(book)\n .then(function (_xhr) {\n return resolve({ book })\n })\n .catch(function (err) {\n return reject(new Error('Could not load address book ' + err))\n })\n })\n })\n }\n\n createNewGroup (book, defaultNewGroupName) {\n const { groupIndex, groupContainer } = indexes(book)\n const group = rdf.sym(\n `${groupContainer.uri}${uuid.v4().slice(0, 8)}.ttl#this`\n )\n const name = defaultNewGroupName || 'Untitled Group'\n\n // NOTE that order matters here. Unfortunately this type of update is\n // non-atomic in that solid requires us to send two PATCHes, either of which\n // might fail.\n const patchPromises = [group.doc(), groupIndex].map(doc => {\n const typeStatement = rdf.st(group, ns.rdf('type'), ns.vcard('Group'), doc)\n const nameStatement = rdf.st(group, ns.vcard('fn'), name, group.doc(), doc)\n const includesGroupStatement = rdf.st(\n book,\n ns.vcard('includesGroup'),\n group,\n doc\n )\n const toIns = doc.equals(groupIndex)\n ? [typeStatement, nameStatement, includesGroupStatement]\n : [typeStatement, nameStatement]\n return patch(doc.uri, { toIns }).then(() => {\n toIns.forEach(st => {\n kb.add(st)\n })\n })\n })\n return Promise.all(patchPromises)\n .then(() => ({ group }))\n .catch(err => {\n debug.log('Could not create new group. PATCH failed ' + err)\n throw new Error(\n `Couldn't create new group. PATCH failed for (${\n err.xhr ? err.xhr.responseURL : ''\n } )`\n )\n })\n }\n\n onSelectGroup (group) {\n this.selectedgroup = group\n this.groupPickedCb(group)\n this.render()\n }\n}\n\nexport class GroupPicker {\n constructor (element, book, onSelectGroup) {\n this.element = element\n this.book = book\n this.onSelectGroup = onSelectGroup\n }\n\n render () {\n this.loadGroups()\n .then(groups => {\n // render the groups\n const container = document.createElement('div')\n container.style.display = 'flex'\n container.style.flexDirection = 'column'\n groups.forEach(group => {\n const groupButton = document.createElement('button')\n groupButton.addEventListener('click', this.handleClickGroup(group))\n new Group(groupButton, group).render()\n container.appendChild(groupButton)\n })\n this.element.innerHTML = ''\n this.element.appendChild(container)\n })\n .catch(err => {\n this.element.appendChild(\n errorMessageBlock(\n document,\n escape(`There was an error loading your groups. (${err})`)\n )\n )\n })\n return this\n }\n\n loadGroups () {\n return new Promise((resolve, reject) => {\n const { groupIndex } = indexes(this.book)\n kb.fetcher.nowOrWhenFetched(groupIndex, (ok, err) => {\n if (!ok) {\n return reject(err)\n }\n const groups = kb.each(this.book, ns.vcard('includesGroup'))\n return resolve(groups)\n })\n })\n }\n\n handleClickGroup (group) {\n return _event => {\n this.onSelectGroup(group)\n }\n }\n}\n\nexport class Group {\n constructor (element, group) {\n this.element = element\n this.group = group\n }\n\n render () {\n const container = document.createElement('div')\n container.textContent = escape(\n // @@@@@ need to escape??\n getWithDefault(this.group, ns.vcard('fn'), `[${this.group.value}]`)\n )\n this.element.innerHTML = ''\n this.element.appendChild(container)\n return this\n }\n}\n\nexport class GroupBuilder {\n constructor (element, book, group, doneBuildingCb, groupChangedCb) {\n this.element = element\n this.book = book\n this.group = group\n this.onGroupChanged = (err, changeType, agent) => {\n if (groupChangedCb) {\n groupChangedCb(err, changeType, agent)\n }\n }\n this.groupChangedCb = groupChangedCb\n this.doneBuildingCb = doneBuildingCb\n }\n\n refresh () {\n // TODO: implement\n }\n\n render () {\n const dropContainer = document.createElement('div')\n dropContainer.style.maxWidth = '350px'\n dropContainer.style.minHeight = '200px'\n dropContainer.style.outline = '1px solid black'\n dropContainer.style.display = 'flex'\n dropContainer.style.flexDirection = 'column'\n\n makeDropTarget(dropContainer, uris => {\n uris.forEach(uri => {\n this.add(uri).catch(err => {\n this.element.appendChild(\n errorMessageBlock(\n document,\n escape(`Could not add the given WebId. (${err})`)\n )\n )\n })\n })\n })\n\n const groupNameInput = document.createElement('input')\n groupNameInput.type = 'text'\n groupNameInput.value = getWithDefault(\n this.group,\n ns.vcard('fn'),\n 'Untitled Group'\n )\n groupNameInput.addEventListener('change', event => {\n this.setGroupName(event.target.value).catch(err => {\n this.element.appendChild(\n errorMessageBlock(document, `Error changing group name. (${err})`)\n )\n })\n })\n const groupNameLabel = document.createElement('label')\n groupNameLabel.textContent = escape('Group Name:')\n groupNameLabel.appendChild(groupNameInput)\n dropContainer.appendChild(groupNameLabel)\n\n if (kb.any(this.group, ns.vcard('hasMember'))) {\n kb.match(this.group, ns.vcard('hasMember')).forEach(statement => {\n const webIdNode = statement.object\n const personDiv = document.createElement('div')\n new Person(personDiv, webIdNode, this.handleRemove(webIdNode)).render()\n dropContainer.appendChild(personDiv)\n })\n } else {\n const copy = document.createElement('p')\n copy.textContent = escape`\n To add someone to this group, drag and drop their WebID URL onto the box.\n `\n dropContainer.appendChild(copy)\n }\n\n const doneBuildingButton = document.createElement('button')\n doneBuildingButton.textContent = escape('Done')\n doneBuildingButton.addEventListener('click', _event => {\n this.doneBuildingCb(this.group)\n })\n dropContainer.appendChild(doneBuildingButton)\n\n this.element.innerHTML = ''\n this.element.appendChild(dropContainer)\n return this\n }\n\n add (webId) {\n return new Promise((resolve, reject) => {\n kb.fetcher.nowOrWhenFetched(webId, (ok, err) => {\n if (!ok) {\n this.onGroupChanged(err)\n return reject(err)\n }\n // make sure it's a valid person, group, or entity (for now just handle\n // webId)\n const webIdNode = rdf.namedNode(webId)\n const rdfClass = kb.any(webIdNode, ns.rdf('type'))\n if (!rdfClass || !rdfClass.equals(ns.foaf('Person'))) {\n return reject(\n new Error(\n `Only people supported right now. (tried to add something of type ${rdfClass.value})`\n )\n )\n }\n return resolve(webIdNode)\n })\n }).then(webIdNode => {\n const statement = rdf.st(this.group, ns.vcard('hasMember'), webIdNode)\n if (kb.holdsStatement(statement)) {\n return webIdNode\n }\n return patch(this.group.doc().uri, { toIns: [statement] }).then(() => {\n statement.why = this.group.doc()\n kb.add(statement)\n this.onGroupChanged(null, 'added', webIdNode)\n this.render()\n })\n })\n }\n\n handleRemove (webIdNode) {\n return _event => {\n const statement = rdf.st(this.group, ns.vcard('hasMember'), webIdNode)\n return patch(this.group.doc().uri, { toDel: [statement] })\n .then(() => {\n kb.remove(statement)\n this.onGroupChanged(null, 'removed', webIdNode)\n this.render()\n return true\n })\n .catch(err => {\n const name = kb.any(webIdNode, ns.foaf('name'))\n const errorMessage =\n name && name.value\n ? `Could not remove ${name.value}. (${err})`\n : `Could not remove ${webIdNode.value}. (${err})`\n throw new Error(errorMessage)\n })\n }\n }\n\n setGroupName (name) {\n const { groupIndex } = indexes(this.book)\n const updatePromises = [this.group.doc(), groupIndex].map(namedGraph => {\n const oldNameStatements = kb.match(\n this.group,\n ns.vcard('fn'),\n null,\n namedGraph\n )\n const newNameStatement = rdf.st(\n this.group,\n ns.vcard('fn'),\n rdf.literal(name)\n )\n return patch(namedGraph.value, {\n toDel: oldNameStatements,\n toIns: [newNameStatement]\n }).then(_solidResponse => {\n kb.removeStatements(oldNameStatements)\n newNameStatement.why = namedGraph\n kb.add(newNameStatement)\n })\n })\n return Promise.all(updatePromises)\n }\n}\n// @ignore exporting this only for the unit test\n// @@ TODO maybe I should move this down at end, but for\n// now I will leave it where it was\nexport class Person {\n constructor (element, webIdNode, handleRemove) {\n this.webIdNode = webIdNode\n this.element = element\n this.handleRemove = handleRemove\n }\n\n render () {\n const container = document.createElement('div')\n container.style.display = 'flex'\n\n // TODO: take a look at UI.widgets.setName\n const imgSrc = getWithDefault(\n this.webIdNode,\n ns.foaf('img'),\n iconBase + 'noun_15059.svg'\n )\n const profileImg = document.createElement('img')\n profileImg.src = escape(imgSrc)\n profileImg.width = '50'\n profileImg.height = '50'\n profileImg.style.margin = '5px'\n\n // TODO: take a look at UI.widgets.setImage\n const name = getWithDefault(\n this.webIdNode,\n ns.foaf('name'),\n `[${this.webIdNode}]`\n )\n const nameSpan = document.createElement('span')\n nameSpan.innerHTML = escape(name)\n nameSpan.style.flexGrow = '1'\n nameSpan.style.margin = 'auto 0'\n\n const removeButton = document.createElement('button')\n removeButton.textContent = 'Remove'\n removeButton.addEventListener('click', _event =>\n this.handleRemove().catch(err => {\n this.element.appendChild(errorMessageBlock(document, escape(`${err}`)))\n })\n )\n removeButton.style.margin = '5px'\n\n container.appendChild(profileImg)\n container.appendChild(nameSpan)\n container.appendChild(removeButton)\n\n this.element.innerHTML = ''\n this.element.appendChild(container)\n return this\n }\n}\n\nfunction getWithDefault (subject, predicate, defaultValue) {\n const object = kb.any(subject, predicate)\n return object ? object.value : defaultValue\n}\n\nfunction patch (url, { toDel, toIns }) {\n return new Promise((resolve, reject) => {\n kb.updater.update(toDel, toIns, (uri, success, errorMessage) => {\n if (!success) {\n return reject(\n new Error(`PATCH failed for resource <${uri}>: ${errorMessage}`)\n )\n }\n resolve()\n })\n })\n // return webClient.patch(url, toDel, toIns)\n // .then(solidResponse => {\n // const status = solidResponse.xhr.status\n // if (status < 200 || status >= 400) {\n // const err = new Error(`PATCH failed for resource <${solidResponse.url}>`)\n // err.solidResponse = solidResponse\n // throw err\n // }\n // })\n}\n\nfunction indexes (book) {\n return {\n // bookIndex: book,\n groupIndex: kb.any(book, ns.vcard('groupIndex')),\n groupContainer: kb.sym(book.dir().uri + 'Group/')\n }\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "solid-ui",
|
|
3
|
-
"version": "2.4.28-
|
|
3
|
+
"version": "2.4.28-e5cde855",
|
|
4
4
|
"description": "UI library for writing Solid read-write-web applications",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -55,6 +55,7 @@
|
|
|
55
55
|
},
|
|
56
56
|
"homepage": "https://github.com/solidos/solid-ui",
|
|
57
57
|
"dependencies": {
|
|
58
|
+
"16": "^0.0.2",
|
|
58
59
|
"@noble/curves": "^1.0.0",
|
|
59
60
|
"acorn": "^7.4.1",
|
|
60
61
|
"escape-html": "^1.0.3",
|
|
@@ -108,7 +109,7 @@
|
|
|
108
109
|
"husky": "^7.0.4",
|
|
109
110
|
"isomorphic-fetch": "^3.0.0",
|
|
110
111
|
"jest": "^27.5.1",
|
|
111
|
-
"jsdom": "^
|
|
112
|
+
"jsdom": "^16.7.0",
|
|
112
113
|
"lint-staged": "^12.5.0",
|
|
113
114
|
"nock": "^13.3.0",
|
|
114
115
|
"react": "^17.0.2",
|
package/lib/styleConstants.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports["default"] = void 0;
|
|
7
|
-
var _default = {
|
|
8
|
-
highlightColor: '#7C4DFF',
|
|
9
|
-
// Solid lavender https://design.inrupt.com/atomic-core/?cat=Core
|
|
10
|
-
|
|
11
|
-
formBorderColor: '#888888',
|
|
12
|
-
// Mid-grey
|
|
13
|
-
formHeadingColor: '#888888',
|
|
14
|
-
// originally was brown; now grey
|
|
15
|
-
lowProfileLinkColor: '#3B5998',
|
|
16
|
-
// Grey-blue, e.g., for field labels linking to ontology
|
|
17
|
-
formFieldNameBoxWidth: '8em',
|
|
18
|
-
// The fixed amount to get form fields to line up
|
|
19
|
-
// The latter we put in when switching awy from using tables. Getting alignment between
|
|
20
|
-
// fields in different groups though is hard problem.
|
|
21
|
-
|
|
22
|
-
mediaModuleCanvasWidth: '640',
|
|
23
|
-
mediaModuleCanvasHeight: '480',
|
|
24
|
-
textInputSize: 20,
|
|
25
|
-
// Default text input size in characters roughly
|
|
26
|
-
tabBorderRadius: '0.2em',
|
|
27
|
-
textInputBackgroundColor: '#eef',
|
|
28
|
-
textInputBackgroundColorUneditable: '#fff',
|
|
29
|
-
textInputColor: '#000',
|
|
30
|
-
textInputColorPending: '#888',
|
|
31
|
-
defaultErrorBackgroundColor: '#fee'
|
|
32
|
-
};
|
|
33
|
-
exports["default"] = _default;
|
|
34
|
-
//# sourceMappingURL=styleConstants.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"styleConstants.js","names":["highlightColor","formBorderColor","formHeadingColor","lowProfileLinkColor","formFieldNameBoxWidth","mediaModuleCanvasWidth","mediaModuleCanvasHeight","textInputSize","tabBorderRadius","textInputBackgroundColor","textInputBackgroundColorUneditable","textInputColor","textInputColorPending","defaultErrorBackgroundColor","exports","_default"],"sources":["../src/styleConstants.js"],"sourcesContent":["export default {\n highlightColor: '#7C4DFF', // Solid lavender https://design.inrupt.com/atomic-core/?cat=Core\n\n formBorderColor: '#888888', // Mid-grey\n formHeadingColor: '#888888', // originally was brown; now grey\n lowProfileLinkColor: '#3B5998', // Grey-blue, e.g., for field labels linking to ontology\n formFieldNameBoxWidth: '8em', // The fixed amount to get form fields to line up\n // The latter we put in when switching awy from using tables. Getting alignment between\n // fields in different groups though is hard problem.\n\n mediaModuleCanvasWidth: '640',\n mediaModuleCanvasHeight: '480',\n\n textInputSize: 20, // Default text input size in characters roughly\n tabBorderRadius: '0.2em',\n\n textInputBackgroundColor: '#eef',\n textInputBackgroundColorUneditable: '#fff',\n textInputColor: '#000',\n textInputColorPending: '#888',\n\n defaultErrorBackgroundColor: '#fee'\n}\n"],"mappings":";;;;;;eAAe;EACbA,cAAc,EAAE,SAAS;EAAE;;EAE3BC,eAAe,EAAE,SAAS;EAAE;EAC5BC,gBAAgB,EAAE,SAAS;EAAE;EAC7BC,mBAAmB,EAAE,SAAS;EAAE;EAChCC,qBAAqB,EAAE,KAAK;EAAE;EAC9B;EACA;;EAEAC,sBAAsB,EAAE,KAAK;EAC7BC,uBAAuB,EAAE,KAAK;EAE9BC,aAAa,EAAE,EAAE;EAAE;EACnBC,eAAe,EAAE,OAAO;EAExBC,wBAAwB,EAAE,MAAM;EAChCC,kCAAkC,EAAE,MAAM;EAC1CC,cAAc,EAAE,MAAM;EACtBC,qBAAqB,EAAE,MAAM;EAE7BC,2BAA2B,EAAE;AAC/B,CAAC;AAAAC,OAAA,cAAAC,QAAA"}
|