var PluginUpdatesPage = {
onPageShow: function () {
Dashboard.showLoadingMsg();
$('.liPluginUpdate', this).remove();
ApiClient.getInstalledPlugins().done(PluginUpdatesPage.loadPlugins);
},
loadPlugins: function (plugins) {
plugins = plugins.filter(function (p) {
return !p.IsCorePlugin;
});
var elem = $('#tbodyPluginUpdates', $.mobile.activePage).html('');
for (var i = 0, length = plugins.length; i < length; i++) {
PluginUpdatesPage.addPlugin(plugins[i], i, elem);
}
Dashboard.hideLoadingMsg();
},
addPlugin: function (plugin, fieldIndex, elem) {
var html = "";
html += "
";
html += "" + plugin.Name + " | ";
var fieldId = "liPluginUpdateFielda" + fieldIndex;
var options = PluginUpdatesPage.getHtmlOptions(["Off", "On"], (plugin.EnableAutoUpdate ? "On" : "Off"));
html += "";
html += "";
html += " | ";
fieldId = "liPluginUpdateFieldb" + fieldIndex;
options = PluginUpdatesPage.getHtmlOptions(["Release", "Beta", "Dev"], plugin.UpdateClass);
html += "";
html += "";
html += " | ";
html += "
";
elem.append(html).trigger('create');
},
getHtmlOptions: function (names, selectedValue) {
var html = "";
for (var i = 0, length = names.length; i < length; i++) {
var name = names[i];
if (name == selectedValue) {
html += '';
} else {
html += '';
}
}
return html;
},
setAutoUpdate: function (select) {
var id = $(select).attr('data-id');
Dashboard.showLoadingMsg();
ApiClient.getPluginConfiguration(id).done(function (config) {
config.EnableAutoUpdate = select.selectedIndex === 1;
ApiClient.updatePluginConfiguration(id, config).done(Dashboard.hideLoadingMsg);
});
},
setUpdateClass: function (select) {
var id = $(select).attr('data-id');
Dashboard.showLoadingMsg();
ApiClient.getPluginConfiguration(id).done(function (config) {
config.UpdateClass = select.value;
ApiClient.updatePluginConfiguration(id, config).done(Dashboard.hideLoadingMsg);
});
}
};
$(document).on('pageshow', "#pluginUpdatesPage", PluginUpdatesPage.onPageShow);