solid-ui 2.4.28-fda13292 → 2.4.29-ee8e69c2
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 +5177 -2392
- 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/lib/acl/access-controller.js +3 -4
- package/lib/acl/access-controller.js.map +1 -1
- package/lib/acl/access-groups.js +3 -4
- package/lib/acl/access-groups.js.map +1 -1
- package/lib/acl/acl-control.js +2 -2
- package/lib/acl/acl-control.js.map +1 -1
- package/lib/acl/acl.js +2 -2
- package/lib/acl/acl.js.map +1 -1
- package/lib/acl/add-agent-buttons.js +3 -4
- package/lib/acl/add-agent-buttons.js.map +1 -1
- package/lib/acl/index.js +2 -4
- package/lib/acl/index.js.map +1 -1
- package/lib/chat/bookmarks.js +2 -2
- package/lib/chat/bookmarks.js.map +1 -1
- package/lib/chat/chatLogic.js +3 -4
- package/lib/chat/chatLogic.js.map +1 -1
- package/lib/chat/dateFolder.js +5 -8
- package/lib/chat/dateFolder.js.map +1 -1
- package/lib/chat/infinite.js +27 -5
- package/lib/chat/infinite.js.map +1 -1
- package/lib/chat/keys.js +2 -2
- package/lib/chat/keys.js.map +1 -1
- package/lib/chat/message.js +6 -3
- package/lib/chat/message.js.map +1 -1
- package/lib/chat/messageTools.js +2 -3
- package/lib/chat/messageTools.js.map +1 -1
- package/lib/chat/signature.js +4 -6
- package/lib/chat/signature.js.map +1 -1
- package/lib/chat/thread.js +2 -2
- package/lib/chat/thread.js.map +1 -1
- package/lib/create/create.js +2 -2
- package/lib/create/create.js.map +1 -1
- package/lib/create/index.js +1 -2
- package/lib/create/index.js.map +1 -1
- package/lib/debug.js.map +1 -1
- package/lib/folders.js +2 -2
- package/lib/folders.js.map +1 -1
- package/lib/footer/index.js +2 -2
- package/lib/footer/index.js.map +1 -1
- package/lib/header/empty-profile.js +1 -2
- package/lib/header/empty-profile.js.map +1 -1
- package/lib/header/index.js +7 -2
- package/lib/header/index.js.map +1 -1
- package/lib/iconBase.js +3 -6
- package/lib/iconBase.js.map +1 -1
- package/lib/index.js +4 -4
- package/lib/index.js.map +1 -1
- package/lib/log.js +4 -5
- package/lib/log.js.map +1 -1
- package/lib/login/login.d.ts.map +1 -1
- package/lib/login/login.js +44 -17
- package/lib/login/login.js.map +1 -1
- package/lib/matrix/index.js +1 -2
- package/lib/matrix/index.js.map +1 -1
- package/lib/matrix/matrix.js +2 -2
- package/lib/matrix/matrix.js.map +1 -1
- package/lib/media/index.js +1 -2
- package/lib/media/index.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 +17 -13
- package/lib/media/media-capture.js.map +1 -1
- package/lib/messageArea.js +2 -2
- package/lib/messageArea.js.map +1 -1
- package/lib/noun_Camera_1618446_000000.js +1 -2
- package/lib/noun_Camera_1618446_000000.js.map +1 -1
- package/lib/ns.js +2 -2
- package/lib/ns.js.map +1 -1
- package/lib/pad.d.ts +2 -2
- package/lib/pad.d.ts.map +1 -1
- package/lib/pad.js +43 -17
- 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 +29 -28
- package/lib/participation.js.map +1 -1
- package/lib/preferences.js +3 -4
- package/lib/preferences.js.map +1 -1
- package/lib/signup/config-default.js +1 -2
- package/lib/signup/config-default.js.map +1 -1
- package/lib/signup/signup.js.map +1 -1
- package/lib/stories/decorators.js +1 -2
- package/lib/stories/decorators.js.map +1 -1
- package/lib/style.js +86 -95
- package/lib/style.js.map +1 -1
- package/lib/style_multiSelect.js +1 -2
- package/lib/style_multiSelect.js.map +1 -1
- package/lib/table.js +2 -2
- package/lib/table.js.map +1 -1
- package/lib/tabs.d.ts +125 -0
- package/lib/tabs.d.ts.map +1 -1
- package/lib/tabs.js +9 -17
- package/lib/tabs.js.map +1 -1
- package/lib/utils/headerFooterHelpers.js +2 -0
- package/lib/utils/headerFooterHelpers.js.map +1 -1
- package/lib/utils/index.js +2 -2
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/keyHelpers/accessData.js +4 -6
- package/lib/utils/keyHelpers/accessData.js.map +1 -1
- package/lib/utils/keyHelpers/acl.js +4 -6
- package/lib/utils/keyHelpers/acl.js.map +1 -1
- package/lib/utils/label.js +2 -2
- package/lib/utils/label.js.map +1 -1
- package/lib/versionInfo.js +6 -7
- package/lib/versionInfo.js.map +1 -1
- package/lib/widgets/buttons/iconLinks.js +1 -2
- package/lib/widgets/buttons/iconLinks.js.map +1 -1
- package/lib/widgets/buttons.js +7 -10
- package/lib/widgets/buttons.js.map +1 -1
- package/lib/widgets/dragAndDrop.js +20 -12
- 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 +10 -3
- package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompleteField.js +2 -2
- package/lib/widgets/forms/autocomplete/autocompleteField.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompletePicker.js +11 -7
- package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +1 -1
- package/lib/widgets/forms/autocomplete/language.js +10 -6
- package/lib/widgets/forms/autocomplete/language.js.map +1 -1
- package/lib/widgets/forms/autocomplete/publicData.js +16 -24
- package/lib/widgets/forms/autocomplete/publicData.js.map +1 -1
- package/lib/widgets/forms/basic.d.ts.map +1 -1
- package/lib/widgets/forms/basic.js +6 -7
- package/lib/widgets/forms/basic.js.map +1 -1
- package/lib/widgets/forms/comment.js +2 -2
- package/lib/widgets/forms/comment.js.map +1 -1
- package/lib/widgets/forms/fieldFunction.js +1 -2
- package/lib/widgets/forms/fieldFunction.js.map +1 -1
- package/lib/widgets/forms/fieldParams.js +5 -6
- package/lib/widgets/forms/fieldParams.js.map +1 -1
- package/lib/widgets/forms/formStyle.js +2 -2
- package/lib/widgets/forms/formStyle.js.map +1 -1
- package/lib/widgets/forms.js +14 -12
- package/lib/widgets/forms.js.map +1 -1
- package/lib/widgets/index.js +2 -2
- package/lib/widgets/index.js.map +1 -1
- package/lib/widgets/multiSelect.js +3 -4
- package/lib/widgets/multiSelect.js.map +1 -1
- package/lib/widgets/peoplePicker.js +18 -12
- package/lib/widgets/peoplePicker.js.map +1 -1
- package/lib/widgets/widgetHelpers.js +3 -6
- package/lib/widgets/widgetHelpers.js.map +1 -1
- package/package.json +24 -24
- package/lib/styleConstants.js +0 -36
- package/lib/styleConstants.js.map +0 -1
|
@@ -11,21 +11,21 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
|
|
|
11
11
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
12
12
|
var debug = _interopRequireWildcard(require("../debug"));
|
|
13
13
|
var _iconBase = require("../iconBase");
|
|
14
|
-
var style = _interopRequireWildcard(require("../style"));
|
|
15
14
|
var widgets = _interopRequireWildcard(require("../widgets"));
|
|
16
|
-
function _getRequireWildcardCache(
|
|
17
|
-
function _interopRequireWildcard(
|
|
15
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
16
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
17
|
+
/// /////////////////////////////////////////////
|
|
18
18
|
//
|
|
19
19
|
// Media input widget
|
|
20
20
|
//
|
|
21
21
|
//
|
|
22
22
|
// Workflow:
|
|
23
|
-
// The HTML5 functionality (on
|
|
24
|
-
// a realtime camera capture, OR a selection from images already
|
|
23
|
+
// The HTML5 functionality (on mobille) is to prompt for either
|
|
24
|
+
// a realtime camera capture , OR a selection from images already ont the device
|
|
25
25
|
// (eg camera roll).
|
|
26
26
|
//
|
|
27
|
-
// The solid alternative is to either take a
|
|
28
|
-
// or access
|
|
27
|
+
// The solid alternative is to either take a phtoto
|
|
28
|
+
// or access cemra roll (etc) OR to access solid cloud storage of favorite photo almbums.
|
|
29
29
|
// (Especially latest taken ones)
|
|
30
30
|
//
|
|
31
31
|
|
|
@@ -34,6 +34,10 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
34
34
|
var cameraIcon = _iconBase.icons.iconBase + 'noun_Camera_1618446_000000.svg'; // Get it from github
|
|
35
35
|
var retakeIcon = _iconBase.icons.iconBase + 'noun_479395.svg'; // Get it from github
|
|
36
36
|
|
|
37
|
+
var canvasWidth = '640';
|
|
38
|
+
var canvasHeight = '480';
|
|
39
|
+
var controlStyle = "border-radius: 0.5em; margin: 0.8em; width: ".concat(canvasWidth, "; height:").concat(canvasHeight, ";");
|
|
40
|
+
// const controlStyle = 'border-radius: 0.5em; margin: 0.8em; width: 320; height:240;'
|
|
37
41
|
var contentType = 'image/png';
|
|
38
42
|
|
|
39
43
|
/** A control to capture a picture using camera
|
|
@@ -78,7 +82,7 @@ function cameraCaptureControl(dom, store, getImageDoc, doneCallback) {
|
|
|
78
82
|
player = main.appendChild(dom.createElement('video'));
|
|
79
83
|
player.setAttribute('controls', '1');
|
|
80
84
|
player.setAttribute('autoplay', '1');
|
|
81
|
-
player.setAttribute('style',
|
|
85
|
+
player.setAttribute('style', controlStyle);
|
|
82
86
|
if (!navigator.mediaDevices) {
|
|
83
87
|
throw new Error('navigator.mediaDevices not available');
|
|
84
88
|
}
|
|
@@ -100,9 +104,9 @@ function cameraCaptureControl(dom, store, getImageDoc, doneCallback) {
|
|
|
100
104
|
function grabCanvas() {
|
|
101
105
|
// Draw the video frame to the canvas.
|
|
102
106
|
canvas = dom.createElement('canvas');
|
|
103
|
-
canvas.setAttribute('width',
|
|
104
|
-
canvas.setAttribute('height',
|
|
105
|
-
canvas.setAttribute('style',
|
|
107
|
+
canvas.setAttribute('width', canvasWidth);
|
|
108
|
+
canvas.setAttribute('height', canvasHeight);
|
|
109
|
+
canvas.setAttribute('style', controlStyle);
|
|
106
110
|
main.appendChild(canvas);
|
|
107
111
|
var context = canvas.getContext('2d');
|
|
108
112
|
context.drawImage(player, 0, 0, canvas.width, canvas.height);
|
|
@@ -159,9 +163,9 @@ function cameraCaptureControl(dom, store, getImageDoc, doneCallback) {
|
|
|
159
163
|
* @param {IndexedForumla} store - The quadstore to store data in
|
|
160
164
|
* @param {fuunction} getImageDoc - returns NN of the image file to be created
|
|
161
165
|
* @param {function<Node>} doneCallback - called with the image taken
|
|
162
|
-
* @returns {DomElement} - A div element with the
|
|
166
|
+
* @returns {DomElement} - A div element with the buton in it
|
|
163
167
|
*
|
|
164
|
-
* This
|
|
168
|
+
* This expacts the buttton to a large control when it is pressed
|
|
165
169
|
*/
|
|
166
170
|
|
|
167
171
|
function cameraButton(dom, store, getImageDoc, doneCallback) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-capture.js","names":["debug","_interopRequireWildcard","require","_iconBase","style","widgets","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","cameraIcon","icons","iconBase","retakeIcon","contentType","cameraCaptureControl","dom","store","getImageDoc","doneCallback","div","createElement","destination","imageBlob","player","canvas","table","appendChild","mainTR","main","setAttribute","buttons","cancelButton","addEventListener","_event","stopVideo","retakeButton","button","retake","visibility","shutterButton","grabCanvas","sendButton","continueButton","saveBlob","displayPlayer","controlStyle","navigator","mediaDevices","Error","getUserMedia","constraints","then","stream","srcObject","video","removeChild","canvasWidth","canvasHeight","context","getContext","drawImage","width","height","parentNode","toBlob","blob","msg","concat","type","size","log","reviewImage","getVideoTracks","forEach","track","stop","fetcher","webOperation","uri","data","_resp","err","alert","cameraButton","but","control","restoreButton","_x","_restoreButton","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee","imageDoc","wrap","_callee$","_context","prev","next"],"sources":["../../src/media/media-capture.ts"],"sourcesContent":["//\n// Media input widget\n//\n//\n// Workflow:\n// The HTML5 functionality (on mobile) is to prompt for either\n// a realtime camera capture, OR a selection from images already not the device\n// (eg camera roll).\n//\n// The solid alternative is to either take a photo\n// or access camera roll (etc) OR to access solid cloud storage of favorite photo albums.\n// (Especially latest taken ones)\n//\nimport * as debug from '../debug'\n\n/** @module mediaCapture */\n\nimport { icons } from '../iconBase'\nimport * as style from '../style'\nimport * as widgets from '../widgets'\nimport { IndexedFormula, NamedNode } from 'rdflib'\n\nconst cameraIcon = icons.iconBase + 'noun_Camera_1618446_000000.svg' // Get it from github\nconst retakeIcon = icons.iconBase + 'noun_479395.svg' // Get it from github\n\nconst contentType = 'image/png'\n\n/** A control to capture a picture using camera\n * @param {Docuemnt} dom - The Document object\n * @param {IndexedForumla} store - The quadstore to store data in\n * @param {NamedNode} getImageDoc() - NN of the image file to be created\n * @param {function} doneCallback - Called when a picture has been taken\n */\nexport function cameraCaptureControl (\n dom: HTMLDocument,\n store: IndexedFormula,\n getImageDoc: () => NamedNode,\n doneCallback: (imageDoc) => Promise<void>\n) {\n const div = dom.createElement('div')\n let destination, imageBlob, player, canvas\n\n const table = div.appendChild(dom.createElement('table'))\n const mainTR = table.appendChild(dom.createElement('tr'))\n const main = mainTR.appendChild(dom.createElement('td'))\n main.setAttribute('colspan', '4')\n\n const buttons = table.appendChild(dom.createElement('tr'))\n\n buttons\n .appendChild(dom.createElement('td')) // Cancel button\n .appendChild(widgets.cancelButton(dom))\n .addEventListener('click', _event => {\n stopVideo()\n doneCallback(null)\n })\n\n const retakeButton = buttons\n .appendChild(dom.createElement('td')) // Retake button\n .appendChild(widgets.button(dom, retakeIcon, 'Retake'))\n retakeButton.addEventListener('click', _event => {\n retake()\n })\n retakeButton.style.visibility = 'collapse' // Hide for now\n\n const shutterButton = buttons\n .appendChild(dom.createElement('td')) // Trigger capture button\n .appendChild(\n widgets.button(dom, icons.iconBase + 'noun_10636.svg', 'Snap')\n )\n shutterButton.addEventListener('click', grabCanvas)\n shutterButton.style.visibility = 'collapse' // Hide for now\n\n const sendButton = buttons\n .appendChild(dom.createElement('td')) // Confirm and save button\n .appendChild(widgets.continueButton(dom)) // @@ or send icon??\n sendButton.addEventListener('click', _event => {\n saveBlob(imageBlob, destination)\n })\n sendButton.style.visibility = 'collapse' // Hide for now\n\n function displayPlayer () {\n player = main.appendChild(dom.createElement('video'))\n player.setAttribute('controls', '1')\n player.setAttribute('autoplay', '1')\n player.setAttribute('style', style.controlStyle)\n if (!navigator.mediaDevices) {\n throw new Error('navigator.mediaDevices not available')\n }\n navigator.mediaDevices.getUserMedia(constraints).then(stream => {\n player.srcObject = stream\n shutterButton.style.visibility = 'visible' // Enable\n sendButton.style.visibility = 'collapse'\n retakeButton.style.visibility = 'collapse'\n })\n }\n\n const constraints = {\n video: true\n }\n\n function retake () {\n main.removeChild(canvas)\n displayPlayer() // Make new one as old one is stuck black\n }\n\n function grabCanvas () {\n // Draw the video frame to the canvas.\n canvas = dom.createElement('canvas')\n canvas.setAttribute('width', style.canvasWidth)\n canvas.setAttribute('height', style.canvasHeight)\n canvas.setAttribute('style', style.controlStyle)\n main.appendChild(canvas)\n\n const context = canvas.getContext('2d')\n context.drawImage(player, 0, 0, canvas.width, canvas.height)\n\n player.parentNode.removeChild(player)\n\n canvas.toBlob(blob => {\n const msg = `got blob type ${blob.type} size ${blob.size}`\n debug.log(msg)\n destination = getImageDoc()\n imageBlob = blob // save for review\n reviewImage()\n // alert(msg)\n }, contentType) // toBlob\n }\n\n function reviewImage () {\n sendButton.style.visibility = 'visible'\n retakeButton.style.visibility = 'visible'\n shutterButton.style.visibility = 'collapse' // Hide for now\n }\n\n function stopVideo () {\n if (player && player.srcObject) {\n player.srcObject.getVideoTracks().forEach(track => track.stop())\n }\n }\n function saveBlob (blob, destination) {\n const contentType = blob.type\n // if (!confirm('Save picture to ' + destination + ' ?')) return\n debug.log(\n 'Putting ' + blob.size + ' bytes of ' + contentType + ' to ' + destination\n )\n // @@ TODO Remove casting\n ;(store as any).fetcher\n .webOperation('PUT', destination.uri, {\n data: blob,\n contentType\n })\n .then(\n _resp => {\n debug.log('ok saved ' + destination)\n stopVideo()\n doneCallback(destination)\n },\n err => {\n stopVideo()\n alert(err)\n }\n )\n }\n\n // Attach the video stream to the video element and autoplay.\n displayPlayer()\n return div\n}\n\n/** A button to capture a picture using camera\n * @param {Docuemnt} dom - The Document object\n * @param {IndexedForumla} store - The quadstore to store data in\n * @param {fuunction} getImageDoc - returns NN of the image file to be created\n * @param {function<Node>} doneCallback - called with the image taken\n * @returns {DomElement} - A div element with the button in it\n *\n * This expects the button to a large control when it is pressed\n */\n\nexport function cameraButton (\n dom: HTMLDocument,\n store: IndexedFormula,\n getImageDoc: () => NamedNode,\n doneCallback: (imageDoc) => Promise<void>\n): HTMLElement {\n const div = dom.createElement('div')\n const but = widgets.button(dom, cameraIcon, 'Take picture')\n let control\n async function restoreButton (imageDoc) {\n div.removeChild(control)\n div.appendChild(but)\n doneCallback(imageDoc)\n }\n div.appendChild(but)\n but.addEventListener('click', _event => {\n div.removeChild(but)\n control = cameraCaptureControl(\n dom,\n store,\n getImageDoc,\n restoreButton\n )\n div.appendChild(control)\n })\n return div\n}\n"],"mappings":";;;;;;;;;;;AAaA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAIA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAH,uBAAA,CAAAC,OAAA;AACA,IAAAG,OAAA,GAAAJ,uBAAA,CAAAC,OAAA;AAAqC,SAAAI,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAN,wBAAAU,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAE,OAAA,CAAAF,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,cAAAN,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAnBrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;;AAOA,IAAMW,UAAU,GAAGC,eAAK,CAACC,QAAQ,GAAG,gCAAgC,EAAC;AACrE,IAAMC,UAAU,GAAGF,eAAK,CAACC,QAAQ,GAAG,iBAAiB,EAAC;;AAEtD,IAAME,WAAW,GAAG,WAAW;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,oBAAoBA,CAClCC,GAAiB,EACjBC,KAAqB,EACrBC,WAA4B,EAC5BC,YAAyC,EACzC;EACA,IAAMC,GAAG,GAAGJ,GAAG,CAACK,aAAa,CAAC,KAAK,CAAC;EACpC,IAAIC,WAAW,EAAEC,SAAS,EAAEC,MAAM,EAAEC,MAAM;EAE1C,IAAMC,KAAK,GAAGN,GAAG,CAACO,WAAW,CAACX,GAAG,CAACK,aAAa,CAAC,OAAO,CAAC,CAAC;EACzD,IAAMO,MAAM,GAAGF,KAAK,CAACC,WAAW,CAACX,GAAG,CAACK,aAAa,CAAC,IAAI,CAAC,CAAC;EACzD,IAAMQ,IAAI,GAAGD,MAAM,CAACD,WAAW,CAACX,GAAG,CAACK,aAAa,CAAC,IAAI,CAAC,CAAC;EACxDQ,IAAI,CAACC,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC;EAEjC,IAAMC,OAAO,GAAGL,KAAK,CAACC,WAAW,CAACX,GAAG,CAACK,aAAa,CAAC,IAAI,CAAC,CAAC;EAE1DU,OAAO,CACJJ,WAAW,CAACX,GAAG,CAACK,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;EAAA,CACrCM,WAAW,CAACxC,OAAO,CAAC6C,YAAY,CAAChB,GAAG,CAAC,CAAC,CACtCiB,gBAAgB,CAAC,OAAO,EAAE,UAAAC,MAAM,EAAI;IACnCC,SAAS,EAAE;IACXhB,YAAY,CAAC,IAAI,CAAC;EACpB,CAAC,CAAC;EAEJ,IAAMiB,YAAY,GAAGL,OAAO,CACzBJ,WAAW,CAACX,GAAG,CAACK,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;EAAA,CACrCM,WAAW,CAACxC,OAAO,CAACkD,MAAM,CAACrB,GAAG,EAAEH,UAAU,EAAE,QAAQ,CAAC,CAAC;EACzDuB,YAAY,CAACH,gBAAgB,CAAC,OAAO,EAAE,UAAAC,MAAM,EAAI;IAC/CI,MAAM,EAAE;EACV,CAAC,CAAC;EACFF,YAAY,CAAClD,KAAK,CAACqD,UAAU,GAAG,UAAU,EAAC;;EAE3C,IAAMC,aAAa,GAAGT,OAAO,CAC1BJ,WAAW,CAACX,GAAG,CAACK,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;EAAA,CACrCM,WAAW,CACVxC,OAAO,CAACkD,MAAM,CAACrB,GAAG,EAAEL,eAAK,CAACC,QAAQ,GAAG,gBAAgB,EAAE,MAAM,CAAC,CAC/D;EACH4B,aAAa,CAACP,gBAAgB,CAAC,OAAO,EAAEQ,UAAU,CAAC;EACnDD,aAAa,CAACtD,KAAK,CAACqD,UAAU,GAAG,UAAU,EAAC;;EAE5C,IAAMG,UAAU,GAAGX,OAAO,CACvBJ,WAAW,CAACX,GAAG,CAACK,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;EAAA,CACrCM,WAAW,CAACxC,OAAO,CAACwD,cAAc,CAAC3B,GAAG,CAAC,CAAC,EAAC;EAC5C0B,UAAU,CAACT,gBAAgB,CAAC,OAAO,EAAE,UAAAC,MAAM,EAAI;IAC7CU,QAAQ,CAACrB,SAAS,EAAED,WAAW,CAAC;EAClC,CAAC,CAAC;EACFoB,UAAU,CAACxD,KAAK,CAACqD,UAAU,GAAG,UAAU,EAAC;;EAEzC,SAASM,aAAaA,CAAA,EAAI;IACxBrB,MAAM,GAAGK,IAAI,CAACF,WAAW,CAACX,GAAG,CAACK,aAAa,CAAC,OAAO,CAAC,CAAC;IACrDG,MAAM,CAACM,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC;IACpCN,MAAM,CAACM,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC;IACpCN,MAAM,CAACM,YAAY,CAAC,OAAO,EAAE5C,KAAK,CAAC4D,YAAY,CAAC;IAChD,IAAI,CAACC,SAAS,CAACC,YAAY,EAAE;MAC3B,MAAM,IAAIC,KAAK,CAAC,sCAAsC,CAAC;IACzD;IACAF,SAAS,CAACC,YAAY,CAACE,YAAY,CAACC,WAAW,CAAC,CAACC,IAAI,CAAC,UAAAC,MAAM,EAAI;MAC9D7B,MAAM,CAAC8B,SAAS,GAAGD,MAAM;MACzBb,aAAa,CAACtD,KAAK,CAACqD,UAAU,GAAG,SAAS,EAAC;MAC3CG,UAAU,CAACxD,KAAK,CAACqD,UAAU,GAAG,UAAU;MACxCH,YAAY,CAAClD,KAAK,CAACqD,UAAU,GAAG,UAAU;IAC5C,CAAC,CAAC;EACJ;EAEA,IAAMY,WAAW,GAAG;IAClBI,KAAK,EAAE;EACT,CAAC;EAED,SAASjB,MAAMA,CAAA,EAAI;IACjBT,IAAI,CAAC2B,WAAW,CAAC/B,MAAM,CAAC;IACxBoB,aAAa,EAAE,EAAC;EAClB;;EAEA,SAASJ,UAAUA,CAAA,EAAI;IACrB;IACAhB,MAAM,GAAGT,GAAG,CAACK,aAAa,CAAC,QAAQ,CAAC;IACpCI,MAAM,CAACK,YAAY,CAAC,OAAO,EAAE5C,KAAK,CAACuE,WAAW,CAAC;IAC/ChC,MAAM,CAACK,YAAY,CAAC,QAAQ,EAAE5C,KAAK,CAACwE,YAAY,CAAC;IACjDjC,MAAM,CAACK,YAAY,CAAC,OAAO,EAAE5C,KAAK,CAAC4D,YAAY,CAAC;IAChDjB,IAAI,CAACF,WAAW,CAACF,MAAM,CAAC;IAExB,IAAMkC,OAAO,GAAGlC,MAAM,CAACmC,UAAU,CAAC,IAAI,CAAC;IACvCD,OAAO,CAACE,SAAS,CAACrC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAEC,MAAM,CAACqC,KAAK,EAAErC,MAAM,CAACsC,MAAM,CAAC;IAE5DvC,MAAM,CAACwC,UAAU,CAACR,WAAW,CAAChC,MAAM,CAAC;IAErCC,MAAM,CAACwC,MAAM,CAAC,UAAAC,IAAI,EAAI;MACpB,IAAMC,GAAG,oBAAAC,MAAA,CAAoBF,IAAI,CAACG,IAAI,YAAAD,MAAA,CAASF,IAAI,CAACI,IAAI,CAAE;MAC1DxF,KAAK,CAACyF,GAAG,CAACJ,GAAG,CAAC;MACd7C,WAAW,GAAGJ,WAAW,EAAE;MAC3BK,SAAS,GAAG2C,IAAI,EAAC;MACjBM,WAAW,EAAE;MACb;IACF,CAAC,EAAE1D,WAAW,CAAC,EAAC;EAClB;;EAEA,SAAS0D,WAAWA,CAAA,EAAI;IACtB9B,UAAU,CAACxD,KAAK,CAACqD,UAAU,GAAG,SAAS;IACvCH,YAAY,CAAClD,KAAK,CAACqD,UAAU,GAAG,SAAS;IACzCC,aAAa,CAACtD,KAAK,CAACqD,UAAU,GAAG,UAAU,EAAC;EAC9C;;EAEA,SAASJ,SAASA,CAAA,EAAI;IACpB,IAAIX,MAAM,IAAIA,MAAM,CAAC8B,SAAS,EAAE;MAC9B9B,MAAM,CAAC8B,SAAS,CAACmB,cAAc,EAAE,CAACC,OAAO,CAAC,UAAAC,KAAK;QAAA,OAAIA,KAAK,CAACC,IAAI,EAAE;MAAA,EAAC;IAClE;EACF;EACA,SAAShC,QAAQA,CAAEsB,IAAI,EAAE5C,WAAW,EAAE;IACpC,IAAMR,WAAW,GAAGoD,IAAI,CAACG,IAAI;IAC7B;IACAvF,KAAK,CAACyF,GAAG,CACP,UAAU,GAAGL,IAAI,CAACI,IAAI,GAAG,YAAY,GAAGxD,WAAW,GAAG,MAAM,GAAGQ,WAAW;IAE5E;IAAA;IACEL,KAAK,CAAS4D,OAAO,CACpBC,YAAY,CAAC,KAAK,EAAExD,WAAW,CAACyD,GAAG,EAAE;MACpCC,IAAI,EAAEd,IAAI;MACVpD,WAAW,EAAXA;IACF,CAAC,CAAC,CACDsC,IAAI,CACH,UAAA6B,KAAK,EAAI;MACPnG,KAAK,CAACyF,GAAG,CAAC,WAAW,GAAGjD,WAAW,CAAC;MACpCa,SAAS,EAAE;MACXhB,YAAY,CAACG,WAAW,CAAC;IAC3B,CAAC,EACD,UAAA4D,GAAG,EAAI;MACL/C,SAAS,EAAE;MACXgD,KAAK,CAACD,GAAG,CAAC;IACZ,CAAC,CACF;EACL;;EAEA;EACArC,aAAa,EAAE;EACf,OAAOzB,GAAG;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO,SAASgE,YAAYA,CAC1BpE,GAAiB,EACjBC,KAAqB,EACrBC,WAA4B,EAC5BC,YAAyC,EAC5B;EACb,IAAMC,GAAG,GAAGJ,GAAG,CAACK,aAAa,CAAC,KAAK,CAAC;EACpC,IAAMgE,GAAG,GAAGlG,OAAO,CAACkD,MAAM,CAACrB,GAAG,EAAEN,UAAU,EAAE,cAAc,CAAC;EAC3D,IAAI4E,OAAO;EAAA,SACIC,aAAaA,CAAAC,EAAA;IAAA,OAAAC,cAAA,CAAAC,KAAA,OAAAC,SAAA;EAAA;EAAA,SAAAF,eAAA;IAAAA,cAAA,OAAAG,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAA5B,SAAAC,QAA8BC,QAAQ;MAAA,OAAAH,YAAA,YAAAI,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YACpCjF,GAAG,CAACoC,WAAW,CAAC8B,OAAO,CAAC;YACxBlE,GAAG,CAACO,WAAW,CAAC0D,GAAG,CAAC;YACpBlE,YAAY,CAAC6E,QAAQ,CAAC;UAAA;UAAA;YAAA,OAAAG,QAAA,CAAAvB,IAAA;QAAA;MAAA,GAAAmB,OAAA;IAAA,CACvB;IAAA,OAAAN,cAAA,CAAAC,KAAA,OAAAC,SAAA;EAAA;EACDvE,GAAG,CAACO,WAAW,CAAC0D,GAAG,CAAC;EACpBA,GAAG,CAACpD,gBAAgB,CAAC,OAAO,EAAE,UAAAC,MAAM,EAAI;IACtCd,GAAG,CAACoC,WAAW,CAAC6B,GAAG,CAAC;IACpBC,OAAO,GAAGvE,oBAAoB,CAC5BC,GAAG,EACHC,KAAK,EACLC,WAAW,EACXqE,aAAa,CACd;IACDnE,GAAG,CAACO,WAAW,CAAC2D,OAAO,CAAC;EAC1B,CAAC,CAAC;EACF,OAAOlE,GAAG;AACZ"}
|
|
1
|
+
{"version":3,"file":"media-capture.js","names":["debug","_interopRequireWildcard","require","_iconBase","widgets","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","cameraIcon","icons","iconBase","retakeIcon","canvasWidth","canvasHeight","controlStyle","concat","contentType","cameraCaptureControl","dom","store","getImageDoc","doneCallback","div","createElement","destination","imageBlob","player","canvas","table","appendChild","mainTR","main","setAttribute","buttons","cancelButton","addEventListener","_event","stopVideo","retakeButton","button","retake","style","visibility","shutterButton","grabCanvas","sendButton","continueButton","saveBlob","displayPlayer","navigator","mediaDevices","Error","getUserMedia","constraints","then","stream","srcObject","video","removeChild","context","getContext","drawImage","width","height","parentNode","toBlob","blob","msg","type","size","log","reviewImage","getVideoTracks","forEach","track","stop","fetcher","webOperation","uri","data","_resp","err","alert","cameraButton","but","control","restoreButton","_x","_restoreButton","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee","imageDoc","wrap","_callee$","_context","prev","next"],"sources":["../../src/media/media-capture.ts"],"sourcesContent":["/// /////////////////////////////////////////////\n//\n// Media input widget\n//\n//\n// Workflow:\n// The HTML5 functionality (on mobille) is to prompt for either\n// a realtime camera capture , OR a selection from images already ont the device\n// (eg camera roll).\n//\n// The solid alternative is to either take a phtoto\n// or access cemra roll (etc) OR to access solid cloud storage of favorite photo almbums.\n// (Especially latest taken ones)\n//\nimport * as debug from '../debug'\n\n/** @module mediaCapture */\n\nimport { icons } from '../iconBase'\nimport * as widgets from '../widgets'\nimport { IndexedFormula, NamedNode } from 'rdflib'\n\nconst cameraIcon = icons.iconBase + 'noun_Camera_1618446_000000.svg' // Get it from github\nconst retakeIcon = icons.iconBase + 'noun_479395.svg' // Get it from github\n\nconst canvasWidth = '640'\nconst canvasHeight = '480'\n\nconst controlStyle = `border-radius: 0.5em; margin: 0.8em; width: ${canvasWidth}; height:${canvasHeight};`\n// const controlStyle = 'border-radius: 0.5em; margin: 0.8em; width: 320; height:240;'\nconst contentType = 'image/png'\n\n/** A control to capture a picture using camera\n * @param {Docuemnt} dom - The Document object\n * @param {IndexedForumla} store - The quadstore to store data in\n * @param {NamedNode} getImageDoc() - NN of the image file to be created\n * @param {function} doneCallback - Called when a picture has been taken\n */\nexport function cameraCaptureControl (\n dom: HTMLDocument,\n store: IndexedFormula,\n getImageDoc: () => NamedNode,\n doneCallback: (imageDoc) => Promise<void>\n) {\n const div = dom.createElement('div')\n let destination, imageBlob, player, canvas\n\n const table = div.appendChild(dom.createElement('table'))\n const mainTR = table.appendChild(dom.createElement('tr'))\n const main = mainTR.appendChild(dom.createElement('td'))\n main.setAttribute('colspan', '4')\n\n const buttons = table.appendChild(dom.createElement('tr'))\n\n buttons\n .appendChild(dom.createElement('td')) // Cancel button\n .appendChild(widgets.cancelButton(dom))\n .addEventListener('click', _event => {\n stopVideo()\n doneCallback(null)\n })\n\n const retakeButton = buttons\n .appendChild(dom.createElement('td')) // Retake button\n .appendChild(widgets.button(dom, retakeIcon, 'Retake'))\n retakeButton.addEventListener('click', _event => {\n retake()\n })\n retakeButton.style.visibility = 'collapse' // Hide for now\n\n const shutterButton = buttons\n .appendChild(dom.createElement('td')) // Trigger capture button\n .appendChild(\n widgets.button(dom, icons.iconBase + 'noun_10636.svg', 'Snap')\n )\n shutterButton.addEventListener('click', grabCanvas)\n shutterButton.style.visibility = 'collapse' // Hide for now\n\n const sendButton = buttons\n .appendChild(dom.createElement('td')) // Confirm and save button\n .appendChild(widgets.continueButton(dom)) // @@ or send icon??\n sendButton.addEventListener('click', _event => {\n saveBlob(imageBlob, destination)\n })\n sendButton.style.visibility = 'collapse' // Hide for now\n\n function displayPlayer () {\n player = main.appendChild(dom.createElement('video'))\n player.setAttribute('controls', '1')\n player.setAttribute('autoplay', '1')\n player.setAttribute('style', controlStyle)\n if (!navigator.mediaDevices) {\n throw new Error('navigator.mediaDevices not available')\n }\n navigator.mediaDevices.getUserMedia(constraints).then(stream => {\n player.srcObject = stream\n shutterButton.style.visibility = 'visible' // Enable\n sendButton.style.visibility = 'collapse'\n retakeButton.style.visibility = 'collapse'\n })\n }\n\n const constraints = {\n video: true\n }\n\n function retake () {\n main.removeChild(canvas)\n displayPlayer() // Make new one as old one is stuck black\n }\n\n function grabCanvas () {\n // Draw the video frame to the canvas.\n canvas = dom.createElement('canvas')\n canvas.setAttribute('width', canvasWidth)\n canvas.setAttribute('height', canvasHeight)\n canvas.setAttribute('style', controlStyle)\n main.appendChild(canvas)\n\n const context = canvas.getContext('2d')\n context.drawImage(player, 0, 0, canvas.width, canvas.height)\n\n player.parentNode.removeChild(player)\n\n canvas.toBlob(blob => {\n const msg = `got blob type ${blob.type} size ${blob.size}`\n debug.log(msg)\n destination = getImageDoc()\n imageBlob = blob // save for review\n reviewImage()\n // alert(msg)\n }, contentType) // toBlob\n }\n\n function reviewImage () {\n sendButton.style.visibility = 'visible'\n retakeButton.style.visibility = 'visible'\n shutterButton.style.visibility = 'collapse' // Hide for now\n }\n\n function stopVideo () {\n if (player && player.srcObject) {\n player.srcObject.getVideoTracks().forEach(track => track.stop())\n }\n }\n function saveBlob (blob, destination) {\n const contentType = blob.type\n // if (!confirm('Save picture to ' + destination + ' ?')) return\n debug.log(\n 'Putting ' + blob.size + ' bytes of ' + contentType + ' to ' + destination\n )\n // @@ TODO Remove casting\n ;(store as any).fetcher\n .webOperation('PUT', destination.uri, {\n data: blob,\n contentType\n })\n .then(\n _resp => {\n debug.log('ok saved ' + destination)\n stopVideo()\n doneCallback(destination)\n },\n err => {\n stopVideo()\n alert(err)\n }\n )\n }\n\n // Attach the video stream to the video element and autoplay.\n displayPlayer()\n return div\n}\n\n/** A button to capture a picture using camera\n * @param {Docuemnt} dom - The Document object\n * @param {IndexedForumla} store - The quadstore to store data in\n * @param {fuunction} getImageDoc - returns NN of the image file to be created\n * @param {function<Node>} doneCallback - called with the image taken\n * @returns {DomElement} - A div element with the buton in it\n *\n * This expacts the buttton to a large control when it is pressed\n */\n\nexport function cameraButton (\n dom: HTMLDocument,\n store: IndexedFormula,\n getImageDoc: () => NamedNode,\n doneCallback: (imageDoc) => Promise<void>\n): HTMLElement {\n const div = dom.createElement('div')\n const but = widgets.button(dom, cameraIcon, 'Take picture')\n let control\n async function restoreButton (imageDoc) {\n div.removeChild(control)\n div.appendChild(but)\n doneCallback(imageDoc)\n }\n div.appendChild(but)\n but.addEventListener('click', _event => {\n div.removeChild(but)\n control = cameraCaptureControl(\n dom,\n store,\n getImageDoc,\n restoreButton\n )\n div.appendChild(control)\n })\n return div\n}\n"],"mappings":"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"}
|
package/lib/messageArea.js
CHANGED
|
@@ -13,8 +13,8 @@ var rdf = _interopRequireWildcard(require("rdflib"));
|
|
|
13
13
|
var style = _interopRequireWildcard(require("./style"));
|
|
14
14
|
var utils = _interopRequireWildcard(require("./utils"));
|
|
15
15
|
var widgets = _interopRequireWildcard(require("./widgets"));
|
|
16
|
-
function _getRequireWildcardCache(
|
|
17
|
-
function _interopRequireWildcard(
|
|
16
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
17
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
18
18
|
// Common code for a discussion are a of messages about something
|
|
19
19
|
//
|
|
20
20
|
|
package/lib/messageArea.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messageArea.js","names":["_iconBase","require","login","_interopRequireWildcard","_solidLogic","ns","rdf","style","utils","widgets","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","UI","icons","messageArea","dom","kb","subject","messageStore","options","solidLogicSingleton","store","doc","WF","Namespace","DCT","newestFirst","messageBodyStyle","div","createElement","messageTable","me","updater","anchor","text","term","a","uri","setAttribute","addEventListener","openHrefInOutlineMode","textContent","mention","message","pre","appendChild","createTextNode","announce","log","warn","error","newMessageForm","form","lhs","middle","rhs","AJAR_date","sendMessage","field","disabled","sts","now","Date","timestamp","getTime","dateStamp","sym","push","Statement","wf","sioc","literal","value","foaf","sendComplete","success","body","errorMessageBlock","bindings","renderMessage","update","sendButton","turnOnInput","creatorAndDate","innerHTML","rows","e","keyCode","altKey","button","iconBase","buttonStyle","context","ensureLoggedIn","then","nick","person","s","any","label","td1","creator","date","nickAnchor","fetcher","nowOrWhenFetched","undefined","_ok","_body","syncMessages","about","displayed","ele","ele2","firstChild","nextSibling","AJAR_subject","messages","each","stored","forEach","m","addMessage","removeChild","deleteMessage","deletions","statementsMatching","concat","ok","fresh","content","dateString","tr","done","insertBefore","shortDate","td2","td3","delButton","_event","cancelButton","sureButton","query","Query","v","vs","x","vars","variable","pat","add","msg","dct","doneQuery","refresh"],"sources":["../src/messageArea.js"],"sourcesContent":["// Common code for a discussion are a of messages about something\n//\n\nimport { icons } from './iconBase'\nimport * as login from './login/login'\nimport { solidLogicSingleton } from 'solid-logic'\nimport * as ns from './ns'\nimport * as rdf from 'rdflib' // pull in first avoid cross-refs\nimport * as style from './style'\nimport * as utils from './utils'\nimport * as widgets from './widgets'\n\nconst UI = { icons, ns, rdf, style, widgets }\n\nexport function messageArea (dom, kb, subject, messageStore, options) {\n kb = kb || solidLogicSingleton.store\n messageStore = messageStore.doc() // No hash\n const ns = UI.ns\n const WF = rdf.Namespace('http://www.w3.org/2005/01/wf/flow#')\n const DCT = rdf.Namespace('http://purl.org/dc/terms/')\n\n options = options || {}\n\n const newestFirst = !!options.newestFirst\n\n const messageBodyStyle =\n 'white-space: pre-wrap; width: 90%; font-size:100%; border: 0.07em solid #eee; padding: .2em 0.5em; margin: 0.1em 1em 0.1em 1em;'\n // 'font-size: 100%; margin: 0.1em 1em 0.1em 1em; background-color: white; white-space: pre-wrap; padding: 0.1em;'\n\n const div = dom.createElement('div')\n // eslint-disable-next-line prefer-const\n let messageTable // Shared by initial build and addMessageFromBindings\n\n let me\n\n const updater = solidLogicSingleton.store.updater\n\n const anchor = function (text, term) {\n // If there is no link return an element anyway\n const a = dom.createElement('a')\n if (term && term.uri) {\n a.setAttribute('href', term.uri)\n a.addEventListener('click', UI.widgets.openHrefInOutlineMode, true)\n a.setAttribute('style', 'color: #3B5998; text-decoration: none; ') // font-weight: bold\n }\n a.textContent = text\n return a\n }\n\n const mention = function mention (message, style) {\n const pre = dom.createElement('pre')\n pre.setAttribute('style', style || 'color: grey')\n div.appendChild(pre)\n pre.appendChild(dom.createTextNode(message))\n return pre\n }\n\n const announce = {\n log: function (message) {\n mention(message, 'color: #111;')\n },\n warn: function (message) {\n mention(message, 'color: #880;')\n },\n error: function (message) {\n mention(message, 'color: #800;')\n }\n }\n\n // Form for a new message\n //\n const newMessageForm = function () {\n const form = dom.createElement('tr')\n const lhs = dom.createElement('td')\n const middle = dom.createElement('td')\n const rhs = dom.createElement('td')\n form.appendChild(lhs)\n form.appendChild(middle)\n form.appendChild(rhs)\n form.AJAR_date = '9999-01-01T00:00:00Z' // ISO format for field sort\n\n const sendMessage = function () {\n // titlefield.setAttribute('class','pendingedit')\n // titlefield.disabled = true\n field.setAttribute('class', 'pendingedit')\n field.disabled = true\n const sts = []\n const now = new Date()\n const timestamp = '' + now.getTime()\n const dateStamp = rdf.term(now)\n // http://www.w3schools.com/jsref/jsref_obj_date.asp\n const message = kb.sym(messageStore.uri + '#' + 'Msg' + timestamp)\n\n sts.push(\n new rdf.Statement(subject, ns.wf('message'), message, messageStore)\n )\n sts.push(\n new rdf.Statement(\n message,\n ns.sioc('content'),\n kb.literal(field.value),\n messageStore\n )\n )\n sts.push(\n new rdf.Statement(message, DCT('created'), dateStamp, messageStore)\n )\n if (me) {\n sts.push(\n new rdf.Statement(message, ns.foaf('maker'), me, messageStore)\n )\n }\n\n const sendComplete = function (uri, success, body) {\n if (!success) {\n form.appendChild(\n UI.widgets.errorMessageBlock(dom, 'Error writing message: ' + body)\n )\n } else {\n const bindings = {\n '?msg': message,\n '?content': kb.literal(field.value),\n '?date': dateStamp,\n '?creator': me\n }\n renderMessage(bindings, false) // not green\n\n field.value = '' // clear from out for reuse\n field.setAttribute('class', '')\n field.disabled = false\n }\n }\n updater.update([], sts, sendComplete)\n }\n form.appendChild(dom.createElement('br'))\n\n let field, sendButton\n const turnOnInput = function () {\n creatorAndDate(lhs, me, '', null)\n\n field = dom.createElement('textarea')\n middle.innerHTML = ''\n middle.appendChild(field)\n field.rows = 3\n // field.cols = 40\n field.setAttribute('style', messageBodyStyle + 'background-color: #eef;')\n\n field.addEventListener(\n 'keyup',\n function (e) {\n // User preference?\n if (e.keyCode === 13) {\n if (!e.altKey) {\n // Alt-Enter just adds a new line\n sendMessage()\n }\n }\n },\n false\n )\n\n rhs.innerHTML = ''\n sendButton = UI.widgets.button(\n dom,\n UI.icons.iconBase + 'noun_383448.svg',\n 'Send'\n )\n sendButton.setAttribute('style', UI.style.buttonStyle + 'float: right;')\n sendButton.addEventListener('click', sendMessage, false)\n rhs.appendChild(sendButton)\n }\n\n const context = { div: middle, dom }\n login.ensureLoggedIn(context).then(context => {\n me = context.me\n turnOnInput()\n })\n\n return form\n }\n\n function nick (person) {\n const s = solidLogicSingleton.store.any(person, UI.ns.foaf('nick'))\n if (s) return '' + s.value\n return '' + utils.label(person)\n }\n\n function creatorAndDate (td1, creator, date, message) {\n const nickAnchor = td1.appendChild(anchor(nick(creator), creator))\n if (creator.uri) {\n solidLogicSingleton.store.fetcher.nowOrWhenFetched(creator.doc(), undefined, function (\n _ok,\n _body\n ) {\n nickAnchor.textContent = nick(creator)\n })\n }\n td1.appendChild(dom.createElement('br'))\n td1.appendChild(anchor(date, message))\n }\n\n // ///////////////////////////////////////////////////////////////////////\n\n function syncMessages (about, messageTable) {\n const displayed = {}\n let ele, ele2\n for (ele = messageTable.firstChild; ele; ele = ele.nextSibling) {\n if (ele.AJAR_subject) {\n displayed[ele.AJAR_subject.uri] = true\n }\n }\n const messages = kb.each(about, ns.wf('message'))\n const stored = {}\n messages.forEach(function (m) {\n stored[m.uri] = true\n if (!displayed[m.uri]) {\n addMessage(m)\n }\n })\n\n // eslint-disable-next-line space-in-parens\n for (ele = messageTable.firstChild; ele; ) {\n ele2 = ele.nextSibling\n if (ele.AJAR_subject && !stored[ele.AJAR_subject.uri]) {\n messageTable.removeChild(ele)\n }\n ele = ele2\n }\n }\n\n const deleteMessage = function (message) {\n const deletions = kb\n .statementsMatching(message)\n .concat(kb.statementsMatching(undefined, undefined, message))\n updater.update(deletions, [], function (uri, ok, body) {\n if (!ok) {\n announce.error('Cant delete messages:' + body)\n } else {\n syncMessages(subject, messageTable)\n }\n })\n }\n\n const addMessage = function (message) {\n const bindings = {\n '?msg': message,\n '?creator': kb.any(message, ns.foaf('maker')),\n '?date': kb.any(message, DCT('created')),\n '?content': kb.any(message, ns.sioc('content'))\n }\n renderMessage(bindings, true) // fresh from elsewhere\n }\n\n const renderMessage = function (bindings, fresh) {\n const creator = bindings['?creator']\n const message = bindings['?msg']\n const date = bindings['?date']\n const content = bindings['?content']\n\n const dateString = date.value\n const tr = dom.createElement('tr')\n tr.AJAR_date = dateString\n tr.AJAR_subject = message\n\n let done = false\n for (let ele = messageTable.firstChild; ; ele = ele.nextSibling) {\n if (!ele) {\n // empty\n break\n }\n if (\n (dateString > ele.AJAR_date && newestFirst) ||\n (dateString < ele.AJAR_date && !newestFirst)\n ) {\n messageTable.insertBefore(tr, ele)\n done = true\n break\n }\n }\n if (!done) {\n messageTable.appendChild(tr)\n }\n\n const td1 = dom.createElement('td')\n tr.appendChild(td1)\n creatorAndDate(td1, creator, UI.widgets.shortDate(dateString), message)\n\n const td2 = dom.createElement('td')\n tr.appendChild(td2)\n const pre = dom.createElement('p')\n pre.setAttribute(\n 'style',\n messageBodyStyle +\n (fresh ? 'background-color: #e8ffe8;' : 'background-color: #white;')\n )\n td2.appendChild(pre)\n pre.textContent = content.value\n\n const td3 = dom.createElement('td')\n tr.appendChild(td3)\n\n const delButton = dom.createElement('button')\n td3.appendChild(delButton)\n delButton.textContent = '-'\n\n tr.setAttribute('class', 'hoverControl') // See tabbedtab.css (sigh global CSS)\n delButton.setAttribute('class', 'hoverControlHide')\n delButton.setAttribute('style', 'color: red;')\n delButton.addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(delButton) // Ask -- are you sure?\n const cancelButton = dom.createElement('button')\n cancelButton.textContent = 'cancel'\n td3.appendChild(cancelButton).addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(sureButton)\n td3.removeChild(cancelButton)\n td3.appendChild(delButton)\n },\n false\n )\n const sureButton = dom.createElement('button')\n sureButton.textContent = 'Delete message'\n td3.appendChild(sureButton).addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(sureButton)\n td3.removeChild(cancelButton)\n deleteMessage(message)\n },\n false\n )\n },\n false\n )\n }\n\n // Messages with date, author etc\n\n messageTable = dom.createElement('table')\n messageTable.fresh = false\n div.appendChild(messageTable)\n messageTable.setAttribute('style', 'width: 100%;') // fill that div!\n\n const tr = newMessageForm()\n if (newestFirst) {\n messageTable.insertBefore(tr, messageTable.firstChild) // If newestFirst\n } else {\n messageTable.appendChild(tr) // not newestFirst\n }\n\n let query\n // Do this with a live query to pull in messages from web\n if (options.query) {\n query = options.query\n } else {\n query = new rdf.Query('Messages')\n const v = {} // semicolon needed\n const vs = ['msg', 'date', 'creator', 'content']\n vs.forEach(function (x) {\n query.vars.push((v[x] = rdf.variable(x)))\n })\n query.pat.add(subject, WF('message'), v.msg)\n query.pat.add(v.msg, ns.dct('created'), v.date)\n query.pat.add(v.msg, ns.foaf('maker'), v.creator)\n query.pat.add(v.msg, ns.sioc('content'), v.content)\n }\n function doneQuery () {\n messageTable.fresh = true // any new are fresh and so will be greenish\n }\n kb.query(query, renderMessage, undefined, doneQuery)\n div.refresh = function () {\n syncMessages(subject, messageTable)\n }\n // syncMessages(subject, messageTable) // no the query will do this async\n return div\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"messageArea.js","names":["_iconBase","require","login","_interopRequireWildcard","_solidLogic","ns","rdf","style","utils","widgets","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","UI","icons","messageArea","dom","kb","subject","messageStore","options","solidLogicSingleton","store","doc","WF","Namespace","DCT","newestFirst","messageBodyStyle","div","createElement","messageTable","me","updater","anchor","text","term","uri","setAttribute","addEventListener","openHrefInOutlineMode","textContent","mention","message","pre","appendChild","createTextNode","announce","log","warn","error","newMessageForm","form","lhs","middle","rhs","AJAR_date","sendMessage","field","disabled","sts","now","Date","timestamp","getTime","dateStamp","sym","push","Statement","wf","sioc","literal","value","foaf","sendComplete","success","body","errorMessageBlock","bindings","renderMessage","update","sendButton","turnOnInput","creatorAndDate","innerHTML","rows","keyCode","altKey","button","iconBase","buttonStyle","context","ensureLoggedIn","then","nick","person","s","any","label","td1","creator","date","nickAnchor","fetcher","nowOrWhenFetched","undefined","_ok","_body","syncMessages","about","displayed","ele","ele2","firstChild","nextSibling","AJAR_subject","messages","each","stored","forEach","m","addMessage","removeChild","deleteMessage","deletions","statementsMatching","concat","ok","fresh","content","dateString","tr","done","insertBefore","shortDate","td2","td3","delButton","_event","cancelButton","sureButton","query","Query","v","vs","x","vars","variable","pat","add","msg","dct","doneQuery","refresh"],"sources":["../src/messageArea.js"],"sourcesContent":["// Common code for a discussion are a of messages about something\n//\n\nimport { icons } from './iconBase'\nimport * as login from './login/login'\nimport { solidLogicSingleton } from 'solid-logic'\nimport * as ns from './ns'\nimport * as rdf from 'rdflib' // pull in first avoid cross-refs\nimport * as style from './style'\nimport * as utils from './utils'\nimport * as widgets from './widgets'\n\nconst UI = { icons, ns, rdf, style, widgets }\n\nexport function messageArea (dom, kb, subject, messageStore, options) {\n kb = kb || solidLogicSingleton.store\n messageStore = messageStore.doc() // No hash\n const ns = UI.ns\n const WF = rdf.Namespace('http://www.w3.org/2005/01/wf/flow#')\n const DCT = rdf.Namespace('http://purl.org/dc/terms/')\n\n options = options || {}\n\n const newestFirst = !!options.newestFirst\n\n const messageBodyStyle =\n 'white-space: pre-wrap; width: 90%; font-size:100%; border: 0.07em solid #eee; padding: .2em 0.5em; margin: 0.1em 1em 0.1em 1em;'\n // 'font-size: 100%; margin: 0.1em 1em 0.1em 1em; background-color: white; white-space: pre-wrap; padding: 0.1em;'\n\n const div = dom.createElement('div')\n // eslint-disable-next-line prefer-const\n let messageTable // Shared by initial build and addMessageFromBindings\n\n let me\n\n const updater = solidLogicSingleton.store.updater\n\n const anchor = function (text, term) {\n // If there is no link return an element anyway\n const a = dom.createElement('a')\n if (term && term.uri) {\n a.setAttribute('href', term.uri)\n a.addEventListener('click', UI.widgets.openHrefInOutlineMode, true)\n a.setAttribute('style', 'color: #3B5998; text-decoration: none; ') // font-weight: bold\n }\n a.textContent = text\n return a\n }\n\n const mention = function mention (message, style) {\n const pre = dom.createElement('pre')\n pre.setAttribute('style', style || 'color: grey')\n div.appendChild(pre)\n pre.appendChild(dom.createTextNode(message))\n return pre\n }\n\n const announce = {\n log: function (message) {\n mention(message, 'color: #111;')\n },\n warn: function (message) {\n mention(message, 'color: #880;')\n },\n error: function (message) {\n mention(message, 'color: #800;')\n }\n }\n\n // Form for a new message\n //\n const newMessageForm = function () {\n const form = dom.createElement('tr')\n const lhs = dom.createElement('td')\n const middle = dom.createElement('td')\n const rhs = dom.createElement('td')\n form.appendChild(lhs)\n form.appendChild(middle)\n form.appendChild(rhs)\n form.AJAR_date = '9999-01-01T00:00:00Z' // ISO format for field sort\n\n const sendMessage = function () {\n // titlefield.setAttribute('class','pendingedit')\n // titlefield.disabled = true\n field.setAttribute('class', 'pendingedit')\n field.disabled = true\n const sts = []\n const now = new Date()\n const timestamp = '' + now.getTime()\n const dateStamp = rdf.term(now)\n // http://www.w3schools.com/jsref/jsref_obj_date.asp\n const message = kb.sym(messageStore.uri + '#' + 'Msg' + timestamp)\n\n sts.push(\n new rdf.Statement(subject, ns.wf('message'), message, messageStore)\n )\n sts.push(\n new rdf.Statement(\n message,\n ns.sioc('content'),\n kb.literal(field.value),\n messageStore\n )\n )\n sts.push(\n new rdf.Statement(message, DCT('created'), dateStamp, messageStore)\n )\n if (me) {\n sts.push(\n new rdf.Statement(message, ns.foaf('maker'), me, messageStore)\n )\n }\n\n const sendComplete = function (uri, success, body) {\n if (!success) {\n form.appendChild(\n UI.widgets.errorMessageBlock(dom, 'Error writing message: ' + body)\n )\n } else {\n const bindings = {\n '?msg': message,\n '?content': kb.literal(field.value),\n '?date': dateStamp,\n '?creator': me\n }\n renderMessage(bindings, false) // not green\n\n field.value = '' // clear from out for reuse\n field.setAttribute('class', '')\n field.disabled = false\n }\n }\n updater.update([], sts, sendComplete)\n }\n form.appendChild(dom.createElement('br'))\n\n let field, sendButton\n const turnOnInput = function () {\n creatorAndDate(lhs, me, '', null)\n\n field = dom.createElement('textarea')\n middle.innerHTML = ''\n middle.appendChild(field)\n field.rows = 3\n // field.cols = 40\n field.setAttribute('style', messageBodyStyle + 'background-color: #eef;')\n\n field.addEventListener(\n 'keyup',\n function (e) {\n // User preference?\n if (e.keyCode === 13) {\n if (!e.altKey) {\n // Alt-Enter just adds a new line\n sendMessage()\n }\n }\n },\n false\n )\n\n rhs.innerHTML = ''\n sendButton = UI.widgets.button(\n dom,\n UI.icons.iconBase + 'noun_383448.svg',\n 'Send'\n )\n sendButton.setAttribute('style', UI.style.buttonStyle + 'float: right;')\n sendButton.addEventListener('click', sendMessage, false)\n rhs.appendChild(sendButton)\n }\n\n const context = { div: middle, dom }\n login.ensureLoggedIn(context).then(context => {\n me = context.me\n turnOnInput()\n })\n\n return form\n }\n\n function nick (person) {\n const s = solidLogicSingleton.store.any(person, UI.ns.foaf('nick'))\n if (s) return '' + s.value\n return '' + utils.label(person)\n }\n\n function creatorAndDate (td1, creator, date, message) {\n const nickAnchor = td1.appendChild(anchor(nick(creator), creator))\n if (creator.uri) {\n solidLogicSingleton.store.fetcher.nowOrWhenFetched(creator.doc(), undefined, function (\n _ok,\n _body\n ) {\n nickAnchor.textContent = nick(creator)\n })\n }\n td1.appendChild(dom.createElement('br'))\n td1.appendChild(anchor(date, message))\n }\n\n // ///////////////////////////////////////////////////////////////////////\n\n function syncMessages (about, messageTable) {\n const displayed = {}\n let ele, ele2\n for (ele = messageTable.firstChild; ele; ele = ele.nextSibling) {\n if (ele.AJAR_subject) {\n displayed[ele.AJAR_subject.uri] = true\n }\n }\n const messages = kb.each(about, ns.wf('message'))\n const stored = {}\n messages.forEach(function (m) {\n stored[m.uri] = true\n if (!displayed[m.uri]) {\n addMessage(m)\n }\n })\n\n // eslint-disable-next-line space-in-parens\n for (ele = messageTable.firstChild; ele; ) {\n ele2 = ele.nextSibling\n if (ele.AJAR_subject && !stored[ele.AJAR_subject.uri]) {\n messageTable.removeChild(ele)\n }\n ele = ele2\n }\n }\n\n const deleteMessage = function (message) {\n const deletions = kb\n .statementsMatching(message)\n .concat(kb.statementsMatching(undefined, undefined, message))\n updater.update(deletions, [], function (uri, ok, body) {\n if (!ok) {\n announce.error('Cant delete messages:' + body)\n } else {\n syncMessages(subject, messageTable)\n }\n })\n }\n\n const addMessage = function (message) {\n const bindings = {\n '?msg': message,\n '?creator': kb.any(message, ns.foaf('maker')),\n '?date': kb.any(message, DCT('created')),\n '?content': kb.any(message, ns.sioc('content'))\n }\n renderMessage(bindings, true) // fresh from elsewhere\n }\n\n const renderMessage = function (bindings, fresh) {\n const creator = bindings['?creator']\n const message = bindings['?msg']\n const date = bindings['?date']\n const content = bindings['?content']\n\n const dateString = date.value\n const tr = dom.createElement('tr')\n tr.AJAR_date = dateString\n tr.AJAR_subject = message\n\n let done = false\n for (let ele = messageTable.firstChild; ; ele = ele.nextSibling) {\n if (!ele) {\n // empty\n break\n }\n if (\n (dateString > ele.AJAR_date && newestFirst) ||\n (dateString < ele.AJAR_date && !newestFirst)\n ) {\n messageTable.insertBefore(tr, ele)\n done = true\n break\n }\n }\n if (!done) {\n messageTable.appendChild(tr)\n }\n\n const td1 = dom.createElement('td')\n tr.appendChild(td1)\n creatorAndDate(td1, creator, UI.widgets.shortDate(dateString), message)\n\n const td2 = dom.createElement('td')\n tr.appendChild(td2)\n const pre = dom.createElement('p')\n pre.setAttribute(\n 'style',\n messageBodyStyle +\n (fresh ? 'background-color: #e8ffe8;' : 'background-color: #white;')\n )\n td2.appendChild(pre)\n pre.textContent = content.value\n\n const td3 = dom.createElement('td')\n tr.appendChild(td3)\n\n const delButton = dom.createElement('button')\n td3.appendChild(delButton)\n delButton.textContent = '-'\n\n tr.setAttribute('class', 'hoverControl') // See tabbedtab.css (sigh global CSS)\n delButton.setAttribute('class', 'hoverControlHide')\n delButton.setAttribute('style', 'color: red;')\n delButton.addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(delButton) // Ask -- are you sure?\n const cancelButton = dom.createElement('button')\n cancelButton.textContent = 'cancel'\n td3.appendChild(cancelButton).addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(sureButton)\n td3.removeChild(cancelButton)\n td3.appendChild(delButton)\n },\n false\n )\n const sureButton = dom.createElement('button')\n sureButton.textContent = 'Delete message'\n td3.appendChild(sureButton).addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(sureButton)\n td3.removeChild(cancelButton)\n deleteMessage(message)\n },\n false\n )\n },\n false\n )\n }\n\n // Messages with date, author etc\n\n messageTable = dom.createElement('table')\n messageTable.fresh = false\n div.appendChild(messageTable)\n messageTable.setAttribute('style', 'width: 100%;') // fill that div!\n\n const tr = newMessageForm()\n if (newestFirst) {\n messageTable.insertBefore(tr, messageTable.firstChild) // If newestFirst\n } else {\n messageTable.appendChild(tr) // not newestFirst\n }\n\n let query\n // Do this with a live query to pull in messages from web\n if (options.query) {\n query = options.query\n } else {\n query = new rdf.Query('Messages')\n const v = {} // semicolon needed\n const vs = ['msg', 'date', 'creator', 'content']\n vs.forEach(function (x) {\n query.vars.push((v[x] = rdf.variable(x)))\n })\n query.pat.add(subject, WF('message'), v.msg)\n query.pat.add(v.msg, ns.dct('created'), v.date)\n query.pat.add(v.msg, ns.foaf('maker'), v.creator)\n query.pat.add(v.msg, ns.sioc('content'), v.content)\n }\n function doneQuery () {\n messageTable.fresh = true // any new are fresh and so will be greenish\n }\n kb.query(query, renderMessage, undefined, doneQuery)\n div.refresh = function () {\n syncMessages(subject, messageTable)\n }\n // syncMessages(subject, messageTable) // no the query will do this async\n return div\n}\n"],"mappings":"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"}
|
|
@@ -4,6 +4,5 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
var _default = 'data:image/svg;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMTAwIDEwMCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PGc+PHBhdGggZD0iTTcyLjkyNiwzNC4zMzNINjIuNDc4bC0yLjUtNS42NjZINDAuMDIybC0yLjUsNS42NjZoLTIuMjc1di0zLjcwN2gtNnYzLjcwN2gtMi4xNzNjLTEuOTMsMC0zLjUsMS41Ny0zLjUsMy41djMwICAgYzAsMS45MywxLjU3LDMuNSwzLjUsMy41aDQ1Ljg1MmMxLjkzLDAsMy41LTEuNTcsMy41LTMuNXYtMzBDNzYuNDI2LDM1LjkwMyw3NC44NTUsMzQuMzMzLDcyLjkyNiwzNC4zMzN6IE03My40MjYsNjcuODMzICAgYzAsMC4yNzUtMC4yMjUsMC41LTAuNSwwLjVIMjcuMDc0Yy0wLjI3NSwwLTAuNS0wLjIyNS0wLjUtMC41di0zMGMwLTAuMjc1LDAuMjI1LTAuNSwwLjUtMC41aDEyLjQwM2wyLjUtNS42NjZoMTYuMDQ1bDIuNSw1LjY2NiAgIGgxMi40MDNjMC4yNzUsMCwwLjUsMC4yMjUsMC41LDAuNVY2Ny44MzN6Ij48L3BhdGg+PHBhdGggZD0iTTUwLDM4Ljc2NmMtNy4yOTgsMC0xMy4yMzQsNS45MzctMTMuMjM0LDEzLjIzNFM0Mi43MDIsNjUuMjM0LDUwLDY1LjIzNFM2My4yMzQsNTkuMjk4LDYzLjIzNCw1MlM1Ny4yOTgsMzguNzY2LDUwLDM4Ljc2NiAgIHogTTUwLDYyLjIzNGMtNS42NDQsMC0xMC4yMzQtNC41OTEtMTAuMjM0LTEwLjIzNFM0NC4zNTYsNDEuNzY2LDUwLDQxLjc2NlM2MC4yMzQsNDYuMzU2LDYwLjIzNCw1MlM1NS42NDQsNjIuMjM0LDUwLDYyLjIzNHoiPjwvcGF0aD48cGF0aCBkPSJNNTAuMDAxLDQzLjI0MmMtNC44MywwLTguNzYsMy45MjktOC43Niw4Ljc1OHMzLjkzLDguNzU4LDguNzYsOC43NThjNC44MjksMCw4Ljc1OC0zLjkyOSw4Ljc1OC04Ljc1OCAgIFM1NC44Myw0My4yNDIsNTAuMDAxLDQzLjI0MnogTTUwLjAwMSw1OS43NThjLTQuMjc4LDAtNy43Ni0zLjQ4LTcuNzYtNy43NThzMy40ODEtNy43NTgsNy43Ni03Ljc1OCAgIGM0LjI3NywwLDcuNzU4LDMuNDgsNy43NTgsNy43NThTNTQuMjc4LDU5Ljc1OCw1MC4wMDEsNTkuNzU4eiI+PC9wYXRoPjwvZz48L3N2Zz4=';
|
|
8
|
-
exports["default"] = _default;
|
|
7
|
+
var _default = exports["default"] = 'data:image/svg;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMTAwIDEwMCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PGc+PHBhdGggZD0iTTcyLjkyNiwzNC4zMzNINjIuNDc4bC0yLjUtNS42NjZINDAuMDIybC0yLjUsNS42NjZoLTIuMjc1di0zLjcwN2gtNnYzLjcwN2gtMi4xNzNjLTEuOTMsMC0zLjUsMS41Ny0zLjUsMy41djMwICAgYzAsMS45MywxLjU3LDMuNSwzLjUsMy41aDQ1Ljg1MmMxLjkzLDAsMy41LTEuNTcsMy41LTMuNXYtMzBDNzYuNDI2LDM1LjkwMyw3NC44NTUsMzQuMzMzLDcyLjkyNiwzNC4zMzN6IE03My40MjYsNjcuODMzICAgYzAsMC4yNzUtMC4yMjUsMC41LTAuNSwwLjVIMjcuMDc0Yy0wLjI3NSwwLTAuNS0wLjIyNS0wLjUtMC41di0zMGMwLTAuMjc1LDAuMjI1LTAuNSwwLjUtMC41aDEyLjQwM2wyLjUtNS42NjZoMTYuMDQ1bDIuNSw1LjY2NiAgIGgxMi40MDNjMC4yNzUsMCwwLjUsMC4yMjUsMC41LDAuNVY2Ny44MzN6Ij48L3BhdGg+PHBhdGggZD0iTTUwLDM4Ljc2NmMtNy4yOTgsMC0xMy4yMzQsNS45MzctMTMuMjM0LDEzLjIzNFM0Mi43MDIsNjUuMjM0LDUwLDY1LjIzNFM2My4yMzQsNTkuMjk4LDYzLjIzNCw1MlM1Ny4yOTgsMzguNzY2LDUwLDM4Ljc2NiAgIHogTTUwLDYyLjIzNGMtNS42NDQsMC0xMC4yMzQtNC41OTEtMTAuMjM0LTEwLjIzNFM0NC4zNTYsNDEuNzY2LDUwLDQxLjc2NlM2MC4yMzQsNDYuMzU2LDYwLjIzNCw1MlM1NS42NDQsNjIuMjM0LDUwLDYyLjIzNHoiPjwvcGF0aD48cGF0aCBkPSJNNTAuMDAxLDQzLjI0MmMtNC44MywwLTguNzYsMy45MjktOC43Niw4Ljc1OHMzLjkzLDguNzU4LDguNzYsOC43NThjNC44MjksMCw4Ljc1OC0zLjkyOSw4Ljc1OC04Ljc1OCAgIFM1NC44Myw0My4yNDIsNTAuMDAxLDQzLjI0MnogTTUwLjAwMSw1OS43NThjLTQuMjc4LDAtNy43Ni0zLjQ4LTcuNzYtNy43NThzMy40ODEtNy43NTgsNy43Ni03Ljc1OCAgIGM0LjI3NywwLDcuNzU4LDMuNDgsNy43NTgsNy43NThTNTQuMjc4LDU5Ljc1OCw1MC4wMDEsNTkuNzU4eiI+PC9wYXRoPjwvZz48L3N2Zz4=';
|
|
9
8
|
//# sourceMappingURL=noun_Camera_1618446_000000.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noun_Camera_1618446_000000.js","names":[
|
|
1
|
+
{"version":3,"file":"noun_Camera_1618446_000000.js","names":[],"sources":["../src/noun_Camera_1618446_000000.js"],"sourcesContent":["export default 'data:image/svg;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMTAwIDEwMCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PGc+PHBhdGggZD0iTTcyLjkyNiwzNC4zMzNINjIuNDc4bC0yLjUtNS42NjZINDAuMDIybC0yLjUsNS42NjZoLTIuMjc1di0zLjcwN2gtNnYzLjcwN2gtMi4xNzNjLTEuOTMsMC0zLjUsMS41Ny0zLjUsMy41djMwICAgYzAsMS45MywxLjU3LDMuNSwzLjUsMy41aDQ1Ljg1MmMxLjkzLDAsMy41LTEuNTcsMy41LTMuNXYtMzBDNzYuNDI2LDM1LjkwMyw3NC44NTUsMzQuMzMzLDcyLjkyNiwzNC4zMzN6IE03My40MjYsNjcuODMzICAgYzAsMC4yNzUtMC4yMjUsMC41LTAuNSwwLjVIMjcuMDc0Yy0wLjI3NSwwLTAuNS0wLjIyNS0wLjUtMC41di0zMGMwLTAuMjc1LDAuMjI1LTAuNSwwLjUtMC41aDEyLjQwM2wyLjUtNS42NjZoMTYuMDQ1bDIuNSw1LjY2NiAgIGgxMi40MDNjMC4yNzUsMCwwLjUsMC4yMjUsMC41LDAuNVY2Ny44MzN6Ij48L3BhdGg+PHBhdGggZD0iTTUwLDM4Ljc2NmMtNy4yOTgsMC0xMy4yMzQsNS45MzctMTMuMjM0LDEzLjIzNFM0Mi43MDIsNjUuMjM0LDUwLDY1LjIzNFM2My4yMzQsNTkuMjk4LDYzLjIzNCw1MlM1Ny4yOTgsMzguNzY2LDUwLDM4Ljc2NiAgIHogTTUwLDYyLjIzNGMtNS42NDQsMC0xMC4yMzQtNC41OTEtMTAuMjM0LTEwLjIzNFM0NC4zNTYsNDEuNzY2LDUwLDQxLjc2NlM2MC4yMzQsNDYuMzU2LDYwLjIzNCw1MlM1NS42NDQsNjIuMjM0LDUwLDYyLjIzNHoiPjwvcGF0aD48cGF0aCBkPSJNNTAuMDAxLDQzLjI0MmMtNC44MywwLTguNzYsMy45MjktOC43Niw4Ljc1OHMzLjkzLDguNzU4LDguNzYsOC43NThjNC44MjksMCw4Ljc1OC0zLjkyOSw4Ljc1OC04Ljc1OCAgIFM1NC44Myw0My4yNDIsNTAuMDAxLDQzLjI0MnogTTUwLjAwMSw1OS43NThjLTQuMjc4LDAtNy43Ni0zLjQ4LTcuNzYtNy43NThzMy40ODEtNy43NTgsNy43Ni03Ljc1OCAgIGM0LjI3NywwLDcuNzU4LDMuNDgsNy43NTgsNy43NThTNTQuMjc4LDU5Ljc1OCw1MC4wMDEsNTkuNzU4eiI+PC9wYXRoPjwvZz48L3N2Zz4='\n"],"mappings":";;;;;;oCAAe,oiDAAoiD"}
|
package/lib/ns.js
CHANGED
|
@@ -4,8 +4,8 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
5
|
var _solidNamespace = _interopRequireDefault(require("solid-namespace"));
|
|
6
6
|
var $rdf = _interopRequireWildcard(require("rdflib"));
|
|
7
|
-
function _getRequireWildcardCache(
|
|
8
|
-
function _interopRequireWildcard(
|
|
7
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
8
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
9
9
|
// Namespaces we commonly use and have common prefixes for around Solid
|
|
10
10
|
//
|
|
11
11
|
|
package/lib/ns.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ns.js","names":["_solidNamespace","_interopRequireDefault","require","$rdf","_interopRequireWildcard","_getRequireWildcardCache","
|
|
1
|
+
{"version":3,"file":"ns.js","names":["_solidNamespace","_interopRequireDefault","require","$rdf","_interopRequireWildcard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","module","exports","solidNamespace"],"sources":["../src/ns.js"],"sourcesContent":["// Namespaces we commonly use and have common prefixes for around Solid\n//\n\nimport solidNamespace from 'solid-namespace' // Delegate to this which takes RDFlib as param.\nimport * as $rdf from 'rdflib'\n\nmodule.exports = solidNamespace($rdf)\n// export * from ns2\n\n// ends\n"],"mappings":";;;;AAGA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAC,uBAAA,CAAAF,OAAA;AAA8B,SAAAG,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAF,wBAAAE,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,gBAAAK,OAAA,CAAAL,CAAA,0BAAAA,CAAA,sBAAAA,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,cAAAR,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAJ9B;AACA;;AAE6C;;AAG7CY,MAAM,CAACC,OAAO,GAAG,IAAAC,0BAAc,EAACzB,IAAI,CAAC;AACrC;;AAEA"}
|
package/lib/pad.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Notepad Widget
|
|
3
3
|
*/
|
|
4
4
|
import { NamedNode, IndexedFormula } from 'rdflib';
|
|
5
|
-
export {
|
|
5
|
+
export { renderPartipants, participationObject, manageParticipation, recordParticipation } from './participation';
|
|
6
6
|
type notepadOptions = {
|
|
7
7
|
statusArea?: HTMLDivElement;
|
|
8
8
|
exists?: boolean;
|
|
@@ -16,7 +16,7 @@ export declare function lightColorHash(author?: NamedNode): string;
|
|
|
16
16
|
/** notepad
|
|
17
17
|
*
|
|
18
18
|
* @param {HTMLDocument} dom - the web page of the browser
|
|
19
|
-
* @param {NamedNode} padDoc - the document into which the
|
|
19
|
+
* @param {NamedNode} padDoc - the document into which the particpation should be shown
|
|
20
20
|
* @param {NamedNode} subject - the thing in which participation is happening
|
|
21
21
|
* @param {NamedNode} me - person who is logged into the pod
|
|
22
22
|
* @param {notepadOptions} options - the options that can be passed in consist of statusArea, exists
|
package/lib/pad.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pad.d.ts","sourceRoot":"","sources":["../src/pad.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAa,SAAS,EAAM,cAAc,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"pad.d.ts","sourceRoot":"","sources":["../src/pad.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAa,SAAS,EAAM,cAAc,EAAE,MAAM,QAAQ,CAAA;AAKjE,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAMjH,KAAK,cAAc,GAAG;IACpB,UAAU,CAAC,EAAE,cAAc,CAAA;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAgBD;;;;GAIG;AACH,wBAAgB,cAAc,CAAE,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAU1D;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,cAAc,OAwuBzH;AAED;;;GAGG;AAGH,wBAAgB,SAAS,CAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,cAAc,SAUhE;AAED;;GAEG;AAEH,wBAAgB,SAAS,CAAE,GAAG,KAAA,OAE7B;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,cAAc,UA6C1D"}
|
package/lib/pad.js
CHANGED
|
@@ -27,10 +27,10 @@ Object.defineProperty(exports, "recordParticipation", {
|
|
|
27
27
|
return _participation.recordParticipation;
|
|
28
28
|
}
|
|
29
29
|
});
|
|
30
|
-
Object.defineProperty(exports, "
|
|
30
|
+
Object.defineProperty(exports, "renderPartipants", {
|
|
31
31
|
enumerable: true,
|
|
32
32
|
get: function get() {
|
|
33
|
-
return _participation.
|
|
33
|
+
return _participation.renderPartipants;
|
|
34
34
|
}
|
|
35
35
|
});
|
|
36
36
|
exports.xmlEncode = xmlEncode;
|
|
@@ -48,12 +48,14 @@ var _widgets = require("./widgets");
|
|
|
48
48
|
var _utils = require("./utils");
|
|
49
49
|
var _debug = require("./debug");
|
|
50
50
|
var _solidLogic = require("solid-logic");
|
|
51
|
-
var style = _interopRequireWildcard(require("./style"));
|
|
52
51
|
var _participation = require("./participation");
|
|
53
|
-
function _getRequireWildcardCache(
|
|
54
|
-
function _interopRequireWildcard(
|
|
52
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
53
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
55
54
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
56
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
55
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** **************
|
|
56
|
+
* Notepad Widget
|
|
57
|
+
*/ /** @module pad
|
|
58
|
+
*/
|
|
57
59
|
var store = _solidLogic.solidLogicSingleton.store;
|
|
58
60
|
var PAD = (0, _rdflib.Namespace)('http://www.w3.org/ns/pim/pad#');
|
|
59
61
|
/**
|
|
@@ -113,7 +115,7 @@ function lightColorHash(author) {
|
|
|
113
115
|
/** notepad
|
|
114
116
|
*
|
|
115
117
|
* @param {HTMLDocument} dom - the web page of the browser
|
|
116
|
-
* @param {NamedNode} padDoc - the document into which the
|
|
118
|
+
* @param {NamedNode} padDoc - the document into which the particpation should be shown
|
|
117
119
|
* @param {NamedNode} subject - the thing in which participation is happening
|
|
118
120
|
* @param {NamedNode} me - person who is logged into the pod
|
|
119
121
|
* @param {notepadOptions} options - the options that can be passed in consist of statusArea, exists
|
|
@@ -126,7 +128,7 @@ function notepad(dom, padDoc, subject, me, options) {
|
|
|
126
128
|
if (me && !me.uri) throw new Error('UI.pad.notepad: Invalid userid');
|
|
127
129
|
var updater = store.updater;
|
|
128
130
|
var PAD = (0, _rdflib.Namespace)('http://www.w3.org/ns/pim/pad#');
|
|
129
|
-
table.setAttribute('style',
|
|
131
|
+
table.setAttribute('style', 'padding: 1em; overflow: auto; resize: horizontal; min-width: 40em;');
|
|
130
132
|
var upstreamStatus = null;
|
|
131
133
|
var downstreamStatus = null;
|
|
132
134
|
if (options.statusArea) {
|
|
@@ -135,10 +137,10 @@ function notepad(dom, padDoc, subject, me, options) {
|
|
|
135
137
|
upstreamStatus = tr.appendChild(dom.createElement('td'));
|
|
136
138
|
downstreamStatus = tr.appendChild(dom.createElement('td'));
|
|
137
139
|
if (upstreamStatus) {
|
|
138
|
-
upstreamStatus.setAttribute('style',
|
|
140
|
+
upstreamStatus.setAttribute('style', 'width:50%');
|
|
139
141
|
}
|
|
140
142
|
if (downstreamStatus) {
|
|
141
|
-
downstreamStatus.setAttribute('style',
|
|
143
|
+
downstreamStatus.setAttribute('style', 'width:50%');
|
|
142
144
|
}
|
|
143
145
|
}
|
|
144
146
|
/* @@ TODO want to look into this, it seems upstream should be a boolean and default to false ?
|
|
@@ -161,9 +163,9 @@ function notepad(dom, padDoc, subject, me, options) {
|
|
|
161
163
|
var setPartStyle = function setPartStyle(part, colors, pending) {
|
|
162
164
|
var chunk = part.subject;
|
|
163
165
|
colors = colors || '';
|
|
164
|
-
var baseStyle =
|
|
165
|
-
var headingCore =
|
|
166
|
-
var headingStyle =
|
|
166
|
+
var baseStyle = 'font-size: 100%; font-family: monospace; width: 100%; border: none; white-space: pre-wrap;';
|
|
167
|
+
var headingCore = 'font-family: sans-serif; font-weight: bold; border: none;';
|
|
168
|
+
var headingStyle = ['font-size: 110%; padding-top: 0.5em; padding-bottom: 0.5em; width: 100%;', 'font-size: 120%; padding-top: 1em; padding-bottom: 1em; width: 100%;', 'font-size: 150%; padding-top: 1em; padding-bottom: 1em; width: 100%;'];
|
|
167
169
|
var author = kb.any(chunk, ns.dc('author'));
|
|
168
170
|
if (!colors && author) {
|
|
169
171
|
// Hash the user webid for now -- later allow user selection!
|
|
@@ -175,9 +177,9 @@ function notepad(dom, padDoc, subject, me, options) {
|
|
|
175
177
|
// and when the indent is stored as a Number itself, not in an object.
|
|
176
178
|
var indent = kb.any(chunk, PAD('indent'));
|
|
177
179
|
indent = indent ? indent.value : 0;
|
|
178
|
-
var
|
|
180
|
+
var style = indent >= 0 ? baseStyle + 'text-indent: ' + indent * 3 + 'em;' : headingCore + headingStyle[-1 - indent];
|
|
179
181
|
// ? baseStyle + 'padding-left: ' + (indent * 3) + 'em;'
|
|
180
|
-
part.setAttribute('style',
|
|
182
|
+
part.setAttribute('style', style + colors);
|
|
181
183
|
};
|
|
182
184
|
var removePart = function removePart(part) {
|
|
183
185
|
var chunk = part.subject;
|
|
@@ -257,6 +259,28 @@ function notepad(dom, padDoc, subject, me, options) {
|
|
|
257
259
|
});
|
|
258
260
|
};
|
|
259
261
|
|
|
262
|
+
// Use this sort of code to split the line when return pressed in the middle @@
|
|
263
|
+
/*
|
|
264
|
+
function doGetCaretPosition doGetCaretPosition (oField) {
|
|
265
|
+
var iCaretPos = 0
|
|
266
|
+
// IE Support
|
|
267
|
+
if (document.selection) {
|
|
268
|
+
// Set focus on the element to avoid IE bug
|
|
269
|
+
oField.focus()
|
|
270
|
+
// To get cursor position, get empty selection range
|
|
271
|
+
var oSel = document.selection.createRange()
|
|
272
|
+
// Move selection start to 0 position
|
|
273
|
+
oSel.moveStart('character', -oField.value.length)
|
|
274
|
+
// The caret position is selection length
|
|
275
|
+
iCaretPos = oSel.text.length
|
|
276
|
+
// Firefox suppor
|
|
277
|
+
} else if (oField.selectionStart || oField.selectionStart === '0') {
|
|
278
|
+
iCaretPos = oField.selectionStart
|
|
279
|
+
}
|
|
280
|
+
// Return results
|
|
281
|
+
return (iCaretPos)
|
|
282
|
+
}
|
|
283
|
+
*/
|
|
260
284
|
var addListeners = function addListeners(part, chunk) {
|
|
261
285
|
part.addEventListener('keydown', function (event) {
|
|
262
286
|
if (!updater) {
|
|
@@ -299,7 +323,7 @@ function notepad(dom, padDoc, subject, me, options) {
|
|
|
299
323
|
return;
|
|
300
324
|
case 3: // being deleted already
|
|
301
325
|
case 4:
|
|
302
|
-
// already
|
|
326
|
+
// already deleme state
|
|
303
327
|
return;
|
|
304
328
|
case undefined:
|
|
305
329
|
case 0:
|
|
@@ -600,6 +624,8 @@ function notepad(dom, padDoc, subject, me, options) {
|
|
|
600
624
|
}
|
|
601
625
|
return;
|
|
602
626
|
}
|
|
627
|
+
// var last = kb.the(undefined, PAD('previous'), subject)
|
|
628
|
+
// var chunk = first // = kb.the(subject, PAD('next'));
|
|
603
629
|
var row;
|
|
604
630
|
|
|
605
631
|
// First see which of the logical chunks have existing physical manifestations
|
|
@@ -661,7 +687,7 @@ function notepad(dom, padDoc, subject, me, options) {
|
|
|
661
687
|
(0, _debug.log)(' reloaded OK');
|
|
662
688
|
clearStatus();
|
|
663
689
|
if (!consistencyCheck()) {
|
|
664
|
-
complain('
|
|
690
|
+
complain('CONSITENCY CHECK FAILED');
|
|
665
691
|
} else {
|
|
666
692
|
refreshTree(table);
|
|
667
693
|
}
|