diff options
author | Georg Ehrke <ownclouddev@georgswebsite.de> | 2012-01-14 14:22:30 +0100 |
---|---|---|
committer | Georg Ehrke <ownclouddev@georgswebsite.de> | 2012-01-14 14:22:30 +0100 |
commit | 868cf4629051c557312b63acbb3e6facd8f0f86e (patch) | |
tree | f8bc9b372a37faaceeead53ea7877804eb215502 /apps/calendar/js | |
parent | f9c4975a456940bb24cacd6723a37f2857fbc65c (diff) | |
download | nextcloud-server-868cf4629051c557312b63acbb3e6facd8f0f86e.tar.gz nextcloud-server-868cf4629051c557312b63acbb3e6facd8f0f86e.zip |
improve import function
Diffstat (limited to 'apps/calendar/js')
-rw-r--r-- | apps/calendar/js/loader.js | 43 |
1 files changed, 36 insertions, 7 deletions
diff --git a/apps/calendar/js/loader.js b/apps/calendar/js/loader.js index 50a7b082d98..4e483f9864e 100644 --- a/apps/calendar/js/loader.js +++ b/apps/calendar/js/loader.js @@ -1,3 +1,9 @@ +/** + * Copyright (c) 2012 Georg Ehrke <ownclouddev at georgswebsite dot de> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ Calendar_Import={ importdialog: function(filename){ var path = $('#dir').val(); @@ -5,23 +11,31 @@ Calendar_Import={ $('#calendar_import').load(OC.filePath('calendar', 'ajax', 'importdialog.php'), {filename:filename, path:path}, function(){Calendar_Import.initdialog(filename);}); }, initdialog: function(filename){ - $("#calendar_import_dialog").dialog({ + $('#calendar_import_dialog').dialog({ width : 500, close : function() { $(this).dialog('destroy').remove(); - $("#calendar_import").remove(); + $('#calendar_import').remove(); } }); - $('#progressbar').progressbar({value: 87}); + $('#import_done_button').click(function(){ + $('#calendar_import_dialog').dialog('destroy').remove(); + $('#calendar_import').remove(); + }); + $('#progressbar').progressbar({value: 0}); $('#startimport').click(function(){ var filename = $('#filename').val(); var path = $('#path').val(); + var calid = $('#calendar option:selected').val(); if($('#calendar option:selected').val() == 'newcal'){ var method = 'new'; var calname = $('#newcalendar').val(); var calname = $.trim(calname); if(calname == ''){ $('#newcalendar').css('background-color', '#FF2626'); + $('#newcalendar').focus(function(){ + $('#newcalendar').css('background-color', '#F8F8F8'); + }); return false; } }else{ @@ -29,8 +43,16 @@ Calendar_Import={ } $('#newcalendar').attr('readonly', 'readonly'); $('#calendar').attr('disabled', 'disabled'); - $.post(OC.filePath('calendar', '', 'import.php'), {'method':method, 'calname':calname, 'path':path, 'file':filename}, function(){}); - $('#progressbar').slideDown('slow'); + var progressfile = $('#progressfile').val(); + $.post(OC.filePath('calendar', '', 'import.php'), {method: String (method), calname: String (calname), path: String (path), file: String (filename), id: String (calid)}, function(data){ + if(data.status == 'success'){ + $('#progressbar').progressbar('option', 'value', 100); + $('#import_done').css('display', 'block'); + } + }); + $('#form_container').css('display', 'none'); + $('#progressbar_container').css('display', 'block'); + window.setTimeout('Calendar_Import.getimportstatus(\'' + progressfile + '\')', 500); }); $('#calendar').change(function(){ if($('#calendar option:selected').val() == 'newcal'){ @@ -40,8 +62,15 @@ Calendar_Import={ } }); }, - getimportstatus: function(){ - + getimportstatus: function(progressfile){ + $.get(OC.filePath('calendar', 'import_tmp', progressfile), function(percent){ + $('#progressbar').progressbar('option', 'value', parseInt(percent)); + if(percent < 100){ + window.setTimeout('Calendar_Import.getimportstatus(\'' + progressfile + '\')', 500); + }else{ + $('#import_done').css('display', 'block');
+ } + }); } } $(document).ready(function(){ |