Fixed Events; Added example for multiple types of barcodes

This commit is contained in:
Christoph Oberhofer
2016-05-26 23:54:59 +02:00
parent be70d72e0b
commit 2f2ed46cf3
16 changed files with 2444 additions and 1561 deletions
+8 -1
View File
@@ -50,10 +50,17 @@ export default function createEventedElement() {
var event = getEvent(eventName),
subscribers = event.subscribers;
event.subscribers = subscribers.filter(function(subscriber) {
subscribers.filter(function(subscriber) {
return !!subscriber.once;
}).forEach((subscriber) => {
publishSubscription(subscriber, data);
});
event.subscribers = subscribers.filter(function(subscriber) {
return !subscriber.once;
});
event.subscribers.forEach((subscriber) => {
publishSubscription(subscriber, data);
});
},
once: function(event, callback, async) {
subscribe(event, {
+4 -3
View File
@@ -36,11 +36,12 @@ function initCamera(video, constraints) {
.then((stream) => {
return new Promise((resolve, reject) => {
streamRef = stream;
video.src = window.URL.createObjectURL(stream);
video.onloadedmetadata = (e) => {
video.setAttribute("autoplay", 'true');
video.srcObject = stream;
video.addEventListener('loadedmetadata', (e) => {
video.play();
resolve();
};
});
});
})
.then(waitForVideo.bind(null, video));
+1 -2
View File
@@ -48,7 +48,7 @@ function fromImage(config, imageSrc, inputConfig = {}) {
toPromise() {
return new Promise((resolve, reject) => {
scanner.decodeSingle(config, (result) => {
if (result.codeResult && result.codeResult.code) {
if (result && result.codeResult && result.codeResult.code) {
return resolve(result);
}
return reject(result);
@@ -80,7 +80,6 @@ function fromVideo(config, source, inputConfig = {}) {
} else if (typeof source === 'object'
&& (typeof source.constraints !== 'undefined'
|| typeof source.area !== 'undefined')) {
console.log("inputConfig");
inputConfig = source;
} else if (!source) {
// LiveStream
-1
View File
@@ -69,7 +69,6 @@ function createScanner() {
}
_inputStream.setAttribute("preload", "auto");
_inputStream.setAttribute("autoplay", true);
_inputStream.setInputStream(_config.inputStream);
_inputStream.addEventListener("canrecord", canRecord.bind(undefined, cb));
}