From cb384b84d52ef6c53cce918bc435b6cdb8cb910a Mon Sep 17 00:00:00 2001 From: "Ifedapo .A. Olarewaju" Date: Tue, 18 Aug 2020 17:37:29 +0100 Subject: [PATCH] website: enable Zoom on transloadit example (#2474) --- website/src/examples/transloadit/app.es6 | 68 +++++++++++++++++++++--- 1 file changed, 60 insertions(+), 8 deletions(-) diff --git a/website/src/examples/transloadit/app.es6 b/website/src/examples/transloadit/app.es6 index 08f74a0ab..ae4830853 100644 --- a/website/src/examples/transloadit/app.es6 +++ b/website/src/examples/transloadit/app.es6 @@ -6,6 +6,7 @@ const Webcam = require('@uppy/webcam') const Transloadit = require('@uppy/transloadit') const Instagram = require('@uppy/instagram') const Facebook = require('@uppy/facebook') +const Zoom = require('@uppy/zoom') const { createHmac } = require('crypto') const COMPANION = require('../env') @@ -20,6 +21,8 @@ function initUppy (opts = {}) { window.uppy.close() } + const zoomMode = document.location.hash === '#enable-zoom' + const allowedFileTypes = zoomMode ? ['video/*'] : ['image/*'] const uppy = new Uppy({ debug: true, autoProceed: false, @@ -27,7 +30,7 @@ function initUppy (opts = {}) { maxFileSize: 1024 * 1024 * 1024, maxNumberOfFiles: 2, minNumberOfFiles: 1, - allowedFileTypes: ['image/*'] + allowedFileTypes }, locale: { strings: { @@ -74,6 +77,32 @@ function initUppy (opts = {}) { } } + if (zoomMode) { + params.steps = { + resized: { + use: ':original', + robot: '/video/encode', + result: true, + ffmpeg_stack: 'v3.3.3', + preset: 'ipad-high', + resize_strategy: 'fillcrop' + }, + watermarked: { + use: 'resized', + robot: '/video/encode', + result: true, + ffmpeg_stack: 'v3.3.3', + preset: 'ipad-high', + watermark_opacity: 0.7, + watermark_position: 'top-right', + watermark_size: '25%', + watermark_url: 'https://demos.transloadit.com/inputs/transloadit-padded.png', + watermark_x_offset: -10, + watermark_y_offset: 10 + } + } + } + let signature if (opts.secret) { params = JSON.stringify(params) @@ -105,17 +134,40 @@ function initUppy (opts = {}) { }) .use(Webcam, { target: Dashboard, modes: ['picture'] }) + if (zoomMode) { + uppy.use(Zoom, { + target: Dashboard, + companionUrl: 'https://api2.transloadit.com/companion', + companionAllowedHosts: Transloadit.COMPANION_PATTERN + }) + } + uppy .on('transloadit:result', (stepName, result) => { const file = uppy.getFile(result.localId) var resultContainer = document.createElement('div') - resultContainer.innerHTML = ` -
-

Name: ${file.name}

-
- View -
- ` + if (!zoomMode) { + resultContainer.innerHTML = ` +
+

Name: ${file.name}

+
+ View +
+ ` + } + + if (zoomMode && stepName === 'watermarked') { + resultContainer.innerHTML = ` +
+

Name: ${file.name}

+ +
+ View +
+ ` + } document .getElementById('uppy-transloadit-result') .appendChild(resultContainer)