solid-ui 2.4.14-alpha → 2.4.14-bbf45639-aade069c
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/LICENSE.md +0 -0
- package/README.md +0 -0
- package/lib/acl/access-controller.d.ts +0 -0
- package/lib/acl/access-controller.d.ts.map +0 -0
- package/lib/acl/access-controller.js +441 -334
- package/lib/acl/access-controller.js.map +1 -1
- package/lib/acl/access-groups.d.ts +1 -2
- package/lib/acl/access-groups.d.ts.map +1 -1
- package/lib/acl/access-groups.js +495 -347
- package/lib/acl/access-groups.js.map +1 -1
- package/lib/acl/acl-control.d.ts +0 -0
- package/lib/acl/acl-control.d.ts.map +0 -0
- package/lib/acl/acl-control.js +198 -168
- package/lib/acl/acl-control.js.map +1 -1
- package/lib/acl/acl.d.ts +1 -2
- package/lib/acl/acl.d.ts.map +1 -1
- package/lib/acl/acl.js +463 -444
- package/lib/acl/acl.js.map +1 -1
- package/lib/acl/add-agent-buttons.d.ts +0 -0
- package/lib/acl/add-agent-buttons.d.ts.map +0 -0
- package/lib/acl/add-agent-buttons.js +515 -318
- package/lib/acl/add-agent-buttons.js.map +1 -1
- package/lib/acl/index.d.ts +0 -0
- package/lib/acl/index.d.ts.map +0 -0
- package/lib/acl/index.js +35 -27
- package/lib/acl/index.js.map +1 -1
- package/lib/acl/styles.d.ts +0 -0
- package/lib/acl/styles.d.ts.map +0 -0
- package/lib/acl/styles.js +90 -84
- package/lib/acl/styles.js.map +1 -1
- package/lib/acl/types.d.ts +0 -0
- package/lib/acl/types.d.ts.map +0 -0
- package/lib/acl/types.js +4 -5
- package/lib/acl/types.js.map +1 -1
- package/lib/authn/authSession.d.ts +0 -0
- package/lib/authn/authSession.d.ts.map +0 -0
- package/lib/authn/authSession.js +21 -14
- package/lib/authn/authSession.js.map +1 -1
- package/lib/authn/authn.d.ts +0 -0
- package/lib/authn/authn.d.ts.map +0 -0
- package/lib/authn/authn.js +1935 -1391
- package/lib/authn/authn.js.map +1 -1
- package/lib/authn/config-default.js +0 -0
- package/lib/authn/config-default.js.map +0 -0
- package/lib/authn/index.d.ts +0 -0
- package/lib/authn/index.d.ts.map +0 -0
- package/lib/authn/index.js +37 -26
- package/lib/authn/index.js.map +1 -1
- package/lib/authn/signup.js +0 -0
- package/lib/authn/signup.js.map +0 -0
- package/lib/authn/types.d.ts +0 -0
- package/lib/authn/types.d.ts.map +0 -0
- package/lib/authn/types.js +4 -1
- package/lib/authn/types.js.map +1 -1
- package/lib/chat/bookmarks.js +0 -0
- package/lib/chat/bookmarks.js.map +0 -0
- package/lib/chat/dateFolder.js +0 -0
- package/lib/chat/dateFolder.js.map +0 -0
- package/lib/chat/infinite.js +0 -0
- package/lib/chat/infinite.js.map +0 -0
- package/lib/chat/message.js +0 -0
- package/lib/chat/message.js.map +0 -0
- package/lib/chat/messageTools.js +0 -0
- package/lib/chat/messageTools.js.map +0 -0
- package/lib/chat/thread.js +0 -0
- package/lib/chat/thread.js.map +0 -0
- package/lib/create/create.d.ts +0 -0
- package/lib/create/create.d.ts.map +0 -0
- package/lib/create/create.js +214 -209
- package/lib/create/create.js.map +1 -1
- package/lib/create/index.d.ts +0 -0
- package/lib/create/index.d.ts.map +0 -0
- package/lib/create/index.js +10 -4
- package/lib/create/index.js.map +1 -1
- package/lib/create/types.d.ts +0 -0
- package/lib/create/types.d.ts.map +0 -0
- package/lib/create/types.js +4 -1
- package/lib/create/types.js.map +1 -1
- package/lib/debug.d.ts +0 -0
- package/lib/debug.d.ts.map +0 -0
- package/lib/debug.js +28 -30
- package/lib/debug.js.map +1 -1
- package/lib/folders.js +0 -0
- package/lib/folders.js.map +0 -0
- package/lib/footer/index.d.ts +0 -0
- package/lib/footer/index.d.ts.map +0 -0
- package/lib/footer/index.js +126 -109
- package/lib/footer/index.js.map +1 -1
- package/lib/footer/styleMap.d.ts +0 -0
- package/lib/footer/styleMap.d.ts.map +0 -0
- package/lib/footer/styleMap.js +11 -7
- package/lib/footer/styleMap.js.map +1 -1
- package/lib/header/empty-profile.d.ts +0 -0
- package/lib/header/empty-profile.d.ts.map +0 -0
- package/lib/header/empty-profile.js +6 -2
- package/lib/header/empty-profile.js.map +1 -1
- package/lib/header/index.d.ts +0 -0
- package/lib/header/index.d.ts.map +0 -0
- package/lib/header/index.js +361 -285
- package/lib/header/index.js.map +1 -1
- package/lib/header/styleMap.d.ts +0 -0
- package/lib/header/styleMap.d.ts.map +0 -0
- package/lib/header/styleMap.js +132 -116
- package/lib/header/styleMap.js.map +1 -1
- package/lib/iconBase.d.ts +0 -0
- package/lib/iconBase.d.ts.map +0 -0
- package/lib/iconBase.js +30 -23
- package/lib/iconBase.js.map +1 -1
- package/lib/icons/solid_logo.d.ts +0 -0
- package/lib/icons/solid_logo.d.ts.map +0 -0
- package/lib/icons/solid_logo.js +0 -0
- package/lib/icons/solid_logo.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +207 -103
- package/lib/index.js.map +1 -1
- package/lib/jss/index.d.ts +0 -0
- package/lib/jss/index.d.ts.map +0 -0
- package/lib/jss/index.js +30 -21
- package/lib/jss/index.js.map +1 -1
- package/lib/log.d.ts +0 -0
- package/lib/log.d.ts.map +0 -0
- package/lib/log.js +131 -83
- package/lib/log.js.map +1 -1
- package/lib/logic.d.ts +2 -2
- package/lib/logic.d.ts.map +1 -1
- package/lib/logic.js +73 -82
- package/lib/logic.js.map +1 -1
- package/lib/matrix/index.d.ts +0 -0
- package/lib/matrix/index.d.ts.map +0 -0
- package/lib/matrix/index.js +10 -4
- package/lib/matrix/index.js.map +1 -1
- package/lib/matrix/matrix.d.ts +0 -0
- package/lib/matrix/matrix.d.ts.map +0 -0
- package/lib/matrix/matrix.js +237 -210
- package/lib/matrix/matrix.js.map +1 -1
- package/lib/matrix/types.d.ts +0 -0
- package/lib/matrix/types.d.ts.map +0 -0
- package/lib/matrix/types.js +4 -1
- package/lib/matrix/types.js.map +1 -1
- package/lib/media/index.d.ts +0 -0
- package/lib/media/index.d.ts.map +0 -0
- package/lib/media/index.js +11 -5
- package/lib/media/index.js.map +1 -1
- package/lib/media/media-capture.d.ts +0 -0
- package/lib/media/media-capture.d.ts.map +0 -0
- package/lib/media/media-capture.js +181 -187
- package/lib/media/media-capture.js.map +1 -1
- package/lib/messageArea.js +0 -0
- package/lib/messageArea.js.map +0 -0
- package/lib/noun_Camera_1618446_000000.js +0 -0
- package/lib/noun_Camera_1618446_000000.js.map +0 -0
- package/lib/ns.js +0 -0
- package/lib/ns.js.map +0 -0
- package/lib/pad.d.ts +0 -0
- package/lib/pad.d.ts.map +0 -0
- package/lib/pad.js +954 -794
- package/lib/pad.js.map +1 -1
- package/lib/participation.d.ts +0 -0
- package/lib/participation.d.ts.map +0 -0
- package/lib/participation.js +199 -170
- package/lib/participation.js.map +1 -1
- package/lib/preferences.js +0 -0
- package/lib/preferences.js.map +0 -0
- package/lib/stories/decorators.js +0 -0
- package/lib/stories/decorators.js.map +0 -0
- package/lib/style.js +0 -0
- package/lib/style.js.map +0 -0
- package/lib/table.js +0 -0
- package/lib/table.js.map +0 -0
- package/lib/tabs.d.ts +0 -0
- package/lib/tabs.d.ts.map +0 -0
- package/lib/tabs.js +342 -235
- package/lib/tabs.js.map +1 -1
- package/lib/typings.d.js +0 -0
- package/lib/typings.d.js.map +0 -0
- package/lib/utils/headerFooterHelpers.d.ts +0 -0
- package/lib/utils/headerFooterHelpers.d.ts.map +0 -0
- package/lib/utils/headerFooterHelpers.js +155 -130
- package/lib/utils/headerFooterHelpers.js.map +1 -1
- package/lib/utils/index.js +0 -0
- package/lib/utils/index.js.map +0 -0
- package/lib/utils/label.d.ts +0 -0
- package/lib/utils/label.d.ts.map +0 -0
- package/lib/utils/label.js +113 -121
- package/lib/utils/label.js.map +1 -1
- package/lib/versionInfo.d.ts +0 -0
- package/lib/versionInfo.d.ts.map +0 -0
- package/lib/versionInfo.js +28 -23
- package/lib/versionInfo.js.map +1 -1
- package/lib/webpack-bundle.js +264 -175
- package/lib/webpack-bundle.js.map +1 -1
- package/lib/widgets/buttons/iconLinks.d.ts +0 -0
- package/lib/widgets/buttons/iconLinks.d.ts.map +0 -0
- package/lib/widgets/buttons/iconLinks.js +30 -19
- package/lib/widgets/buttons/iconLinks.js.map +1 -1
- package/lib/widgets/buttons.d.ts +0 -0
- package/lib/widgets/buttons.d.ts.map +0 -0
- package/lib/widgets/buttons.js +1113 -935
- package/lib/widgets/buttons.js.map +1 -1
- package/lib/widgets/dragAndDrop.js +0 -0
- package/lib/widgets/dragAndDrop.js.map +0 -0
- package/lib/widgets/error.d.ts +0 -0
- package/lib/widgets/error.d.ts.map +0 -0
- package/lib/widgets/error.js +24 -18
- package/lib/widgets/error.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompleteBar.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteBar.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteBar.js +325 -234
- package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompleteField.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteField.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteField.js +280 -246
- package/lib/widgets/forms/autocomplete/autocompleteField.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/autocompletePicker.js +497 -317
- package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +1 -1
- package/lib/widgets/forms/autocomplete/language.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/language.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/language.js +214 -159
- package/lib/widgets/forms/autocomplete/language.js.map +1 -1
- package/lib/widgets/forms/autocomplete/publicData.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/publicData.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/publicData.js +725 -485
- package/lib/widgets/forms/autocomplete/publicData.js.map +1 -1
- package/lib/widgets/forms/basic.d.ts +0 -0
- package/lib/widgets/forms/basic.d.ts.map +0 -0
- package/lib/widgets/forms/basic.js +239 -208
- package/lib/widgets/forms/basic.js.map +1 -1
- package/lib/widgets/forms/comment.d.ts +0 -0
- package/lib/widgets/forms/comment.d.ts.map +0 -0
- package/lib/widgets/forms/comment.js +48 -48
- package/lib/widgets/forms/comment.js.map +1 -1
- package/lib/widgets/forms/fieldFunction.d.ts +0 -0
- package/lib/widgets/forms/fieldFunction.d.ts.map +0 -0
- package/lib/widgets/forms/fieldFunction.js +50 -31
- package/lib/widgets/forms/fieldFunction.js.map +1 -1
- package/lib/widgets/forms/fieldParams.d.ts +0 -0
- package/lib/widgets/forms/fieldParams.d.ts.map +0 -0
- package/lib/widgets/forms/fieldParams.js +81 -102
- package/lib/widgets/forms/fieldParams.js.map +1 -1
- package/lib/widgets/forms/formStyle.d.ts +0 -0
- package/lib/widgets/forms/formStyle.d.ts.map +0 -0
- package/lib/widgets/forms/formStyle.js +50 -52
- package/lib/widgets/forms/formStyle.js.map +1 -1
- package/lib/widgets/forms.js +0 -0
- package/lib/widgets/forms.js.map +0 -0
- package/lib/widgets/index.js +0 -0
- package/lib/widgets/index.js.map +0 -0
- package/lib/widgets/peoplePicker.js +0 -0
- package/lib/widgets/peoplePicker.js.map +0 -0
- package/lib/widgets/widgetHelpers.d.ts +0 -0
- package/lib/widgets/widgetHelpers.d.ts.map +0 -0
- package/lib/widgets/widgetHelpers.js +30 -18
- package/lib/widgets/widgetHelpers.js.map +1 -1
- package/package.json +7 -7
|
@@ -1,61 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
13
9
|
});
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
var
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
32
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
33
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
34
|
-
function step(op) {
|
|
35
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
36
|
-
while (_) try {
|
|
37
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
38
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
39
|
-
switch (op[0]) {
|
|
40
|
-
case 0: case 1: t = op; break;
|
|
41
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
42
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
43
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
44
|
-
default:
|
|
45
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
46
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
47
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
48
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
49
|
-
if (t[2]) _.ops.pop();
|
|
50
|
-
_.trys.pop(); continue;
|
|
51
|
-
}
|
|
52
|
-
op = body.call(thisArg, _);
|
|
53
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
54
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
58
|
-
exports.cameraButton = exports.cameraCaptureControl = void 0;
|
|
10
|
+
exports.cameraButton = cameraButton;
|
|
11
|
+
exports.cameraCaptureControl = cameraCaptureControl;
|
|
12
|
+
|
|
13
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
14
|
+
|
|
15
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
16
|
+
|
|
17
|
+
var debug = _interopRequireWildcard(require("../debug"));
|
|
18
|
+
|
|
19
|
+
var _iconBase = require("../iconBase");
|
|
20
|
+
|
|
21
|
+
var widgets = _interopRequireWildcard(require("../widgets"));
|
|
22
|
+
|
|
23
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
24
|
+
|
|
25
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
26
|
+
|
|
59
27
|
/// /////////////////////////////////////////////
|
|
60
28
|
//
|
|
61
29
|
// Media input widget
|
|
@@ -70,16 +38,16 @@ exports.cameraButton = exports.cameraCaptureControl = void 0;
|
|
|
70
38
|
// or access cemra roll (etc) OR to access solid cloud storage of favorite photo almbums.
|
|
71
39
|
// (Especially latest taken ones)
|
|
72
40
|
//
|
|
73
|
-
|
|
41
|
+
|
|
74
42
|
/** @module mediaCapture */
|
|
75
|
-
var
|
|
76
|
-
|
|
77
|
-
var
|
|
78
|
-
|
|
43
|
+
var cameraIcon = _iconBase.icons.iconBase + 'noun_Camera_1618446_000000.svg'; // Get it from github
|
|
44
|
+
|
|
45
|
+
var retakeIcon = _iconBase.icons.iconBase + 'noun_479395.svg'; // Get it from github
|
|
46
|
+
|
|
79
47
|
var canvasWidth = '640';
|
|
80
48
|
var canvasHeight = '480';
|
|
81
|
-
var controlStyle = "border-radius: 0.5em; margin: 0.8em; width: ".concat(canvasWidth, "; height:").concat(canvasHeight, ";");
|
|
82
|
-
|
|
49
|
+
var controlStyle = "border-radius: 0.5em; margin: 0.8em; width: ".concat(canvasWidth, "; height:").concat(canvasHeight, ";"); // const controlStyle = 'border-radius: 0.5em; margin: 0.8em; width: 320; height:240;'
|
|
50
|
+
|
|
83
51
|
var contentType = 'image/png';
|
|
84
52
|
/** A control to capture a picture using camera
|
|
85
53
|
* @param {Docuemnt} dom - The Document object
|
|
@@ -87,114 +55,124 @@ var contentType = 'image/png';
|
|
|
87
55
|
* @param {NamedNode} getImageDoc() - NN of the image file to be created
|
|
88
56
|
* @param {function} doneCallback - Called when a picture has been taken
|
|
89
57
|
*/
|
|
58
|
+
|
|
90
59
|
function cameraCaptureControl(dom, store, getImageDoc, doneCallback) {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
60
|
+
var div = dom.createElement('div');
|
|
61
|
+
var destination, imageBlob, player, canvas;
|
|
62
|
+
var table = div.appendChild(dom.createElement('table'));
|
|
63
|
+
var mainTR = table.appendChild(dom.createElement('tr'));
|
|
64
|
+
var main = mainTR.appendChild(dom.createElement('td'));
|
|
65
|
+
main.setAttribute('colspan', '4');
|
|
66
|
+
var buttons = table.appendChild(dom.createElement('tr'));
|
|
67
|
+
buttons.appendChild(dom.createElement('td')) // Cancel button
|
|
68
|
+
.appendChild(widgets.cancelButton(dom)).addEventListener('click', function (_event) {
|
|
69
|
+
stopVideo();
|
|
70
|
+
doneCallback(null);
|
|
71
|
+
});
|
|
72
|
+
var retakeButton = buttons.appendChild(dom.createElement('td')) // Retake button
|
|
73
|
+
.appendChild(widgets.button(dom, retakeIcon, 'Retake'));
|
|
74
|
+
retakeButton.addEventListener('click', function (_event) {
|
|
75
|
+
retake();
|
|
76
|
+
});
|
|
77
|
+
retakeButton.style.visibility = 'collapse'; // Hide for now
|
|
78
|
+
|
|
79
|
+
var shutterButton = buttons.appendChild(dom.createElement('td')) // Trigger capture button
|
|
80
|
+
.appendChild(widgets.button(dom, _iconBase.icons.iconBase + 'noun_10636.svg', 'Snap'));
|
|
81
|
+
shutterButton.addEventListener('click', grabCanvas);
|
|
82
|
+
shutterButton.style.visibility = 'collapse'; // Hide for now
|
|
83
|
+
|
|
84
|
+
var sendButton = buttons.appendChild(dom.createElement('td')) // Confirm and save button
|
|
85
|
+
.appendChild(widgets.continueButton(dom)); // @@ or send icon??
|
|
86
|
+
|
|
87
|
+
sendButton.addEventListener('click', function (_event) {
|
|
88
|
+
saveBlob(imageBlob, destination);
|
|
89
|
+
});
|
|
90
|
+
sendButton.style.visibility = 'collapse'; // Hide for now
|
|
91
|
+
|
|
92
|
+
function displayPlayer() {
|
|
93
|
+
player = main.appendChild(dom.createElement('video'));
|
|
94
|
+
player.setAttribute('controls', '1');
|
|
95
|
+
player.setAttribute('autoplay', '1');
|
|
96
|
+
player.setAttribute('style', controlStyle);
|
|
97
|
+
|
|
98
|
+
if (!navigator.mediaDevices) {
|
|
99
|
+
throw new Error('navigator.mediaDevices not available');
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
navigator.mediaDevices.getUserMedia(constraints).then(function (stream) {
|
|
103
|
+
player.srcObject = stream;
|
|
104
|
+
shutterButton.style.visibility = 'visible'; // Enable
|
|
105
|
+
|
|
106
|
+
sendButton.style.visibility = 'collapse';
|
|
107
|
+
retakeButton.style.visibility = 'collapse';
|
|
110
108
|
});
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
var constraints = {
|
|
112
|
+
video: true
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
function retake() {
|
|
116
|
+
main.removeChild(canvas);
|
|
117
|
+
displayPlayer(); // Make new one as old one is stuck black
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
function grabCanvas() {
|
|
121
|
+
// Draw the video frame to the canvas.
|
|
122
|
+
canvas = dom.createElement('canvas');
|
|
123
|
+
canvas.setAttribute('width', canvasWidth);
|
|
124
|
+
canvas.setAttribute('height', canvasHeight);
|
|
125
|
+
canvas.setAttribute('style', controlStyle);
|
|
126
|
+
main.appendChild(canvas);
|
|
127
|
+
var context = canvas.getContext('2d');
|
|
128
|
+
context.drawImage(player, 0, 0, canvas.width, canvas.height);
|
|
129
|
+
player.parentNode.removeChild(player);
|
|
130
|
+
canvas.toBlob(function (blob) {
|
|
131
|
+
var msg = "got blob type ".concat(blob.type, " size ").concat(blob.size);
|
|
132
|
+
debug.log(msg);
|
|
133
|
+
destination = getImageDoc();
|
|
134
|
+
imageBlob = blob; // save for review
|
|
135
|
+
|
|
136
|
+
reviewImage(); // alert(msg)
|
|
137
|
+
}, contentType); // toBlob
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
function reviewImage() {
|
|
141
|
+
sendButton.style.visibility = 'visible';
|
|
142
|
+
retakeButton.style.visibility = 'visible';
|
|
116
143
|
shutterButton.style.visibility = 'collapse'; // Hide for now
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
function displayPlayer() {
|
|
125
|
-
player = main.appendChild(dom.createElement('video'));
|
|
126
|
-
player.setAttribute('controls', '1');
|
|
127
|
-
player.setAttribute('autoplay', '1');
|
|
128
|
-
player.setAttribute('style', controlStyle);
|
|
129
|
-
if (!navigator.mediaDevices) {
|
|
130
|
-
throw new Error('navigator.mediaDevices not available');
|
|
131
|
-
}
|
|
132
|
-
navigator.mediaDevices.getUserMedia(constraints).then(function (stream) {
|
|
133
|
-
player.srcObject = stream;
|
|
134
|
-
shutterButton.style.visibility = 'visible'; // Enable
|
|
135
|
-
sendButton.style.visibility = 'collapse';
|
|
136
|
-
retakeButton.style.visibility = 'collapse';
|
|
137
|
-
});
|
|
138
|
-
}
|
|
139
|
-
var constraints = {
|
|
140
|
-
video: true
|
|
141
|
-
};
|
|
142
|
-
function retake() {
|
|
143
|
-
main.removeChild(canvas);
|
|
144
|
-
displayPlayer(); // Make new one as old one is stuck black
|
|
145
|
-
}
|
|
146
|
-
function grabCanvas() {
|
|
147
|
-
// Draw the video frame to the canvas.
|
|
148
|
-
canvas = dom.createElement('canvas');
|
|
149
|
-
canvas.setAttribute('width', canvasWidth);
|
|
150
|
-
canvas.setAttribute('height', canvasHeight);
|
|
151
|
-
canvas.setAttribute('style', controlStyle);
|
|
152
|
-
main.appendChild(canvas);
|
|
153
|
-
var context = canvas.getContext('2d');
|
|
154
|
-
context.drawImage(player, 0, 0, canvas.width, canvas.height);
|
|
155
|
-
player.parentNode.removeChild(player);
|
|
156
|
-
canvas.toBlob(function (blob) {
|
|
157
|
-
var msg = "got blob type ".concat(blob.type, " size ").concat(blob.size);
|
|
158
|
-
debug.log(msg);
|
|
159
|
-
destination = getImageDoc();
|
|
160
|
-
imageBlob = blob; // save for review
|
|
161
|
-
reviewImage();
|
|
162
|
-
// alert(msg)
|
|
163
|
-
}, contentType); // toBlob
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
function stopVideo() {
|
|
147
|
+
if (player && player.srcObject) {
|
|
148
|
+
player.srcObject.getVideoTracks().forEach(function (track) {
|
|
149
|
+
return track.stop();
|
|
150
|
+
});
|
|
164
151
|
}
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
function
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
}, function (err) {
|
|
189
|
-
stopVideo();
|
|
190
|
-
alert(err);
|
|
191
|
-
});
|
|
192
|
-
}
|
|
193
|
-
// Attach the video stream to the video element and autoplay.
|
|
194
|
-
displayPlayer();
|
|
195
|
-
return div;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
function saveBlob(blob, destination) {
|
|
155
|
+
var contentType = blob.type; // if (!confirm('Save picture to ' + destination + ' ?')) return
|
|
156
|
+
|
|
157
|
+
debug.log('Putting ' + blob.size + ' bytes of ' + contentType + ' to ' + destination) // @@ TODO Remove casting
|
|
158
|
+
;
|
|
159
|
+
store.fetcher.webOperation('PUT', destination.uri, {
|
|
160
|
+
data: blob,
|
|
161
|
+
contentType: contentType
|
|
162
|
+
}).then(function (_resp) {
|
|
163
|
+
debug.log('ok saved ' + destination);
|
|
164
|
+
stopVideo();
|
|
165
|
+
doneCallback(destination);
|
|
166
|
+
}, function (err) {
|
|
167
|
+
stopVideo();
|
|
168
|
+
alert(err);
|
|
169
|
+
});
|
|
170
|
+
} // Attach the video stream to the video element and autoplay.
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
displayPlayer();
|
|
174
|
+
return div;
|
|
196
175
|
}
|
|
197
|
-
exports.cameraCaptureControl = cameraCaptureControl;
|
|
198
176
|
/** A button to capture a picture using camera
|
|
199
177
|
* @param {Docuemnt} dom - The Document object
|
|
200
178
|
* @param {IndexedForumla} store - The quadstore to store data in
|
|
@@ -204,27 +182,43 @@ exports.cameraCaptureControl = cameraCaptureControl;
|
|
|
204
182
|
*
|
|
205
183
|
* This expacts the buttton to a large control when it is pressed
|
|
206
184
|
*/
|
|
185
|
+
|
|
186
|
+
|
|
207
187
|
function cameraButton(dom, store, getImageDoc, doneCallback) {
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
188
|
+
var div = dom.createElement('div');
|
|
189
|
+
var but = widgets.button(dom, cameraIcon, 'Take picture');
|
|
190
|
+
var control;
|
|
191
|
+
|
|
192
|
+
function restoreButton(_x) {
|
|
193
|
+
return _restoreButton.apply(this, arguments);
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
function _restoreButton() {
|
|
197
|
+
_restoreButton = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(imageDoc) {
|
|
198
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
199
|
+
while (1) {
|
|
200
|
+
switch (_context.prev = _context.next) {
|
|
201
|
+
case 0:
|
|
202
|
+
div.removeChild(control);
|
|
203
|
+
div.appendChild(but);
|
|
204
|
+
doneCallback(imageDoc);
|
|
205
|
+
|
|
206
|
+
case 3:
|
|
207
|
+
case "end":
|
|
208
|
+
return _context.stop();
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
}, _callee);
|
|
212
|
+
}));
|
|
213
|
+
return _restoreButton.apply(this, arguments);
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
div.appendChild(but);
|
|
217
|
+
but.addEventListener('click', function (_event) {
|
|
218
|
+
div.removeChild(but);
|
|
219
|
+
control = cameraCaptureControl(dom, store, getImageDoc, restoreButton);
|
|
220
|
+
div.appendChild(control);
|
|
221
|
+
});
|
|
222
|
+
return div;
|
|
228
223
|
}
|
|
229
|
-
exports.cameraButton = cameraButton;
|
|
230
224
|
//# sourceMappingURL=media-capture.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-capture.js","sourceRoot":"","sources":["../../src/media/media-capture.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../src/media/media-capture.ts"],"names":["cameraIcon","icons","iconBase","retakeIcon","canvasWidth","canvasHeight","controlStyle","contentType","cameraCaptureControl","dom","store","getImageDoc","doneCallback","div","createElement","destination","imageBlob","player","canvas","table","appendChild","mainTR","main","setAttribute","buttons","widgets","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","debug","log","reviewImage","getVideoTracks","forEach","track","stop","fetcher","webOperation","uri","data","_resp","err","alert","cameraButton","but","control","restoreButton","imageDoc"],"mappings":"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","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: 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"],"file":"media-capture.js"}
|
package/lib/messageArea.js
CHANGED
|
File without changes
|
package/lib/messageArea.js.map
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/lib/ns.js
CHANGED
|
File without changes
|
package/lib/ns.js.map
CHANGED
|
File without changes
|
package/lib/pad.d.ts
CHANGED
|
File without changes
|
package/lib/pad.d.ts.map
CHANGED
|
File without changes
|