From 1e471f8bb44113d36255852262a5c821542fe3c9 Mon Sep 17 00:00:00 2001 From: Cory Forsyth Date: Wed, 15 Jul 2015 17:21:08 -0400 Subject: [PATCH] Add a selfie card to the demo --- demo/demo.js | 79 ++++++++++++++++++++++++++++++++++++++++++++++++- demo/index.html | 1 + 2 files changed, 79 insertions(+), 1 deletion(-) diff --git a/demo/demo.js b/demo/demo.js index 7e2a3dc7d..aa2c5463b 100644 --- a/demo/demo.js +++ b/demo/demo.js @@ -7,6 +7,73 @@ function removeChildren(element) { } } +var selfieCard = { + name: 'selfie-card', + display: { + setup(element, options, env, payload) { + removeChildren(element); + + if (payload.imageSrc) { + element.appendChild( + $(` +
+
+
You look nice today.
+
+
+ `)[0] + ); + } else { + element.appendChild($(` +
+ Hello there! + +
`)[0] + ); + } + + $('#go-edit').click(function() { + env.edit(); + }); + } + }, + edit: { + setup(element, options, env) { + removeChildren(element); + + const vid = $(` +
+ + + +
+ `); + element.appendChild(vid[0]); + + var canvas = document.getElementById("canvas"), + context = canvas.getContext("2d"), + video = document.getElementById("video"), + videoObj = { "video": true }, + errBack = function(error) { + alert('error getting video feed'); + }; + if (!navigator.webkitGetUserMedia) { + alert('Cannot get your video because no navigator.webkitGetUserMedia'); + } + navigator.webkitGetUserMedia(videoObj, function(stream) { + video.src = window.webkitURL.createObjectURL(stream); + video.play(); + + $('#snap').click(function() { + context.drawImage(video, 0, 0, 160, 120); + let imageSrc = canvas.toDataURL('image/png'); + env.save({imageSrc: imageSrc}); + }); + }, errBack); + } + } +}; + var simpleCard = { name: 'simple-card', display: { @@ -150,7 +217,7 @@ function bootEditor(element, mobiledoc) { var editor = new ContentKit.Editor(element, { autofocus: false, mobiledoc: mobiledoc, - cards: [simpleCard, cardWithEditMode, cardWithInput] + cards: [simpleCard, cardWithEditMode, cardWithInput, selfieCard] }); editor.on('update', function() { @@ -263,6 +330,16 @@ var sampleMobiledocs = { ]], [10, "input-card"] ] + ], + + mobileDocWithSelfieCard: [ + [], + [ + [1, "H2", [ + [[], 0, "SelfieCard"] + ]], + [10, "selfie-card"] + ] ] }; diff --git a/demo/index.html b/demo/index.html index b588d91c5..8916a89bc 100644 --- a/demo/index.html +++ b/demo/index.html @@ -34,6 +34,7 @@

mobiledoc to load

+