config.html 3.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>TMDb</title>
  5. </head>
  6. <body>
  7. <div 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. <form class="configForm">
  11. <label class="checkboxContainer">
  12. <input is="emby-checkbox" type="checkbox" id="includeAdult" />
  13. <span>Include adult content in search results.</span>
  14. </label>
  15. <label class="checkboxContainer">
  16. <input is="emby-checkbox" type="checkbox" id="excludeTagsSeries" />
  17. <span>Exclude tags/keywords from metadata fetched for series.</span>
  18. </label>
  19. <label class="checkboxContainer">
  20. <input is="emby-checkbox" type="checkbox" id="excludeTagsMovies" />
  21. <span>Exclude tags/keywords from metadata fetched for movies.</span>
  22. </label>
  23. <div class="inputContainer">
  24. <input is="emby-input" type="number" id="maxCastMembers" pattern="[0-9]*" required min="0" max="1000" label="Max Cast Members" />
  25. <div class="fieldDescription">The maximum number of cast members to fetch for an item.</div>
  26. </div>
  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 PluginConfig = {
  36. pluginId: "b8715ed1-6c47-4528-9ad3-f72deb539cd4"
  37. };
  38. document.querySelector('.configPage')
  39. .addEventListener('pageshow', function () {
  40. Dashboard.showLoadingMsg();
  41. ApiClient.getPluginConfiguration(PluginConfig.pluginId).then(function (config) {
  42. document.querySelector('#includeAdult').checked = config.IncludeAdult;
  43. document.querySelector('#excludeTagsSeries').checked = config.ExcludeTagsSeries;
  44. document.querySelector('#excludeTagsMovies').checked = config.ExcludeTagsMovies;
  45. var maxCastMembers = document.querySelector('#maxCastMembers');
  46. maxCastMembers.value = config.MaxCastMembers;
  47. maxCastMembers.dispatchEvent(new Event('change', {
  48. bubbles: true,
  49. cancelable: false
  50. }));
  51. Dashboard.hideLoadingMsg();
  52. });
  53. });
  54. document.querySelector('.configForm')
  55. .addEventListener('submit', function (e) {
  56. Dashboard.showLoadingMsg();
  57. ApiClient.getPluginConfiguration(PluginConfig.pluginId).then(function (config) {
  58. config.IncludeAdult = document.querySelector('#includeAdult').checked;
  59. config.ExcludeTagsSeries = document.querySelector('#excludeTagsSeries').checked;
  60. config.ExcludeTagsMovies = document.querySelector('#excludeTagsMovies').checked;
  61. config.MaxCastMembers = document.querySelector('#maxCastMembers').value;
  62. ApiClient.updatePluginConfiguration(PluginConfig.pluginId, config).then(Dashboard.processPluginConfigurationUpdateResult);
  63. });
  64. e.preventDefault();
  65. return false;
  66. });
  67. </script>
  68. </div>
  69. </body>
  70. </html>