Applied fixes for review
Use MediaType[] instead of string[], changed variables to lowercase
This commit is contained in:
parent
72198abd33
commit
d5c760e72b
1 changed files with 22 additions and 22 deletions
|
|
@ -22,17 +22,17 @@ export interface MediaDbPluginSettings {
|
||||||
openNoteInNewTab: boolean;
|
openNoteInNewTab: boolean;
|
||||||
useDefaultFrontMatter: boolean;
|
useDefaultFrontMatter: boolean;
|
||||||
enableTemplaterIntegration: boolean;
|
enableTemplaterIntegration: boolean;
|
||||||
OMDbAPI_disabledMediaTypes: string[];
|
OMDbAPI_disabledMediaTypes: MediaType[];
|
||||||
MALAPI_disabledMediaTypes: string[];
|
MALAPI_disabledMediaTypes: MediaType[];
|
||||||
MALAPIManga_disabledMediaTypes: string[];
|
MALAPIManga_disabledMediaTypes: MediaType[];
|
||||||
ComicVineAPI_disabledMediaTypes: string[];
|
ComicVineAPI_disabledMediaTypes: MediaType[];
|
||||||
SteamAPI_disabledMediaTypes: string[];
|
SteamAPI_disabledMediaTypes: MediaType[];
|
||||||
MobyGamesAPI_disabledMediaTypes: string[];
|
MobyGamesAPI_disabledMediaTypes: MediaType[];
|
||||||
GiantBombAPI_disabledMediaTypes: string[];
|
GiantBombAPI_disabledMediaTypes: MediaType[];
|
||||||
WikipediaAPI_disabledMediaTypes: string[];
|
WikipediaAPI_disabledMediaTypes: MediaType[];
|
||||||
BoardgameGeekAPI_disabledMediaTypes: string[];
|
BoardgameGeekAPI_disabledMediaTypes: MediaType[];
|
||||||
MusicBrainzAPI_disabledMediaTypes: string[];
|
MusicBrainzAPI_disabledMediaTypes: MediaType[];
|
||||||
OpenLibraryAPI_disabledMediaTypes: string[];
|
OpenLibraryAPI_disabledMediaTypes: MediaType[];
|
||||||
movieTemplate: string;
|
movieTemplate: string;
|
||||||
seriesTemplate: string;
|
seriesTemplate: string;
|
||||||
mangaTemplate: string;
|
mangaTemplate: string;
|
||||||
|
|
@ -299,15 +299,15 @@ export class MediaDbSettingTab extends PluginSettingTab {
|
||||||
});
|
});
|
||||||
|
|
||||||
// Create a map to store APIs for each media type
|
// Create a map to store APIs for each media type
|
||||||
const mediaTypeApiMap = new Map<string, string[]>();
|
const mediaTypeApiMap = new Map<MediaType, string[]>();
|
||||||
|
|
||||||
// Populate the map with APIs for each media type dynamically
|
// Populate the map with APIs for each media type dynamically
|
||||||
for (const api of this.plugin.apiManager.apis) {
|
for (const api of this.plugin.apiManager.apis) {
|
||||||
for (const MediaType of api.types) {
|
for (const mediaType of api.types) {
|
||||||
if (!mediaTypeApiMap.has(MediaType)) {
|
if (!mediaTypeApiMap.has(mediaType)) {
|
||||||
mediaTypeApiMap.set(MediaType, []);
|
mediaTypeApiMap.set(mediaType, []);
|
||||||
}
|
}
|
||||||
mediaTypeApiMap.get(MediaType)!.push(api.apiName);
|
mediaTypeApiMap.get(mediaType)!.push(api.apiName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -315,24 +315,24 @@ export class MediaDbSettingTab extends PluginSettingTab {
|
||||||
const filteredMediaTypes = Array.from(mediaTypeApiMap.entries()).filter(([_, apis]) => apis.length > 1);
|
const filteredMediaTypes = Array.from(mediaTypeApiMap.entries()).filter(([_, apis]) => apis.length > 1);
|
||||||
|
|
||||||
// Dynamically create settings based on the filtered media types and their APIs
|
// Dynamically create settings based on the filtered media types and their APIs
|
||||||
for (const [MediaType, apis] of filteredMediaTypes) {
|
for (const [mediaType, apis] of filteredMediaTypes) {
|
||||||
new Setting(containerEl).setName(`Select APIs for ${unCamelCase(MediaType)}`).setHeading();
|
new Setting(containerEl).setName(`Select APIs for ${unCamelCase(mediaType)}`).setHeading();
|
||||||
for (const apiName of apis) {
|
for (const apiName of apis) {
|
||||||
const api = this.plugin.apiManager.apis.find(api => api.apiName === apiName);
|
const api = this.plugin.apiManager.apis.find(api => api.apiName === apiName);
|
||||||
if (api) {
|
if (api) {
|
||||||
const disabledMediaTypes = api.getDisabledMediaTypes();
|
const disabledMediaTypes = api.getDisabledMediaTypes();
|
||||||
new Setting(containerEl)
|
new Setting(containerEl)
|
||||||
.setName(apiName)
|
.setName(apiName)
|
||||||
.setDesc(`Use ${apiName} API for ${unCamelCase(MediaType)}.`)
|
.setDesc(`Use ${apiName} API for ${unCamelCase(mediaType)}.`)
|
||||||
.addToggle(cb => {
|
.addToggle(cb => {
|
||||||
cb.setValue(!disabledMediaTypes.includes(MediaType as MediaType)).onChange(data => {
|
cb.setValue(!disabledMediaTypes.includes(mediaType)).onChange(data => {
|
||||||
if (data) {
|
if (data) {
|
||||||
const index = disabledMediaTypes.indexOf(MediaType as MediaType);
|
const index = disabledMediaTypes.indexOf(mediaType);
|
||||||
if (index > -1) {
|
if (index > -1) {
|
||||||
disabledMediaTypes.splice(index, 1);
|
disabledMediaTypes.splice(index, 1);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
disabledMediaTypes.push(MediaType as MediaType);
|
disabledMediaTypes.push(mediaType);
|
||||||
}
|
}
|
||||||
void this.plugin.saveSettings();
|
void this.plugin.saveSettings();
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue