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")) }) } }) }