Convert indention to spaces
This commit is contained in:
parent
f2953d1190
commit
3b4f91249f
157
js/imgur.js
157
js/imgur.js
|
@ -5,115 +5,114 @@ var weechat = angular.module('weechat');
|
|||
|
||||
weechat.factory('imgur', ['$rootScope', function($rootScope) {
|
||||
|
||||
var process = function(image, callback) {
|
||||
var process = function(image, callback) {
|
||||
|
||||
// Is it an image?
|
||||
if (!image || !image.type.match(/image.*/)) return;
|
||||
// Is it an image?
|
||||
if (!image || !image.type.match(/image.*/)) return;
|
||||
|
||||
// New file reader
|
||||
var reader = new FileReader();
|
||||
// New file reader
|
||||
var reader = new FileReader();
|
||||
|
||||
// When image is read
|
||||
reader.onload = function (event) {
|
||||
var image = event.target.result.split(',')[1];
|
||||
upload(image, callback);
|
||||
};
|
||||
// When image is read
|
||||
reader.onload = function (event) {
|
||||
var image = event.target.result.split(',')[1];
|
||||
upload(image, callback);
|
||||
};
|
||||
|
||||
// Read image as data url
|
||||
reader.readAsDataURL(image);
|
||||
// Read image as data url
|
||||
reader.readAsDataURL(image);
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
// Upload image to imgur from base64
|
||||
var upload = function( base64img, callback ) {
|
||||
// Upload image to imgur from base64
|
||||
var upload = function( base64img, callback ) {
|
||||
// Set client ID (Glowing Bear)
|
||||
var clientId = "164efef8979cd4b";
|
||||
|
||||
// Set client ID (Glowing Bear)
|
||||
var clientId = "164efef8979cd4b";
|
||||
// Progress bar DOM elment
|
||||
var progressBar = document.getElementById("imgur-upload-progress");
|
||||
progressBar.style.width = '0';
|
||||
|
||||
// Progress bar DOM elment
|
||||
var progressBar = document.getElementById("imgur-upload-progress");
|
||||
progressBar.style.width = '0';
|
||||
// Create new form data
|
||||
var fd = new FormData();
|
||||
fd.append("image", base64img); // Append the file
|
||||
fd.append("type", "base64"); // Set image type to base64
|
||||
|
||||
// Create new form data
|
||||
var fd = new FormData();
|
||||
fd.append("image", base64img); // Append the file
|
||||
fd.append("type", "base64"); // Set image type to base64
|
||||
// Create new XMLHttpRequest
|
||||
var xhttp = new XMLHttpRequest();
|
||||
|
||||
// Create new XMLHttpRequest
|
||||
var xhttp = new XMLHttpRequest();
|
||||
// Post request to imgur api
|
||||
xhttp.open("POST", "https://api.imgur.com/3/image", true);
|
||||
|
||||
// Post request to imgur api
|
||||
xhttp.open("POST", "https://api.imgur.com/3/image", true);
|
||||
// Set headers
|
||||
xhttp.setRequestHeader("Authorization", "Client-ID " + clientId);
|
||||
xhttp.setRequestHeader("Accept", "application/json");
|
||||
|
||||
// Set headers
|
||||
xhttp.setRequestHeader("Authorization", "Client-ID " + clientId);
|
||||
xhttp.setRequestHeader("Accept", "application/json");
|
||||
// Handler for response
|
||||
xhttp.onload = function() {
|
||||
|
||||
// Handler for response
|
||||
xhttp.onload = function() {
|
||||
progressBar.style.display = 'none';
|
||||
|
||||
progressBar.style.display = 'none';
|
||||
// Check state and response status
|
||||
if(xhttp.status === 200) {
|
||||
|
||||
// Check state and response status
|
||||
if(xhttp.status === 200) {
|
||||
// Get response text
|
||||
var response = JSON.parse(xhttp.responseText);
|
||||
|
||||
// Get response text
|
||||
var response = JSON.parse(xhttp.responseText);
|
||||
// Send link as message
|
||||
if( response.data && response.data.link ) {
|
||||
|
||||
// Send link as message
|
||||
if( response.data && response.data.link ) {
|
||||
if (callback && typeof(callback) === "function") {
|
||||
callback(response.data.link);
|
||||
}
|
||||
|
||||
if (callback && typeof(callback) === "function") {
|
||||
callback(response.data.link);
|
||||
}
|
||||
} else {
|
||||
showErrorMsg();
|
||||
}
|
||||
|
||||
} else {
|
||||
showErrorMsg();
|
||||
}
|
||||
} else {
|
||||
showErrorMsg();
|
||||
}
|
||||
|
||||
} else {
|
||||
showErrorMsg();
|
||||
}
|
||||
};
|
||||
|
||||
};
|
||||
if( "upload" in xhttp ) {
|
||||
|
||||
if( "upload" in xhttp ) {
|
||||
// Set progress
|
||||
xhttp.upload.onprogress = function (event) {
|
||||
|
||||
// Set progress
|
||||
xhttp.upload.onprogress = function (event) {
|
||||
// Check if we can compute progress
|
||||
if (event.lengthComputable) {
|
||||
// Complete in percent
|
||||
var complete = (event.loaded / event.total * 100 | 0);
|
||||
|
||||
// Check if we can compute progress
|
||||
if (event.lengthComputable) {
|
||||
// Complete in percent
|
||||
var complete = (event.loaded / event.total * 100 | 0);
|
||||
// Set progress bar width
|
||||
progressBar.style.display = 'block';
|
||||
progressBar.style.width = complete + '%';
|
||||
}
|
||||
};
|
||||
|
||||
// Set progress bar width
|
||||
progressBar.style.display = 'block';
|
||||
progressBar.style.width = complete + '%';
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
// Send request with form data
|
||||
xhttp.send(fd);
|
||||
|
||||
// Send request with form data
|
||||
xhttp.send(fd);
|
||||
};
|
||||
|
||||
};
|
||||
var showErrorMsg = function() {
|
||||
// Show error msg
|
||||
$rootScope.uploadError = true;
|
||||
$rootScope.$apply();
|
||||
|
||||
var showErrorMsg = function() {
|
||||
// Show error msg
|
||||
$rootScope.uploadError = true;
|
||||
$rootScope.$apply();
|
||||
// Hide after 5 seconds
|
||||
setTimeout(function(){
|
||||
// Hide error msg
|
||||
$rootScope.uploadError = false;
|
||||
$rootScope.$apply();
|
||||
}, 5000);
|
||||
};
|
||||
|
||||
// Hide after 5 seconds
|
||||
setTimeout(function(){
|
||||
// Hide error msg
|
||||
$rootScope.uploadError = false;
|
||||
$rootScope.$apply();
|
||||
}, 5000);
|
||||
};
|
||||
|
||||
return {
|
||||
return {
|
||||
process: process
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue