wn.pages['applications'].onload = function(wrapper) {
wn.ui.make_app_page({
parent: wrapper,
title: wn._('Application Installer'),
icon: "icon-download",
single_column: true
});
wn.call({
method:"webnotes.core.page.applications.applications.get_app_list",
callback: function(r) {
var $main = $(wrapper).find(".layout-main");
if(!keys(r.message).length) {
$main.html('
No Apps Installed
');
return;
}
$main.empty();
// search
$('
').appendTo($main).find(".app-search").on("keyup", function() {
var val = $(this).val();
$main.find(".app-listing").each(function() {
$(this).toggle($(this).attr("data-title").toLowerCase().indexOf(val)!==-1);
});
})
$.each(r.message, function(app_key, app) {
wn.modules[app_key] = {
label: app.app_title,
icon: app.app_icon,
color: app.app_color,
is_app: true
}
app.app_icon = wn.ui.app_icon.get_html(app_key);
$app = $($r('\
\
%(app_icon)s\
\
\
\
\
%(app_title)s
\
%(app_description)s\
Publisher: %(app_publisher)s; Version: %(app_version)s
\
\
\
\
\
', app))
$app.appendTo($main)
if(app.installed) {
$btn = $('');
} else {
$btn = $('')
.attr("data-app", app.app_name)
.on("click", function() {
wn.call({
method:"webnotes.installer.install_app",
args: {name: $(this).attr("data-app")},
callback: function(r) {
if(!r.exc) {
msgprint(" Installed");
msgprint("Refreshing...");
setTimeout(function() { window.location.reload() }, 2000)
}
}
})
});
}
$btn.appendTo($app.find(".button-area"))
})
}
})
}