From ba3f85919f5fd7e7d4d77e2bc141212becdaeacd Mon Sep 17 00:00:00 2001 From: mappu Date: Sun, 8 Oct 2017 14:15:16 +1300 Subject: [PATCH] sdk: reformat --- static/sdk.js | 88 ++++++++++++++++++++++++++++----------------------- 1 file changed, 48 insertions(+), 40 deletions(-) diff --git a/static/sdk.js b/static/sdk.js index d5e7cca..976e1a2 100644 --- a/static/sdk.js +++ b/static/sdk.js @@ -1,6 +1,5 @@ -;"use strict"; - -var contented = (function($, currentScriptPath) { +; +var contented = (function ($, currentScriptPath) { "use strict"; var baseURL = currentScriptPath.replace('sdk.js', ''); @@ -11,7 +10,7 @@ var contented = (function($, currentScriptPath) { * * @return bool */ - var contented_SupportsDrop = function() { + var contented_SupportsDrop = function () { return ('ondrop' in window && 'FormData' in window && 'FileReader' in window); } @@ -23,9 +22,9 @@ var contented = (function($, currentScriptPath) { * @param Function onUploaded Called with a property object for every uploaded file * @param Function onClose Called when the widget should be destroyed */ - var contented_EnableDrop = function(elementSelector, onUploaded, onClose) { - onUploaded = onUploaded || function(){}; - onClose = onClose || function(){}; + var contented_EnableDrop = function (elementSelector, onUploaded, onClose) { + onUploaded = onUploaded || function () { }; + onClose = onClose || function () { }; if ($(elementSelector).length != 1) { return; // should only find one element @@ -35,28 +34,28 @@ var contented = (function($, currentScriptPath) { // // Create a new div for ourselves on top of the existing area - $.get(baseURL + "about", function(ret) { - $("title").text( ret.AppTitle ); + $.get(baseURL + "about", function (ret) { + $("title").text(ret.AppTitle); var extraText = ""; if (ret.MaxUploadBytes > 0) { - extraText = " (max " + Math.floor(ret.MaxUploadBytes / (1024*1024)) + " MiB)"; + extraText = " (max " + Math.floor(ret.MaxUploadBytes / (1024 * 1024)) + " MiB)"; } - $.get(baseURL + "widget.html", function(widgetHtml) { + $.get(baseURL + "widget.html", function (widgetHtml) { var $f = $("
").html(widgetHtml); $f.find(".contented-extratext").text(extraText); - var ourClose = function() { + var ourClose = function () { $f.remove(); // remove from dom onClose(); // upstream close }; - $f.find(".contented-close").click(function() { + $f.find(".contented-close").click(function () { ourClose(); }) - var setType = function(type) { + var setType = function (type) { $f.find(".contented-upload-type").removeClass("contented-upload-type-active"); $f.find(".contented-upload-type[data-upload-type=" + type + "]").addClass("contented-upload-type-active"); @@ -64,8 +63,8 @@ var contented = (function($, currentScriptPath) { $f.find(".contented-if-" + type).addClass("contented-active"); }; - $f.find(".contented-upload-type").click(function() { - setType( $(this).attr('data-upload-type') ); + $f.find(".contented-upload-type").click(function () { + setType($(this).attr('data-upload-type')); }); if (!contented_SupportsDrop()) { @@ -77,32 +76,41 @@ var contented = (function($, currentScriptPath) { var $element = $(element); var offset = $element.offset(); - + $f.css({ 'position': 'absolute', - 'left': offset.left + "px", - 'top': offset.top + "px", - 'width': $element.width() + "px", - 'min-width': $element.width() + "px", - 'max-width': $element.width() + "px", - 'height': $element.height() + "px", - 'min-height': $element.height() + "px", - 'max-height': $element.height() + "px" + 'left': offset.left + "px", + 'top': offset.top + "px", + 'width': $element.width() + "px", + 'min-width': $element.width() + "px", + 'max-width': $element.width() + "px", + 'height': $element.height() + "px", + 'min-height': $element.height() + "px", + 'max-height': $element.height() + "px" }); - - $f.find('.contented').on('dragover dragenter', function(e) { + + $f.find('.contented').on('dragover dragenter', function (e) { e.preventDefault(); e.stopPropagation(); $(this).addClass('is-dragging'); }); - $f.find('.contented').on('dragleave dragend', function(e) { + $f.find('.contented').on('dragleave dragend', function (e) { e.preventDefault(); e.stopPropagation(); $(this).removeClass('is-dragging'); }); - $f.find('.contented').on('drag', function(e) { + $f.find('.contented').on('drag', function (e) { + e.preventDefault(); + e.stopPropagation(); + handleUploadFrom(event.originalEvent.dataTransfer.files); + }); + + $("body").append($f); + + var handleUploadFrom = function (files) { + input.files = event.originalEvent.dataTransfer.files; refreshCaption(); setType("progress"); @@ -110,16 +118,15 @@ var contented = (function($, currentScriptPath) { // Ajax uploader // TODO form.submit(); - }); - $("body").append($f); + } }); }); - + } // @@ -130,15 +137,16 @@ var contented = (function($, currentScriptPath) { })( jQuery, - (function() { - + (function () { + "use strict"; + // Determine current script path // @ref https://stackoverflow.com/a/26023176 - var scripts = document.querySelectorAll( 'script[src]' ); - var currentScript = scripts[ scripts.length - 1 ].src; - var currentScriptChunks = currentScript.split( '/' ); - var currentScriptFile = currentScriptChunks[ currentScriptChunks.length - 1 ]; - - return currentScript.replace( currentScriptFile, '' ); + var scripts = document.querySelectorAll('script[src]'); + var currentScript = scripts[scripts.length - 1].src; + var currentScriptChunks = currentScript.split('/'); + var currentScriptFile = currentScriptChunks[currentScriptChunks.length - 1]; + + return currentScript.replace(currentScriptFile, ''); })() );