config.html 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Studio Images</title>
  5. </head>
  6. <body>
  7. <div id="configPage" data-role="page" class="page type-interior pluginConfigurationPage configPage" data-require="emby-input,emby-button,emby-checkbox">
  8. <div data-role="content">
  9. <div class="content-primary">
  10. <h1>Studio Images</h1>
  11. <form class="configForm">
  12. <div class="inputContainer">
  13. <input is="emby-input" type="text" id="repository" label="Repository" />
  14. <div class="fieldDescription">This can be any Jellyfin-compatible artwork repository. Leave blank to use default repository.</div>
  15. </div>
  16. <br />
  17. <div>
  18. <button is="emby-button" type="submit" class="raised button-submit block"><span>Save</span></button>
  19. </div>
  20. </form>
  21. </div>
  22. </div>
  23. <script type="text/javascript">
  24. var PluginConfig = {
  25. pluginId: "872a7849-1171-458d-a6fb-3de3d442ad30"
  26. };
  27. document.querySelector('.configPage')
  28. .addEventListener('pageshow', function () {
  29. Dashboard.showLoadingMsg();
  30. ApiClient.getPluginConfiguration(PluginConfig.pluginId).then(function (config) {
  31. var repository = document.querySelector('#repository');
  32. repository.value = config.RepositoryUrl;
  33. repository.dispatchEvent(new Event('change', {
  34. bubbles: true,
  35. cancelable: false
  36. }));
  37. Dashboard.hideLoadingMsg();
  38. });
  39. });
  40. document.querySelector('.configForm')
  41. .addEventListener('submit', function (e) {
  42. Dashboard.showLoadingMsg();
  43. ApiClient.getPluginConfiguration(PluginConfig.pluginId).then(function (config) {
  44. config.RepositoryUrl = document.querySelector('#repository').value;
  45. ApiClient.updatePluginConfiguration(PluginConfig.pluginId, config).then(Dashboard.processPluginConfigurationUpdateResult);
  46. });
  47. e.preventDefault();
  48. return false;
  49. });
  50. </script>
  51. </div>
  52. </body>
  53. </html>