|
|
|
@ -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,8 +53,12 @@ $(document).ready(function(){ |
|
|
|
|
} |
|
|
|
|
return false; |
|
|
|
|
}); |
|
|
|
|
$('#leftcontent li').click(function(){ |
|
|
|
|
var app=$(this).data('app'); |
|
|
|
|
|
|
|
|
|
$(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); |
|
|
|
@ -41,6 +83,7 @@ $(document).ready(function(){ |
|
|
|
|
} else { |
|
|
|
|
$('#rightcontent p.appslink').hide(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return false; |
|
|
|
|
}); |
|
|
|
|
$('#rightcontent input.enable').click(function(){ |
|
|
|
@ -86,4 +129,6 @@ $(document).ready(function(){ |
|
|
|
|
$('#leftcontent').animate({scrollTop: $(item).offset().top-70}, 'slow','swing'); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
OC.Settings.Apps.loadOCS(); |
|
|
|
|
}); |
|
|
|
|