fix nacl reference error in media tag

This commit is contained in:
ansuz 2017-07-05 11:57:53 +02:00
parent cb7efeebe1
commit 9f6ecea5d9
6 changed files with 56 additions and 61 deletions

View File

@ -9,7 +9,6 @@ define([
'/common/cryptpad-common.js', '/common/cryptpad-common.js',
'/common/cryptget.js', '/common/cryptget.js',
'/common/diffMarked.js', '/common/diffMarked.js',
'/bower_components/tweetnacl/nacl-fast.min.js', // needed for media-tag
'css!/bower_components/components-font-awesome/css/font-awesome.min.css', 'css!/bower_components/components-font-awesome/css/font-awesome.min.css',
'less!/customize/src/less/cryptpad.less' 'less!/customize/src/less/cryptpad.less'

View File

@ -16,9 +16,10 @@ define([
'/common/clipboard.js', '/common/clipboard.js',
'/common/pinpad.js', '/common/pinpad.js',
'/customize/application_config.js' '/customize/application_config.js',
'/common/media-tag.js',
], function ($, Config, Messages, Store, Util, Hash, UI, History, UserList, Title, Metadata, ], function ($, Config, Messages, Store, Util, Hash, UI, History, UserList, Title, Metadata,
CodeMirror, Files, FileCrypto, Clipboard, Pinpad, AppConfig) { CodeMirror, Files, FileCrypto, Clipboard, Pinpad, AppConfig, MediaTag) {
/* This file exposes functionality which is specific to Cryptpad, but not to /* This file exposes functionality which is specific to Cryptpad, but not to
any particular pad type. This includes functions for committing metadata any particular pad type. This includes functions for committing metadata
@ -1278,35 +1279,32 @@ define([
var $img = $('<media-tag>').appendTo($container); var $img = $('<media-tag>').appendTo($container);
$img.attr('src', src); $img.attr('src', src);
$img.attr('data-crypto-key', 'cryptpad:' + cryptKey); $img.attr('data-crypto-key', 'cryptpad:' + cryptKey);
require(['/common/media-tag.js'], function (MediaTag) { MediaTag($img[0]);
MediaTag($img[0]); var observer = new MutationObserver(function(mutations) {
var observer = new MutationObserver(function(mutations) { mutations.forEach(function(mutation) {
mutations.forEach(function(mutation) { if (mutation.type === 'childList' && mutation.addedNodes.length) {
if (mutation.type === 'childList' && mutation.addedNodes.length) { if (mutation.addedNodes.length > 1 ||
console.log(mutation); mutation.addedNodes[0].nodeName !== 'IMG') {
if (mutation.addedNodes.length > 1 || $img.remove();
mutation.addedNodes[0].nodeName !== 'IMG') { return void displayDefault();
$img.remove();
return void displayDefault();
}
var $image = $img.find('img');
var onLoad = function () {
var w = $image.width();
var h = $image.height();
if (w>h) {
$image.css('max-height', '100%');
$img.css('flex-direction', 'row');
if (cb) { cb($img); }
return;
}
$image.css('max-width', '100%');
$img.css('flex-direction', 'column');
if (cb) { cb($img); }
};
if ($image[0].complete) { onLoad(); }
$image.on('load', onLoad);
} }
}); var $image = $img.find('img');
var onLoad = function () {
var w = $image.width();
var h = $image.height();
if (w>h) {
$image.css('max-height', '100%');
$img.css('flex-direction', 'row');
if (cb) { cb($img); }
return;
}
$image.css('max-width', '100%');
$img.css('flex-direction', 'column');
if (cb) { cb($img); }
};
if ($image[0].complete) { onLoad(); }
$image.on('load', onLoad);
}
}); });
observer.observe($img[0], { observer.observe($img[0], {
attributes: false, attributes: false,

File diff suppressed because one or more lines are too long

View File

@ -7,12 +7,14 @@ define([
'/common/visible.js', '/common/visible.js',
'/common/notify.js', '/common/notify.js',
'/file/file-crypto.js', '/file/file-crypto.js',
'/common/media-tag.js',
'/bower_components/file-saver/FileSaver.min.js', '/bower_components/file-saver/FileSaver.min.js',
'/bower_components/tweetnacl/nacl-fast.min.js',
'css!/bower_components/components-font-awesome/css/font-awesome.min.css', 'css!/bower_components/components-font-awesome/css/font-awesome.min.css',
'less!/customize/src/less/cryptpad.less', 'less!/customize/src/less/cryptpad.less',
], function ($, Crypto, realtimeInput, Toolbar, Cryptpad, Visible, Notify, FileCrypto) { ], function ($, Crypto, realtimeInput, Toolbar, Cryptpad, Visible, Notify, FileCrypto, MediaTag) {
var Messages = Cryptpad.Messages; var Messages = Cryptpad.Messages;
var saveAs = window.saveAs; var saveAs = window.saveAs;
var Nacl = window.nacl; var Nacl = window.nacl;
@ -133,32 +135,30 @@ define([
console.log(progress.percent); console.log(progress.percent);
}); });
require(['/common/media-tag.js'], function (MediaTag) { /**
/** * Allowed mime types that have to be set for a rendering after a decryption.
* Allowed mime types that have to be set for a rendering after a decryption. *
* * @type {Array}
* @type {Array} */
*/ var allowedMediaTypes = [
var allowedMediaTypes = [ 'image/png',
'image/png', 'image/jpeg',
'image/jpeg', 'image/jpg',
'image/jpg', 'image/gif',
'image/gif', 'audio/mp3',
'audio/mp3', 'audio/ogg',
'audio/ogg', 'audio/wav',
'audio/wav', 'audio/webm',
'audio/webm', 'video/mp4',
'video/mp4', 'video/ogg',
'video/ogg', 'video/webm',
'video/webm', 'application/pdf',
'application/pdf', 'application/dash+xml',
'application/dash+xml', 'download'
'download' ];
]; MediaTag.CryptoFilter.setAllowedMediaTypes(allowedMediaTypes);
MediaTag.CryptoFilter.setAllowedMediaTypes(allowedMediaTypes);
MediaTag($mt[0]); MediaTag($mt[0]);
});
}; };
var todoBigFile = function (sizeMb) { var todoBigFile = function (sizeMb) {

View File

@ -11,7 +11,6 @@ define([
'/bower_components/marked/marked.min.js', '/bower_components/marked/marked.min.js',
'cm/lib/codemirror', 'cm/lib/codemirror',
'cm/mode/markdown/markdown', 'cm/mode/markdown/markdown',
'/bower_components/tweetnacl/nacl-fast.min.js',
'less!/profile/main.less', 'less!/profile/main.less',
], function ($, Cryptpad, Listmap, Crypto, Marked, CodeMirror) { ], function ($, Cryptpad, Listmap, Crypto, Marked, CodeMirror) {

View File

@ -9,7 +9,6 @@ define([
'/common/cryptpad-common.js', '/common/cryptpad-common.js',
'/common/cryptget.js', '/common/cryptget.js',
'/slide/slide.js', '/slide/slide.js',
'/bower_components/tweetnacl/nacl-fast.min.js', // needed for media-tag
'css!/bower_components/components-font-awesome/css/font-awesome.min.css', 'css!/bower_components/components-font-awesome/css/font-awesome.min.css',
'less!/customize/src/less/cryptpad.less', 'less!/customize/src/less/cryptpad.less',