MetadataConfigurationPage.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. var MetadataConfigurationPage = {
  2. onPageShow: function () {
  3. Dashboard.showLoadingMsg();
  4. var page = this;
  5. var config;
  6. var allCultures;
  7. var allCountries;
  8. ApiClient.getServerConfiguration().done(function (result) {
  9. config = result;
  10. MetadataConfigurationPage.load(page, config, allCultures, allCountries);
  11. });
  12. ApiClient.getCultures().done(function (result) {
  13. MetadataConfigurationPage.populateLanguages(result);
  14. allCultures = result;
  15. MetadataConfigurationPage.load(page, config, allCultures, allCountries);
  16. });
  17. ApiClient.getCountries().done(function (result) {
  18. MetadataConfigurationPage.populateCountries(result);
  19. allCountries = result;
  20. MetadataConfigurationPage.load(page, config, allCultures, allCountries);
  21. });
  22. },
  23. load: function (page, config, allCultures, allCountries) {
  24. if (!config || !allCultures || !allCountries) {
  25. return;
  26. }
  27. $('#chkEnableInternetProviders', page).checked(config.EnableInternetProviders).checkboxradio("refresh");
  28. $('#chkSaveLocal', page).checked(config.SaveLocalMeta).checkboxradio("refresh");
  29. $('#txtRefreshDays', page).val(config.MetadataRefreshDays);
  30. $('#selectLanguage', page).val(config.PreferredMetadataLanguage).selectmenu("refresh");
  31. $('#selectCountry', page).val(config.MetadataCountryCode).selectmenu("refresh");
  32. Dashboard.hideLoadingMsg();
  33. },
  34. populateCountries: function (allCountries) {
  35. var html = "";
  36. html += "<option value=''>None</option>";
  37. for (var i = 0, length = allCountries.length; i < length; i++) {
  38. var culture = allCountries[i];
  39. html += "<option value='" + culture.TwoLetterISORegionName + "'>" + culture.DisplayName + "</option>";
  40. }
  41. $('#selectCountry', '#metadataConfigurationPage').html(html).selectmenu("refresh");
  42. },
  43. populateLanguages: function (allCultures) {
  44. var html = "";
  45. html += "<option value=''>None</option>";
  46. for (var i = 0, length = allCultures.length; i < length; i++) {
  47. var culture = allCultures[i];
  48. html += "<option value='" + culture.TwoLetterISOLanguageName + "'>" + culture.DisplayName + "</option>";
  49. }
  50. $('#selectLanguage', '#metadataConfigurationPage').html(html).selectmenu("refresh");
  51. },
  52. submit: function () {
  53. $('.btnSubmit', $.mobile.activePage)[0].click();
  54. },
  55. onSubmit: function () {
  56. Dashboard.showLoadingMsg();
  57. var form = this;
  58. ApiClient.getServerConfiguration().done(function (config) {
  59. config.EnableInternetProviders = $('#chkEnableInternetProviders', form).checked();
  60. config.SaveLocalMeta = $('#chkSaveLocal', form).checked();
  61. config.MetadataRefreshDays = $('#txtRefreshDays', form).val();
  62. config.PreferredMetadataLanguage = $('#selectLanguage', form).val();
  63. config.MetadataCountryCode = $('#selectCountry', form).val();
  64. ApiClient.updateServerConfiguration(config);
  65. });
  66. // Disable default form submission
  67. return false;
  68. }
  69. };
  70. $(document).on('pageshow', "#metadataConfigurationPage", MetadataConfigurationPage.onPageShow);