Format all source code using Prettier

This commit is contained in:
Daniel Gasienica 2018-04-27 17:25:04 -04:00
parent b4dee3f30b
commit 1dd87ad197
149 changed files with 17847 additions and 15439 deletions

View file

@ -7,7 +7,7 @@
/* global Signal: false */
// eslint-disable-next-line func-names
(function () {
(function() {
'use strict';
window.Whisper = window.Whisper || {};
@ -29,7 +29,7 @@
});
function makeImageThumbnail(size, objectUrl) {
return new Promise(((resolve, reject) => {
return new Promise((resolve, reject) => {
const img = document.createElement('img');
img.onerror = reject;
img.onload = () => {
@ -60,18 +60,20 @@
resolve(blob);
};
img.src = objectUrl;
}));
});
}
function makeVideoScreenshot(objectUrl) {
return new Promise(((resolve, reject) => {
return new Promise((resolve, reject) => {
const video = document.createElement('video');
function capture() {
const canvas = document.createElement('canvas');
canvas.width = video.videoWidth;
canvas.height = video.videoHeight;
canvas.getContext('2d').drawImage(video, 0, 0, canvas.width, canvas.height);
canvas
.getContext('2d')
.drawImage(video, 0, 0, canvas.width, canvas.height);
const image = window.dataURLToBlobSync(canvas.toDataURL('image/png'));
@ -81,7 +83,7 @@
}
video.addEventListener('canplay', capture);
video.addEventListener('error', (error) => {
video.addEventListener('error', error => {
console.log(
'makeVideoThumbnail error',
Signal.Types.Errors.toLogFormat(error)
@ -90,7 +92,7 @@
});
video.src = objectUrl;
}));
});
}
function blobToArrayBuffer(blob) {
@ -123,7 +125,7 @@
className: 'file-input',
initialize(options) {
this.$input = this.$('input[type=file]');
this.$input.click((e) => {
this.$input.click(e => {
e.stopPropagation();
});
this.thumb = new Whisper.AttachmentPreviewView();
@ -146,15 +148,18 @@
e.preventDefault();
// hack
if (this.window && this.window.chrome && this.window.chrome.fileSystem) {
this.window.chrome.fileSystem.chooseEntry({ type: 'openFile' }, (entry) => {
if (!entry) {
return;
this.window.chrome.fileSystem.chooseEntry(
{ type: 'openFile' },
entry => {
if (!entry) {
return;
}
entry.file(file => {
this.file = file;
this.previewImages();
});
}
entry.file((file) => {
this.file = file;
this.previewImages();
});
});
);
} else {
this.$input.click();
}
@ -178,14 +183,16 @@
},
autoScale(file) {
if (file.type.split('/')[0] !== 'image' ||
file.type === 'image/gif' ||
file.type === 'image/tiff') {
if (
file.type.split('/')[0] !== 'image' ||
file.type === 'image/gif' ||
file.type === 'image/tiff'
) {
// nothing to do
return Promise.resolve(file);
}
return new Promise(((resolve, reject) => {
return new Promise((resolve, reject) => {
const url = URL.createObjectURL(file);
const img = document.createElement('img');
img.onerror = reject;
@ -195,13 +202,19 @@
const maxSize = 6000 * 1024;
const maxHeight = 4096;
const maxWidth = 4096;
if (img.width <= maxWidth && img.height <= maxHeight && file.size <= maxSize) {
if (
img.width <= maxWidth &&
img.height <= maxHeight &&
file.size <= maxSize
) {
resolve(file);
return;
}
const canvas = loadImage.scale(img, {
canvas: true, maxWidth, maxHeight,
canvas: true,
maxWidth,
maxHeight,
});
let quality = 0.95;
@ -209,8 +222,10 @@
let blob;
do {
i -= 1;
blob = window.dataURLToBlobSync(canvas.toDataURL('image/jpeg', quality));
quality = (quality * maxSize) / blob.size;
blob = window.dataURLToBlobSync(
canvas.toDataURL('image/jpeg', quality)
);
quality = quality * maxSize / blob.size;
// NOTE: During testing with a large image, we observed the
// `quality` value being > 1. Should we clamp it to [0.5, 1.0]?
// See: https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toBlob#Syntax
@ -222,7 +237,7 @@
resolve(blob);
};
img.src = url;
}));
});
},
async previewImages() {
@ -271,21 +286,25 @@
const blob = await this.autoScale(file);
let limitKb = 1000000;
const blobType = file.type === 'image/gif'
? 'gif'
: contentType.split('/')[0];
const blobType =
file.type === 'image/gif' ? 'gif' : contentType.split('/')[0];
switch (blobType) {
case 'image':
limitKb = 6000; break;
limitKb = 6000;
break;
case 'gif':
limitKb = 25000; break;
limitKb = 25000;
break;
case 'audio':
limitKb = 100000; break;
limitKb = 100000;
break;
case 'video':
limitKb = 100000; break;
limitKb = 100000;
break;
default:
limitKb = 100000; break;
limitKb = 100000;
break;
}
if ((blob.size / 1024).toFixed(4) >= limitKb) {
const units = ['kB', 'MB', 'GB'];
@ -310,7 +329,9 @@
},
getFiles() {
const files = this.file ? [this.file] : Array.from(this.$input.prop('files'));
const files = this.file
? [this.file]
: Array.from(this.$input.prop('files'));
const promise = Promise.all(files.map(file => this.getFile(file)));
this.clearForm();
return promise;
@ -325,7 +346,7 @@
? textsecure.protobuf.AttachmentPointer.Flags.VOICE_MESSAGE
: null;
const setFlags = flags => (attachment) => {
const setFlags = flags => attachment => {
const newAttachment = Object.assign({}, attachment);
if (flags) {
newAttachment.flags = flags;
@ -345,9 +366,11 @@
// Scale and crop an image to 256px square
const size = 256;
const file = this.file || this.$input.prop('files')[0];
if (file === undefined ||
if (
file === undefined ||
file.type.split('/')[0] !== 'image' ||
file.type === 'image/gif') {
file.type === 'image/gif'
) {
// nothing to do
return Promise.resolve();
}
@ -362,9 +385,9 @@
// File -> Promise Attachment
readFile(file) {
return new Promise(((resolve, reject) => {
return new Promise((resolve, reject) => {
const FR = new FileReader();
FR.onload = (e) => {
FR.onload = e => {
resolve({
data: e.target.result,
contentType: file.type,
@ -375,7 +398,7 @@
FR.onerror = reject;
FR.onabort = reject;
FR.readAsArrayBuffer(file);
}));
});
},
clearForm() {
@ -390,9 +413,14 @@
},
deleteFiles(e) {
if (e) { e.stopPropagation(); }
if (e) {
e.stopPropagation();
}
this.clearForm();
this.$input.wrap('<form>').parent('form').trigger('reset');
this.$input
.wrap('<form>')
.parent('form')
.trigger('reset');
this.$input.unwrap();
this.file = null;
this.$input.trigger('change');
@ -450,4 +478,4 @@
Whisper.FileInputView.makeImageThumbnail = makeImageThumbnail;
Whisper.FileInputView.makeVideoThumbnail = makeVideoThumbnail;
Whisper.FileInputView.makeVideoScreenshot = makeVideoScreenshot;
}());
})();