|
|
|
@ -1,13 +1,51 @@ |
|
|
|
|
/** |
|
|
|
|
* Copyright (c) 2011, Robin Appelman <icewind1991@gmail.com> |
|
|
|
|
* Copyright (c) 2012, Thomas Tanghus <thomas@tanghus.net> |
|
|
|
|
* This file is licensed under the Affero General Public License version 3 or later. |
|
|
|
|
* See the COPYING-README file. |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
OC.Settings = OC.Settings || {}; |
|
|
|
|
OC.Settings.Apps = OC.Settings.Apps || { |
|
|
|
|
loadOCS:function() { |
|
|
|
|
$.getJSON(OC.filePath('settings', 'ajax', 'apps/ocs.php'), function(jsondata) { |
|
|
|
|
if(jsondata.status == 'success'){ |
|
|
|
|
var apps = jsondata.data; |
|
|
|
|
$.each(apps, function(b, appdata) { |
|
|
|
|
OC.Settings.Apps.insertApp(appdata); |
|
|
|
|
}); |
|
|
|
|
} else { |
|
|
|
|
OC.dialogs.alert(jsondata.data.message, t('core', 'Error')); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
}, |
|
|
|
|
insertApp:function(appdata) { |
|
|
|
|
var applist = $('#leftcontent li'); |
|
|
|
|
var app = |
|
|
|
|
$('<li data-id="'+appdata.id+'" data-type="external" data-installed="0">' |
|
|
|
|
+ '<a class="app externalapp" href="'+OC.filePath('settings', 'apps', 'index.php')+'&appid=' + appdata.id+'">' |
|
|
|
|
+ appdata.name+'</a><small class="externalapp list">3rd party</small></li>'); |
|
|
|
|
app.data('app', appdata); |
|
|
|
|
var added = false; |
|
|
|
|
applist.each(function() { |
|
|
|
|
if(!parseInt($(this).data('installed')) && $(this).find('a').text().toLowerCase() > appdata.name.toLowerCase()) { |
|
|
|
|
$(this).before(app); |
|
|
|
|
added = true; |
|
|
|
|
return false; // dang, remember this to get out of loop
|
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
if(!added) { |
|
|
|
|
applist.last().after(app); |
|
|
|
|
} |
|
|
|
|
return app; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$(document).ready(function(){ |
|
|
|
|
$('#leftcontent li').each(function(index,li){ |
|
|
|
|
var app=$.parseJSON($(this).children('span').text()); |
|
|
|
|
var app = $.parseJSON($(this).children('span').text()); |
|
|
|
|
$(li).data('app',app); |
|
|
|
|
$(this).find('span.hidden').remove(); |
|
|
|
|
}); |
|
|
|
|
$('#leftcontent li').keydown(function(event) { |
|
|
|
|
if (event.which == 13 || event.which == 32) { |
|
|
|
@ -15,31 +53,36 @@ $(document).ready(function(){ |
|
|
|
|
} |
|
|
|
|
return false; |
|
|
|
|
}); |
|
|
|
|
$('#leftcontent li').click(function(){ |
|
|
|
|
var app=$(this).data('app'); |
|
|
|
|
$('#rightcontent p.license').show(); |
|
|
|
|
$('#rightcontent span.name').text(app.name); |
|
|
|
|
$('#rightcontent small.externalapp').text(app.internallabel); |
|
|
|
|
if (app.version) { |
|
|
|
|
$('#rightcontent span.version').text(app.version); |
|
|
|
|
} else { |
|
|
|
|
$('#rightcontent span.version').text(''); |
|
|
|
|
} |
|
|
|
|
$('#rightcontent p.description').text(app.description); |
|
|
|
|
$('#rightcontent img.preview').attr('src',app.preview); |
|
|
|
|
$('#rightcontent small.externalapp').attr('style','visibility:visible'); |
|
|
|
|
$('#rightcontent span.author').text(app.author); |
|
|
|
|
$('#rightcontent span.licence').text(app.licence); |
|
|
|
|
|
|
|
|
|
$('#rightcontent input.enable').show(); |
|
|
|
|
$('#rightcontent input.enable').val((app.active)?t('settings','Disable'):t('settings','Enable')); |
|
|
|
|
$('#rightcontent input.enable').data('appid',app.id); |
|
|
|
|
$('#rightcontent input.enable').data('active',app.active); |
|
|
|
|
if ( app.internal == false ) { |
|
|
|
|
$('#rightcontent p.appslink').show(); |
|
|
|
|
$('#rightcontent a').attr('href','http://apps.owncloud.com/content/show.php?content='+app.id); |
|
|
|
|
} else { |
|
|
|
|
$('#rightcontent p.appslink').hide(); |
|
|
|
|
|
|
|
|
|
$(document).on('click', '#leftcontent', function(event){ |
|
|
|
|
var tgt = $(event.target); |
|
|
|
|
if (tgt.is('li') || tgt.is('a')) { |
|
|
|
|
var item = tgt.is('li') ? $(tgt) : $(tgt).parent(); |
|
|
|
|
var app = item.data('app'); |
|
|
|
|
$('#rightcontent p.license').show(); |
|
|
|
|
$('#rightcontent span.name').text(app.name); |
|
|
|
|
$('#rightcontent small.externalapp').text(app.internallabel); |
|
|
|
|
if (app.version) { |
|
|
|
|
$('#rightcontent span.version').text(app.version); |
|
|
|
|
} else { |
|
|
|
|
$('#rightcontent span.version').text(''); |
|
|
|
|
} |
|
|
|
|
$('#rightcontent p.description').text(app.description); |
|
|
|
|
$('#rightcontent img.preview').attr('src',app.preview); |
|
|
|
|
$('#rightcontent small.externalapp').attr('style','visibility:visible'); |
|
|
|
|
$('#rightcontent span.author').text(app.author); |
|
|
|
|
$('#rightcontent span.licence').text(app.licence); |
|
|
|
|
|
|
|
|
|
$('#rightcontent input.enable').show(); |
|
|
|
|
$('#rightcontent input.enable').val((app.active)?t('settings','Disable'):t('settings','Enable')); |
|
|
|
|
$('#rightcontent input.enable').data('appid',app.id); |
|
|
|
|
$('#rightcontent input.enable').data('active',app.active); |
|
|
|
|
if ( app.internal == false ) { |
|
|
|
|
$('#rightcontent p.appslink').show(); |
|
|
|
|
$('#rightcontent a').attr('href','http://apps.owncloud.com/content/show.php?content='+app.id); |
|
|
|
|
} else { |
|
|
|
|
$('#rightcontent p.appslink').hide(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return false; |
|
|
|
|
}); |
|
|
|
@ -77,7 +120,7 @@ $(document).ready(function(){ |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(appid) { |
|
|
|
|
var item = $('#leftcontent li[data-id="'+appid+'"]'); |
|
|
|
|
if(item) { |
|
|
|
@ -86,4 +129,6 @@ $(document).ready(function(){ |
|
|
|
|
$('#leftcontent').animate({scrollTop: $(item).offset().top-70}, 'slow','swing'); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
OC.Settings.Apps.loadOCS(); |
|
|
|
|
}); |
|
|
|
|