From 08a51609eb43aa030d6ffda473a828929ba39d9d Mon Sep 17 00:00:00 2001 From: juanmont Date: Fri, 18 Nov 2016 20:05:17 +0100 Subject: [PATCH 1/2] F #4378 Performed panel of options and data sample in the upload of images --- .../images-tab/form-panels/create-common.js | 102 +++++++++++++++--- 1 file changed, 90 insertions(+), 12 deletions(-) diff --git a/src/sunstone/public/app/tabs/images-tab/form-panels/create-common.js b/src/sunstone/public/app/tabs/images-tab/form-panels/create-common.js index a78e8e284a..eb9482ddc0 100644 --- a/src/sunstone/public/app/tabs/images-tab/form-panels/create-common.js +++ b/src/sunstone/public/app/tabs/images-tab/form-panels/create-common.js @@ -33,6 +33,7 @@ define(function(require) { var Config = require('sunstone-config'); var WizardFields = require('utils/wizard-fields'); var ProgressBar = require('utils/progress-bar'); + var Humanize = require('utils/humanize'); var TemplateWizardHTML = require('hbs!./create/wizard'); var TemplateAdvancedHTML = require('hbs!./create/advanced'); @@ -128,6 +129,7 @@ define(function(require) { return false; } + function _setup(context) { var that = this; Tips.setup(context); @@ -290,30 +292,106 @@ define(function(require) { $('#file-uploader-input', context).hide() $("#file-uploader-label", context).html(file.fileName); }); - + var abort = false; that.uploader.on('uploadStart', function() { - $('#upload_progress_bars').append( - '
\ -
\ - ' + Locale.tr("Uploading...") + '\ -
\ -
\ -
'+ - ProgressBar.html(0, 1, fileName) + '\ + var myThis = this; + if(!(myThis.progress() > 0)){ + var element = $('#upload_progress_bars').append( + '
\ +
\ + ' + Locale.tr("Uploading...") + '\
\ -
\ -
'); +
\ +
'+ + ProgressBar.html(0, 1, fileName) + '\ +
\ +
\ + \ + \ + \ +
\ +
\ +
\ +
speed:
\ +
Completed:
\ +
\ +
'); + } + checkUploadSpeed( 10, function ( speed) { + document.getElementById( 'speed' ).textContent = 'speed: ' + Humanize.size(speed) +'s'; + }, element); + $(".close_upload_image").on('click', function(){ + myThis.cancel(); + show=0; + if(element) + element.remove(); + }); + $(".pause_upload_image").on('click', function(){ + myThis.pause(); + $(".pause_upload_image").hide(); + $(".play_upload_image").show(); + }); + $(".play_upload_image").on('click', function(){ + myThis.upload(); + $(".play_upload_image").hide(); + $(".pause_upload_image").show(); + }); + }); that.uploader.on('progress', function() { + document.getElementById( 'percent_progress' ).textContent = 'Completed: ' + (this.progress().toFixed(3)*100).toFixed(1) +'%'; $('div.progressbar', $('div[id="' + fileName + 'progressBar"]')).html( ProgressBar.html(this.progress(), 1, fileName) ); }); } - + return false; } + function checkUploadSpeed( iterations, update, element) { + var index = 0, + timer = window.setInterval( check, 5000 ); //check every 5 seconds + check(element); + + function check(element) { + if(!element){ + window.clearInterval( timer ); + } + else{ + var xhr = new XMLHttpRequest(), + url = '?cache=' + Math.floor( Math.random() * 10000 ), //random number prevents url caching + data = getRandomString( 1 ), //1 meg POST size handled by all servers + startTime, + speed = 0; + xhr.onreadystatechange = function ( event ) { + if( xhr.readyState == 4 ) { + speed = Math.round( 1024 / ( ( new Date() - startTime ) / 1000 ) ); + update( speed ); + index++; + if( index == iterations ) { + window.clearInterval( timer ); + }; + }; + }; + xhr.open( 'POST', url, true ); + startTime = new Date(); + if(xhr && data) + xhr.send( data ); + } + }; + + function getRandomString( sizeInMb ) { + var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789~!@#$%^&*()_+`-=[]\{}|;':,./<>?", //random data prevents gzip effect + iterations = sizeInMb * 1024 * 1024, //get byte count + result = ''; + for( var index = 0; index < iterations; index++ ) { + result += chars.charAt( Math.floor( Math.random() * chars.length ) ); + }; + return result; + }; + }; + function _submitWizard(context) { var that = this; var upload = false; From 8dcabb75234dc82bd905f82a2ff2af188f1ec77f Mon Sep 17 00:00:00 2001 From: juanmont Date: Fri, 18 Nov 2016 20:35:48 +0100 Subject: [PATCH 2/2] Added possibility to remove the file after selecting this --- .../tabs/images-tab/form-panels/create-common.js | 15 +++++++++++++-- .../tabs/images-tab/form-panels/create/wizard.hbs | 1 + 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/sunstone/public/app/tabs/images-tab/form-panels/create-common.js b/src/sunstone/public/app/tabs/images-tab/form-panels/create-common.js index eb9482ddc0..e0683e9d85 100644 --- a/src/sunstone/public/app/tabs/images-tab/form-panels/create-common.js +++ b/src/sunstone/public/app/tabs/images-tab/form-panels/create-common.js @@ -289,10 +289,21 @@ define(function(require) { fileName = file.fileName; file_input = fileName; - $('#file-uploader-input', context).hide() + $('#file-uploader-input', context).hide(); $("#file-uploader-label", context).html(file.fileName); + $("#file-uploader-label", context).show(); + $('#close_image', context).show(); }); - var abort = false; + + $('#close_image', context).on('click', function(){ + console.log("click"); + $("#file-uploader-label", context).hide(); + $('#close_image', context).hide(); + $('#file-uploader-input', context).show(); + fileName= ''; + that.uploader.files.length = 0; + }); + that.uploader.on('uploadStart', function() { var myThis = this; if(!(myThis.progress() > 0)){ diff --git a/src/sunstone/public/app/tabs/images-tab/form-panels/create/wizard.hbs b/src/sunstone/public/app/tabs/images-tab/form-panels/create/wizard.hbs index e5f1c486ef..37db4780e8 100644 --- a/src/sunstone/public/app/tabs/images-tab/form-panels/create/wizard.hbs +++ b/src/sunstone/public/app/tabs/images-tab/form-panels/create/wizard.hbs @@ -92,6 +92,7 @@
+