config.html 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>MusicBrainz</title>
  5. </head>
  6. <body>
  7. <div data-role="page" class="page type-interior pluginConfigurationPage musicBrainzConfigPage" data-require="emby-input,emby-button,emby-checkbox">
  8. <div data-role="content">
  9. <div class="content-primary">
  10. <form class="musicBrainzConfigForm">
  11. <div class="inputContainer">
  12. <input is="emby-input" type="text" id="server" label="Server:" />
  13. <div class="fieldDescription">This can either be a mirror of the official server or a custom server.</div>
  14. </div>
  15. <div class="inputContainer">
  16. <input is="emby-input" type="number" id="rateLimit" pattern="[0-9]*" required min="400" max="10000" label="Rate Limit:" />
  17. <div class="fieldDescription">Span of time between each request in milliseconds.</div>
  18. </div>
  19. <label class="checkboxContainer">
  20. <input is="emby-checkbox" type="checkbox" id="enable" />
  21. <span>Enable this provider for metadata searches on artists and albums.</span>
  22. </label>
  23. <label class="checkboxContainer">
  24. <input is="emby-checkbox" type="checkbox" id="replaceArtistName" />
  25. <span>When an artist is found during a metadata search, replace the artist name with the value on the server.</span>
  26. </label>
  27. <br />
  28. <div>
  29. <button is="emby-button" type="submit" class="raised button-submit block"><span>Save</span></button>
  30. </div>
  31. </form>
  32. </div>
  33. </div>
  34. <script type="text/javascript">
  35. var MusicBrainzPluginConfig = {
  36. uniquePluginId: "8c95c4d2-e50c-4fb0-a4f3-6c06ff0f9a1a"
  37. };
  38. $('.musicBrainzConfigPage').on('pageshow', function () {
  39. Dashboard.showLoadingMsg();
  40. ApiClient.getPluginConfiguration(MusicBrainzPluginConfig.uniquePluginId).then(function (config) {
  41. $('#server').val(config.Server).change();
  42. $('#rateLimit').val(config.RateLimit).change();
  43. $('#enable').checked(config.Enable);
  44. $('#replaceArtistName').checked(config.ReplaceArtistName);
  45. Dashboard.hideLoadingMsg();
  46. });
  47. });
  48. $('.musicBrainzConfigForm').on('submit', function (e) {
  49. Dashboard.showLoadingMsg();
  50. var form = this;
  51. ApiClient.getPluginConfiguration(MusicBrainzPluginConfig.uniquePluginId).then(function (config) {
  52. config.Server = $('#server', form).val();
  53. config.RateLimit = $('#rateLimit', form).val();
  54. config.Enable = $('#enable', form).checked();
  55. config.ReplaceArtistName = $('#replaceArtistName', form).checked();
  56. ApiClient.updatePluginConfiguration(MusicBrainzPluginConfig.uniquePluginId, config).then(Dashboard.processPluginConfigurationUpdateResult);
  57. });
  58. return false;
  59. });
  60. </script>
  61. </div>
  62. </body>
  63. </html>