contacts-pane 3.0.2 → 3.0.3

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 (45) hide show
  1. package/README.md +53 -1
  2. package/dist/contactsPane.js +6487 -763
  3. package/dist/contactsPane.js.map +1 -1
  4. package/dist/contactsPane.min.js +2 -0
  5. package/dist/contactsPane.min.js.map +1 -0
  6. package/dist/styles/contactsPane.css +602 -0
  7. package/dist/styles/contactsRDFFormsEnforced.css +513 -0
  8. package/dist/styles/groupMembership.css +115 -0
  9. package/dist/styles/individual.css +12 -0
  10. package/dist/styles/localUtils.css +49 -0
  11. package/dist/styles/mugshotGallery.css +17 -0
  12. package/dist/styles/toolsPane.css +43 -0
  13. package/dist/styles/utilities.css +69 -0
  14. package/dist/styles/webidControl.css +90 -0
  15. package/package.json +23 -17
  16. package/dist/autocompleteBar.d.ts +0 -3
  17. package/dist/autocompleteBar.d.ts.map +0 -1
  18. package/dist/autocompleteBar.js +0 -90
  19. package/dist/autocompleteBar.js.map +0 -1
  20. package/dist/autocompleteField.d.ts +0 -20
  21. package/dist/autocompleteField.d.ts.map +0 -1
  22. package/dist/autocompleteField.js +0 -165
  23. package/dist/autocompleteField.js.map +0 -1
  24. package/dist/autocompletePicker.d.ts +0 -15
  25. package/dist/autocompletePicker.d.ts.map +0 -1
  26. package/dist/autocompletePicker.js +0 -253
  27. package/dist/autocompletePicker.js.map +0 -1
  28. package/dist/contactLogic.js +0 -223
  29. package/dist/contactLogic.js.map +0 -1
  30. package/dist/groupMembershipControl.js +0 -107
  31. package/dist/groupMembershipControl.js.map +0 -1
  32. package/dist/individual.js +0 -115
  33. package/dist/individual.js.map +0 -1
  34. package/dist/mintNewAddressBook.js +0 -145
  35. package/dist/mintNewAddressBook.js.map +0 -1
  36. package/dist/mugshotGallery.js +0 -264
  37. package/dist/mugshotGallery.js.map +0 -1
  38. package/dist/publicData.d.ts +0 -82
  39. package/dist/publicData.d.ts.map +0 -1
  40. package/dist/publicData.js +0 -421
  41. package/dist/publicData.js.map +0 -1
  42. package/dist/toolsPane.js +0 -671
  43. package/dist/toolsPane.js.map +0 -1
  44. package/dist/webidControl.js +0 -320
  45. package/dist/webidControl.js.map +0 -1
@@ -1,264 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.renderMugshotGallery = renderMugshotGallery;
7
- var UI = _interopRequireWildcard(require("solid-ui"));
8
- var _solidLogic = require("solid-logic");
9
- var _mimeTypes = _interopRequireDefault(require("mime-types"));
10
- var $rdf = _interopRequireWildcard(require("rdflib"));
11
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
- 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); }
13
- const ns = UI.ns;
14
- const utils = UI.utils;
15
- const kb = _solidLogic.store;
16
-
17
- /* Mugshot Gallery
18
- *
19
- * A widget for managing a set of images.
20
- * Make this a form field?
21
- */
22
- function renderMugshotGallery(dom, subject) {
23
- function complain(message) {
24
- console.log(message);
25
- galleryDiv.appendChild(UI.widgets.errorMessageBlock(dom, message, 'pink'));
26
- }
27
- async function linkToPicture(subject, pic, remove) {
28
- const link = [$rdf.st(subject, ns.vcard('hasPhoto'), pic, subject.doc())];
29
- try {
30
- if (remove) {
31
- await kb.updater.update(link, []);
32
- } else {
33
- await kb.updater.update([], link);
34
- }
35
- } catch (err) {
36
- const msg = ' Write back image link FAIL ' + pic + ', Error: ' + err;
37
- console.log(msg);
38
- alert(msg);
39
- }
40
- }
41
- function handleDroppedThing(thing) {
42
- kb.fetcher.nowOrWhenFetched(thing.doc(), function (ok, mess) {
43
- if (!ok) {
44
- console.log('Error looking up dropped thing ' + thing + ': ' + mess);
45
- } else {
46
- const types = kb.findTypeURIs(thing);
47
- for (const ty in types) {
48
- console.log(' drop object type includes: ' + ty); // @@ Allow email addresses and phone numbers to be dropped?
49
- }
50
- console.log('Default: assume web page ' + thing); // icon was: UI.icons.iconBase + 'noun_25830.svg'
51
- kb.add(subject, ns.wf('attachment'), thing, subject.doc());
52
- // @@ refresh UI
53
- }
54
- });
55
- }
56
- function uploadFileToContact(filename, contentType, data) {
57
- // const fileExtension = filename.split('.').pop() // .toLowerCase()
58
- const extension = _mimeTypes.default.extension(contentType);
59
- if (contentType !== _mimeTypes.default.lookup(filename)) {
60
- filename += '_.' + extension;
61
- console.log('MIME TYPE MISMATCH -- adding extension: ' + filename);
62
- }
63
- let prefix, predicate;
64
- const isImage = contentType.startsWith('image');
65
- if (isImage) {
66
- prefix = 'image_';
67
- predicate = ns.vcard('hasPhoto');
68
- } else {
69
- prefix = 'attachment_';
70
- predicate = ns.wf('attachment');
71
- }
72
- let n, pic;
73
- for (n = 0;; n++) {
74
- // Check filename is not used or invent new one
75
- pic = kb.sym(subject.dir().uri + filename);
76
- if (!kb.holds(subject, ns.vcard('hasPhoto'), pic)) {
77
- break;
78
- }
79
- filename = prefix + n + '.' + extension;
80
- }
81
- console.log('Putting ' + data.byteLength + ' bytes of ' + contentType + ' to ' + pic);
82
- kb.fetcher.webOperation('PUT', pic.uri, {
83
- data,
84
- contentType
85
- }).then(function (response) {
86
- if (!response.ok) {
87
- complain('Error uploading ' + pic + ':' + response.status);
88
- return;
89
- }
90
- console.log(' Upload: put OK: ' + pic);
91
- kb.add(subject, predicate, pic, subject.doc());
92
- kb.fetcher.putBack(subject.doc(), {
93
- contentType: 'text/turtle'
94
- }).then(function (_response) {
95
- if (isImage) {
96
- mugshotDiv.refresh();
97
- }
98
- }, function (err) {
99
- console.log(' Write back image link FAIL ' + pic + ', Error: ' + err);
100
- });
101
- });
102
- }
103
-
104
- // When a set of URIs are dropped on
105
- async function handleURIsDroppedOnMugshot(uris) {
106
- for (const u of uris) {
107
- let thing = $rdf.sym(u); // Attachment needs text label to disinguish I think not icon.
108
- console.log('Dropped on mugshot thing ' + thing); // icon was: UI.icons.iconBase + 'noun_25830.svg'
109
- if (u.startsWith('http') && u.indexOf('#') < 0) {
110
- // Plain document
111
- // Take a copy of a photo on the web:
112
- if (u.startsWith('http:')) {
113
- // because of browser mixed content stuff can't read http:
114
- thing = $rdf.sym('https:' + u.slice(5));
115
- }
116
- const options = {
117
- withCredentials: false,
118
- credentials: 'omit'
119
- };
120
- let result;
121
- try {
122
- result = await kb.fetcher.webOperation('GET', thing.uri, options);
123
- } catch (err) {
124
- complain(`Gallery: fetch error trying to read picture ${thing} data: ${err}`);
125
- handleDroppedThing(thing);
126
- return;
127
- }
128
- const contentType = result.headers.get('Content-Type');
129
- let pathEnd = thing.uri.split('/').slice(-1)[0]; // last segment as putative filename
130
- pathEnd = pathEnd.split('?')[0]; // chop off any query params
131
- const data = await result.arrayBuffer();
132
- if (!result.ok) {
133
- alert('Cant download, so will link image. ' + thing + ':' + result.status);
134
- handleDroppedThing(thing);
135
- return;
136
- }
137
- uploadFileToContact(pathEnd, contentType, data);
138
- return;
139
- } else {
140
- alert('Not a web document URI, cannot copy as picture: ' + thing);
141
- }
142
- handleDroppedThing(thing);
143
- }
144
- }
145
-
146
- // Drop an image file to set up the mugshot
147
- function droppedFileHandler(files) {
148
- for (let i = 0; i < files.length; i++) {
149
- const f = files[i];
150
- console.log(' contacts: Filename: ' + f.name + ', type: ' + (f.type || 'n/a') + ' size: ' + f.size + ' bytes, last modified: ' + (f.lastModifiedDate ? f.lastModifiedDate.toLocaleDateString() : 'n/a')); // See e.g. https://www.html5rocks.com/en/tutorials/file/dndfiles/
151
-
152
- // @@ Add: progress bar(s)
153
- const reader = new FileReader();
154
- reader.onload = function (theFile) {
155
- return function (e) {
156
- const data = e.target.result;
157
- console.log(' File read byteLength : ' + data.byteLength);
158
- const filename = encodeURIComponent(theFile.name);
159
- const contentType = theFile.type;
160
- uploadFileToContact(filename, contentType, data);
161
- };
162
- }(f);
163
- reader.readAsArrayBuffer(f);
164
- }
165
- }
166
- function elementForImage(image) {
167
- const img = dom.createElement('img');
168
- img.setAttribute('style', 'max-height: 10em; border-radius: 1em; margin: 0.7em;');
169
- UI.widgets.makeDropTarget(img, handleURIsDroppedOnMugshot, droppedFileHandler);
170
- if (image) {
171
- // img.setAttribute('src', image.uri) use token and works with NSS but not with CSS
172
- // we need to get image with authenticated fetch
173
- _solidLogic.store.fetcher._fetch(image.uri).then(function (response) {
174
- return response.blob();
175
- }).then(function (myBlob) {
176
- const objectURL = URL.createObjectURL(myBlob);
177
- img.setAttribute('src', objectURL);
178
- });
179
- UI.widgets.makeDraggable(img, image);
180
- }
181
- return img;
182
- }
183
- function syncMugshots() {
184
- let images = kb.each(subject, ns.vcard('hasPhoto')); // Priviledge vcard ones
185
- images.sort(); // arbitrary consistency
186
- images = images.slice(0, 5); // max number for the space
187
- if (images.length === 0) {
188
- mugshotDiv.innerHTML = ''; // strictly, don't remove it if already there
189
- if (editable) {
190
- mugshotDiv.appendChild(placeholder); // A head image to drop pictures on
191
- } // otherwise leave gallery empty .. nothing to see here folks
192
- } else {
193
- utils.syncTableToArray(mugshotDiv, images, elementForImage);
194
- }
195
- }
196
-
197
- // Good URI for a Camera picture
198
- function getImageDoc() {
199
- const imageDoc = kb.sym(subject.dir().uri + 'Image_' + Date.now() + '.png');
200
- return imageDoc;
201
- }
202
- // Store picture
203
- async function tookPicture(imageDoc) {
204
- if (imageDoc) {
205
- await linkToPicture(subject, imageDoc);
206
- syncMugshots();
207
- }
208
- }
209
- function trashCan() {
210
- const button = UI.widgets.button(dom, UI.icons.iconBase + 'noun_925021.svg', 'Drag here to delete');
211
- async function droppedURIHandler(uris) {
212
- const images = kb.each(subject, ns.vcard('hasPhoto')).map(x => x.uri);
213
- for (const uri of uris) {
214
- if (!images.includes(uri)) {
215
- alert('Only drop images in this contact onto this trash can.');
216
- return;
217
- }
218
- if (confirm(`Permanently DELETE image ${uri} completely?`)) {
219
- console.log('Unlinking image file ' + uri);
220
- await linkToPicture(subject, kb.sym(uri), true);
221
- try {
222
- console.log('Deleting image file ' + uri);
223
- await kb.fetcher.webOperation('DELETE', uri);
224
- } catch (err) {
225
- alert('Unable to delete picture! ' + err);
226
- }
227
- }
228
- }
229
- syncMugshots();
230
- }
231
- UI.widgets.makeDropTarget(button, droppedURIHandler, null);
232
- return button;
233
- }
234
- function renderImageTools() {
235
- const imageToolTable = dom.createElement('table');
236
- const row = imageToolTable.appendChild(dom.createElement('tr'));
237
- const left = row.appendChild(dom.createElement('td'));
238
- const middle = row.appendChild(dom.createElement('td'));
239
- const right = row.appendChild(dom.createElement('td'));
240
- left.appendChild(UI.media.cameraButton(dom, kb, getImageDoc, tookPicture)); // 20190812
241
- try {
242
- middle.appendChild(UI.widgets.fileUploadButtonDiv(dom, droppedFileHandler));
243
- } catch (e) {
244
- console.log('ignore fileUploadButtonDiv error for now', e);
245
- }
246
- right.appendChild(trashCan());
247
- return imageToolTable;
248
- }
249
-
250
- // Body of renderMugshotGallery
251
-
252
- const editable = kb.updater.editable(subject.doc().uri, kb);
253
- const galleryDiv = dom.createElement('div');
254
- const mugshotDiv = galleryDiv.appendChild(dom.createElement('div'));
255
- const placeholder = elementForImage();
256
- UI.widgets.setImage(placeholder, subject); // Fallback icon or get from web
257
- syncMugshots();
258
- mugshotDiv.refresh = syncMugshots;
259
- if (editable) {
260
- galleryDiv.appendChild(renderImageTools());
261
- }
262
- return galleryDiv;
263
- }
264
- //# sourceMappingURL=mugshotGallery.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mugshotGallery.js","names":["UI","_interopRequireWildcard","require","_solidLogic","_mimeTypes","_interopRequireDefault","$rdf","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ns","utils","kb","store","renderMugshotGallery","dom","subject","complain","message","console","log","galleryDiv","appendChild","widgets","errorMessageBlock","linkToPicture","pic","remove","link","st","vcard","doc","updater","update","err","msg","alert","handleDroppedThing","thing","fetcher","nowOrWhenFetched","ok","mess","types","findTypeURIs","ty","add","wf","uploadFileToContact","filename","contentType","data","extension","mime","lookup","prefix","predicate","isImage","startsWith","sym","dir","uri","holds","byteLength","webOperation","then","response","status","putBack","_response","mugshotDiv","refresh","handleURIsDroppedOnMugshot","uris","u","indexOf","slice","options","withCredentials","credentials","result","headers","pathEnd","split","arrayBuffer","droppedFileHandler","files","length","name","type","size","lastModifiedDate","toLocaleDateString","reader","FileReader","onload","theFile","target","encodeURIComponent","readAsArrayBuffer","elementForImage","image","img","createElement","setAttribute","makeDropTarget","_fetch","blob","myBlob","objectURL","URL","createObjectURL","makeDraggable","syncMugshots","images","each","sort","innerHTML","editable","placeholder","syncTableToArray","getImageDoc","imageDoc","Date","now","tookPicture","trashCan","button","icons","iconBase","droppedURIHandler","map","x","includes","confirm","renderImageTools","imageToolTable","row","left","middle","right","media","cameraButton","fileUploadButtonDiv","setImage"],"sources":["../src/mugshotGallery.js"],"sourcesContent":["import * as UI from 'solid-ui'\nimport { store } from 'solid-logic'\nimport mime from 'mime-types'\nimport * as $rdf from 'rdflib'\n\nconst ns = UI.ns\nconst utils = UI.utils\nconst kb = store\n\n/* Mugshot Gallery\n*\n* A widget for managing a set of images.\n* Make this a form field?\n*/\nexport function renderMugshotGallery (dom, subject) {\n function complain (message) {\n console.log(message)\n galleryDiv.appendChild(UI.widgets.errorMessageBlock(dom, message, 'pink'))\n }\n\n async function linkToPicture (subject, pic, remove) {\n const link = [\n $rdf.st(subject, ns.vcard('hasPhoto'), pic, subject.doc())\n ]\n try {\n if (remove) {\n await kb.updater.update(link, [])\n } else {\n await kb.updater.update([], link)\n }\n } catch (err) {\n const msg = ' Write back image link FAIL ' + pic + ', Error: ' + err\n console.log(msg)\n alert(msg)\n }\n }\n\n function handleDroppedThing (thing) {\n kb.fetcher.nowOrWhenFetched(thing.doc(), function (ok, mess) {\n if (!ok) {\n console.log('Error looking up dropped thing ' + thing + ': ' + mess)\n } else {\n const types = kb.findTypeURIs(thing)\n for (const ty in types) {\n console.log(' drop object type includes: ' + ty) // @@ Allow email addresses and phone numbers to be dropped?\n }\n console.log('Default: assume web page ' + thing) // icon was: UI.icons.iconBase + 'noun_25830.svg'\n kb.add(subject, ns.wf('attachment'), thing, subject.doc())\n // @@ refresh UI\n }\n })\n }\n\n function uploadFileToContact (filename, contentType, data) {\n // const fileExtension = filename.split('.').pop() // .toLowerCase()\n const extension = mime.extension(contentType)\n if (contentType !== mime.lookup(filename)) {\n filename += '_.' + extension\n console.log('MIME TYPE MISMATCH -- adding extension: ' + filename)\n }\n let prefix, predicate\n const isImage = contentType.startsWith('image')\n if (isImage) {\n prefix = 'image_'\n predicate = ns.vcard('hasPhoto')\n } else {\n prefix = 'attachment_'\n predicate = ns.wf('attachment')\n }\n\n let n, pic\n for (n = 0; ; n++) {\n // Check filename is not used or invent new one\n pic = kb.sym(subject.dir().uri + filename)\n if (!kb.holds(subject, ns.vcard('hasPhoto'), pic)) {\n break\n }\n filename = prefix + n + '.' + extension\n }\n console.log(\n 'Putting ' +\n data.byteLength +\n ' bytes of ' +\n contentType +\n ' to ' +\n pic\n )\n kb.fetcher\n .webOperation('PUT', pic.uri, {\n data,\n contentType\n })\n .then(function (response) {\n if (!response.ok) {\n complain('Error uploading ' + pic + ':' + response.status)\n return\n }\n console.log(' Upload: put OK: ' + pic)\n kb.add(subject, predicate, pic, subject.doc())\n kb.fetcher\n .putBack(subject.doc(), { contentType: 'text/turtle' })\n .then(\n function (_response) {\n if (isImage) {\n mugshotDiv.refresh()\n }\n },\n function (err) {\n console.log(\n ' Write back image link FAIL ' + pic + ', Error: ' + err\n )\n }\n )\n })\n }\n\n // When a set of URIs are dropped on\n async function handleURIsDroppedOnMugshot (uris) {\n for (const u of uris) {\n let thing = $rdf.sym(u) // Attachment needs text label to disinguish I think not icon.\n console.log('Dropped on mugshot thing ' + thing) // icon was: UI.icons.iconBase + 'noun_25830.svg'\n if (u.startsWith('http') && u.indexOf('#') < 0) {\n // Plain document\n // Take a copy of a photo on the web:\n if (u.startsWith('http:')) { // because of browser mixed content stuff can't read http:\n thing = $rdf.sym('https:' + u.slice(5))\n }\n const options = { withCredentials: false, credentials: 'omit' }\n let result\n try {\n result = await kb.fetcher.webOperation('GET', thing.uri, options)\n } catch (err) {\n complain(\n `Gallery: fetch error trying to read picture ${thing} data: ${err}`\n )\n handleDroppedThing(thing)\n return\n }\n const contentType = result.headers.get('Content-Type')\n let pathEnd = thing.uri.split('/').slice(-1)[0] // last segment as putative filename\n pathEnd = pathEnd.split('?')[0] // chop off any query params\n const data = await result.arrayBuffer()\n if (!result.ok) {\n alert('Cant download, so will link image. ' + thing + ':' + result.status)\n handleDroppedThing(thing)\n return\n }\n uploadFileToContact(pathEnd, contentType, data)\n return\n } else {\n alert(\n 'Not a web document URI, cannot copy as picture: ' + thing\n )\n }\n handleDroppedThing(thing)\n }\n }\n\n // Drop an image file to set up the mugshot\n function droppedFileHandler (files) {\n for (let i = 0; i < files.length; i++) {\n const f = files[i]\n console.log(\n ' contacts: Filename: ' +\n f.name +\n ', type: ' +\n (f.type || 'n/a') +\n ' size: ' +\n f.size +\n ' bytes, last modified: ' +\n (f.lastModifiedDate\n ? f.lastModifiedDate.toLocaleDateString()\n : 'n/a')\n ) // See e.g. https://www.html5rocks.com/en/tutorials/file/dndfiles/\n\n // @@ Add: progress bar(s)\n const reader = new FileReader()\n reader.onload = (function (theFile) {\n return function (e) {\n const data = e.target.result\n console.log(' File read byteLength : ' + data.byteLength)\n const filename = encodeURIComponent(theFile.name)\n const contentType = theFile.type\n uploadFileToContact(filename, contentType, data)\n }\n })(f)\n reader.readAsArrayBuffer(f)\n }\n }\n\n function elementForImage (image) {\n const img = dom.createElement('img')\n img.setAttribute(\n 'style',\n 'max-height: 10em; border-radius: 1em; margin: 0.7em;'\n )\n UI.widgets.makeDropTarget(\n img,\n handleURIsDroppedOnMugshot,\n droppedFileHandler\n )\n if (image) {\n // img.setAttribute('src', image.uri) use token and works with NSS but not with CSS\n // we need to get image with authenticated fetch\n store.fetcher._fetch(image.uri)\n .then(function (response) {\n return response.blob()\n })\n .then(function (myBlob) {\n const objectURL = URL.createObjectURL(myBlob)\n img.setAttribute('src', objectURL)\n })\n UI.widgets.makeDraggable(img, image)\n }\n return img\n }\n\n function syncMugshots () {\n let images = kb.each(subject, ns.vcard('hasPhoto')) // Priviledge vcard ones\n images.sort() // arbitrary consistency\n images = images.slice(0, 5) // max number for the space\n if (images.length === 0) {\n mugshotDiv.innerHTML = '' // strictly, don't remove it if already there\n if (editable) {\n mugshotDiv.appendChild(placeholder) // A head image to drop pictures on\n } // otherwise leave gallery empty .. nothing to see here folks\n } else {\n utils.syncTableToArray(mugshotDiv, images, elementForImage)\n }\n }\n\n // Good URI for a Camera picture\n function getImageDoc () {\n const imageDoc = kb.sym(\n subject.dir().uri + 'Image_' + Date.now() + '.png'\n )\n return imageDoc\n }\n // Store picture\n async function tookPicture (imageDoc) {\n if (imageDoc) {\n await linkToPicture(subject, imageDoc)\n syncMugshots()\n }\n }\n\n function trashCan () {\n const button = UI.widgets.button(\n dom,\n UI.icons.iconBase + 'noun_925021.svg',\n 'Drag here to delete'\n )\n async function droppedURIHandler (uris) {\n const images = kb\n .each(subject, ns.vcard('hasPhoto'))\n .map(x => x.uri)\n for (const uri of uris) {\n if (!images.includes(uri)) {\n alert('Only drop images in this contact onto this trash can.')\n return\n }\n if (confirm(`Permanently DELETE image ${uri} completely?`)) {\n console.log('Unlinking image file ' + uri)\n await linkToPicture(subject, kb.sym(uri), true)\n try {\n console.log('Deleting image file ' + uri)\n await kb.fetcher.webOperation('DELETE', uri)\n } catch (err) {\n alert('Unable to delete picture! ' + err)\n }\n }\n }\n syncMugshots()\n }\n UI.widgets.makeDropTarget(button, droppedURIHandler, null)\n return button\n }\n\n function renderImageTools () {\n const imageToolTable = dom.createElement('table')\n const row = imageToolTable.appendChild(dom.createElement('tr'))\n const left = row.appendChild(dom.createElement('td'))\n const middle = row.appendChild(dom.createElement('td'))\n const right = row.appendChild(dom.createElement('td'))\n\n left.appendChild(\n UI.media.cameraButton(dom, kb, getImageDoc, tookPicture)\n ) // 20190812\n try {\n middle.appendChild(\n UI.widgets.fileUploadButtonDiv(dom, droppedFileHandler)\n )\n } catch (e) {\n console.log('ignore fileUploadButtonDiv error for now', e)\n }\n right.appendChild(trashCan())\n return imageToolTable\n }\n\n // Body of renderMugshotGallery\n\n const editable = kb.updater.editable(subject.doc().uri, kb)\n const galleryDiv = dom.createElement('div')\n const mugshotDiv = galleryDiv.appendChild(dom.createElement('div'))\n const placeholder = elementForImage()\n UI.widgets.setImage(placeholder, subject) // Fallback icon or get from web\n syncMugshots()\n mugshotDiv.refresh = syncMugshots\n if (editable) {\n galleryDiv.appendChild(renderImageTools())\n }\n return galleryDiv\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,82 +0,0 @@
1
- import { NamedNode } from 'rdflib';
2
- export declare const AUTOCOMPLETE_LIMIT = 3000;
3
- interface Term {
4
- type: string;
5
- value: string;
6
- }
7
- interface Binding {
8
- subject: Term;
9
- name?: Term;
10
- location?: Term;
11
- coordinates?: Term;
12
- }
13
- type Bindings = Binding[];
14
- export type QueryParameters = {
15
- label: string;
16
- logo: string;
17
- searchByNameQuery?: string;
18
- searchByNameURI?: string;
19
- insitituteDetailsQuery?: string;
20
- endpoint?: string;
21
- class: object;
22
- };
23
- export declare const wikidataClasses: {
24
- Corporation: string;
25
- EducationalOrganization: string;
26
- GovernmentOrganization: string;
27
- MedicalOrganization: string;
28
- MusicGroup: string;
29
- NGO: string;
30
- Occupation: string;
31
- Project: string;
32
- SportsOrganization: string;
33
- };
34
- export declare function getPreferredLanguages(): Promise<string[]>;
35
- export declare const escoParameters: QueryParameters;
36
- export declare const dbpediaParameters: QueryParameters;
37
- export declare const wikidataParameters: {
38
- label: string;
39
- logo: string;
40
- endpoint: string;
41
- class: {
42
- AcademicInsitution: string;
43
- Enterprise: string;
44
- Business: string;
45
- NGO: string;
46
- CharitableOrganization: string;
47
- Insitute: string;
48
- };
49
- searchByNameQuery: string;
50
- insitituteDetailsQuery: string;
51
- };
52
- export declare function filterByLanguage(bindings: Bindings, languagePrefs: string[]): Bindings;
53
- export declare var wikidataClassMap: {
54
- 'http://www.wikidata.org/entity/Q15936437': any;
55
- 'http://www.wikidata.org/entity/Q1664720': any;
56
- 'http://www.wikidata.org/entity/Q43229': any;
57
- 'http://www.wikidata.org/entity/Q3918': any;
58
- 'http://www.wikidata.org/entity/Q170584': any;
59
- 'http://www.wikidata.org/entity/Q327333': any;
60
- 'http://www.wikidata.org/entity/Q2221906': any;
61
- };
62
- export declare var predMap: {
63
- class: any;
64
- sealImage: any;
65
- shortName: any;
66
- subsidiary: any;
67
- };
68
- export declare function loadFromBindings(kb: any, solidSubject: NamedNode, bindings: any, doc: any): void;
69
- export declare function queryESCODataByName(filter: string, theClass: NamedNode, queryTarget: QueryParameters): Promise<Bindings>;
70
- export declare function queryPublicDataByName(filter: string, theClass: NamedNode, queryTarget: QueryParameters): Promise<Bindings>;
71
- export declare function queryPublicDataSelect(sparql: string, queryTarget: QueryParameters): Promise<Bindings>;
72
- export declare function queryPublicDataConstruct(sparql: string, publicId: NamedNode, queryTarget: QueryParameters): Promise<void>;
73
- export declare function loadPublicDataThing(kb: any, subject: NamedNode, publicDataID: NamedNode): Promise<any>;
74
- export declare function getWikidataDetails(kb: any, solidSubject: NamedNode, publicDataID: NamedNode): Promise<void>;
75
- export declare function getWikidataDetailsOld(kb: any, solidSubject: NamedNode, publicDataID: NamedNode): Promise<void>;
76
- export declare function getWikidataLocation(kb: any, solidSubject: NamedNode, publicDataID: NamedNode): Promise<void>;
77
- export declare function getDbpediaDetails(kb: any, solidSubject: NamedNode, publicDataID: NamedNode): Promise<{
78
- uri: string;
79
- name: string | undefined;
80
- }[]>;
81
- export {};
82
- //# sourceMappingURL=publicData.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"publicData.d.ts","sourceRoot":"","sources":["../src/publicData.ts"],"names":[],"mappings":"AAIA,OAAO,EAAW,SAAS,EAAS,MAAM,QAAQ,CAAA;AAKlD,eAAO,MAAM,kBAAkB,OAAO,CAAA;AAItC,UAAU,IAAI;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED,UAAU,OAAO;IACf,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,QAAQ,CAAC,EAAE,IAAI,CAAA;IACf,WAAW,CAAC,EAAE,IAAI,CAAA;CACnB;AAED,KAAK,QAAQ,GAAG,OAAO,EAAE,CAAA;AAEzB,MAAM,MAAM,eAAe,GAC3B;IACE,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAID,eAAO,MAAM,eAAe;;;;;;;;;;CAW3B,CAAA;AAED,wBAAsB,qBAAqB,sBAE1C;AACD,eAAO,MAAM,cAAc,EAAC,eAO3B,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAC,eAS9B,CAAA;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;CAqC9B,CAAA;AAMD,wBAAgB,gBAAgB,CAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,QAAQ,CAuBvF;AAED,eAAO,IAAI,gBAAgB;;;;;;;;CAS1B,CAAA;AACD,eAAO,IAAI,OAAO;;;;;CAOjB,CAAA;AAED,wBAAgB,gBAAgB,CAAE,EAAE,KAAA,EAAE,YAAY,EAAC,SAAS,EAAE,QAAQ,KAAA,EAAE,GAAG,KAAA,QAoD1E;AAOD,wBAAsB,mBAAmB,CAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAC,SAAS,EAAE,WAAW,EAAE,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC,CA+B9H;AAID,wBAAsB,qBAAqB,CAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAC,SAAS,EAAE,WAAW,EAAE,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC,CAOhI;AAED,wBAAsB,qBAAqB,CAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC,CAuB5G;AAED,wBAAsB,wBAAwB,CAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBhI;AAED,wBAAsB,mBAAmB,CAAE,EAAE,KAAA,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,gBAmBzF;AAED,wBAAsB,kBAAkB,CAAE,EAAE,KAAA,EAAE,YAAY,EAAC,SAAS,EAAE,YAAY,EAAC,SAAS,iBAK3F;AAED,wBAAsB,qBAAqB,CAAE,EAAE,KAAA,EAAE,YAAY,EAAC,SAAS,EAAE,YAAY,EAAC,SAAS,iBAiB9F;AAED,wBAAsB,mBAAmB,CAAE,EAAE,KAAA,EAAE,YAAY,EAAC,SAAS,EAAE,YAAY,EAAC,SAAS,iBAgB5F;AAED,wBAAsB,iBAAiB,CAAE,EAAE,KAAA,EAAE,YAAY,EAAC,SAAS,EAAE,YAAY,EAAC,SAAS;;;KA0B1F"}