summaryrefslogtreecommitdiffstats
path: root/apps/calendar/js
diff options
context:
space:
mode:
authorGeorg Ehrke <ownclouddev@georgswebsite.de>2012-01-14 14:22:30 +0100
committerGeorg Ehrke <ownclouddev@georgswebsite.de>2012-01-14 14:22:30 +0100
commit868cf4629051c557312b63acbb3e6facd8f0f86e (patch)
treef8bc9b372a37faaceeead53ea7877804eb215502 /apps/calendar/js
parentf9c4975a456940bb24cacd6723a37f2857fbc65c (diff)
downloadnextcloud-server-868cf4629051c557312b63acbb3e6facd8f0f86e.tar.gz
nextcloud-server-868cf4629051c557312b63acbb3e6facd8f0f86e.zip
improve import function
Diffstat (limited to 'apps/calendar/js')
-rw-r--r--apps/calendar/js/loader.js43
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(){