last fixes for #26
This commit is contained in:
parent
61ebbc8599
commit
0a28acae7b
4 changed files with 33 additions and 7 deletions
|
|
@ -46,7 +46,7 @@ export class MediaDbFolderImportModal extends Modal {
|
||||||
const appendContentToggleElementWrapper = contentEl.createEl('div', {cls: 'media-db-plugin-list-wrapper'});
|
const appendContentToggleElementWrapper = contentEl.createEl('div', {cls: 'media-db-plugin-list-wrapper'});
|
||||||
const appendContentToggleTextWrapper = appendContentToggleElementWrapper.createEl('div', {cls: 'media-db-plugin-list-text-wrapper'});
|
const appendContentToggleTextWrapper = appendContentToggleElementWrapper.createEl('div', {cls: 'media-db-plugin-list-text-wrapper'});
|
||||||
appendContentToggleTextWrapper.createEl('span', {
|
appendContentToggleTextWrapper.createEl('span', {
|
||||||
text: 'If this is enabled, the plugin will override meta data fields with the same name.',
|
text: 'If this is enabled, the plugin will override metadata fields with the same name.',
|
||||||
cls: 'media-db-plugin-list-text',
|
cls: 'media-db-plugin-list-text',
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -59,7 +59,7 @@ export class MediaDbFolderImportModal extends Modal {
|
||||||
|
|
||||||
|
|
||||||
contentEl.createDiv({cls: 'media-db-plugin-spacer'});
|
contentEl.createDiv({cls: 'media-db-plugin-spacer'});
|
||||||
contentEl.createEl('h3', {text: 'The name of the mata data field that should be used as the title to query'});
|
contentEl.createEl('h3', {text: 'The name of the metadata field that should be used as the title to query.'});
|
||||||
|
|
||||||
const placeholder = 'title';
|
const placeholder = 'title';
|
||||||
const titleFieldNameComponent = new TextComponent(contentEl);
|
const titleFieldNameComponent = new TextComponent(contentEl);
|
||||||
|
|
|
||||||
|
|
@ -72,11 +72,13 @@ export abstract class SelectModal<T> extends Modal {
|
||||||
contentEl.createEl('h2', {text: this.title});
|
contentEl.createEl('h2', {text: this.title});
|
||||||
contentEl.createEl('p', {text: this.description});
|
contentEl.createEl('p', {text: this.description});
|
||||||
|
|
||||||
|
contentEl.addClass('media-db-plugin-select-modal');
|
||||||
|
|
||||||
const elementWrapper = contentEl.createDiv({cls: 'media-db-plugin-select-wrapper'});
|
const elementWrapper = contentEl.createDiv({cls: 'media-db-plugin-select-wrapper'});
|
||||||
|
|
||||||
let i = 0;
|
let i = 0;
|
||||||
for (const element of this.elements) {
|
for (const element of this.elements) {
|
||||||
const selectModalElement = new SelectModalElement(element, contentEl, i, this, false);
|
const selectModalElement = new SelectModalElement(element, elementWrapper, i, this, false);
|
||||||
|
|
||||||
this.selectModalElements.push(selectModalElement);
|
this.selectModalElements.push(selectModalElement);
|
||||||
|
|
||||||
|
|
@ -85,6 +87,8 @@ export abstract class SelectModal<T> extends Modal {
|
||||||
i += 1;
|
i += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.selectModalElements.first()?.element.scrollIntoView();
|
||||||
|
|
||||||
const bottomSetting = new Setting(contentEl);
|
const bottomSetting = new Setting(contentEl);
|
||||||
bottomSetting.addButton(btn => btn.setButtonText('Cancel').onClick(() => this.close()));
|
bottomSetting.addButton(btn => btn.setButtonText('Cancel').onClick(() => this.close()));
|
||||||
if (this.skipButton) {
|
if (this.skipButton) {
|
||||||
|
|
|
||||||
|
|
@ -7,8 +7,11 @@ import {FileSuggest} from './suggesters/FileSuggest';
|
||||||
|
|
||||||
export interface MediaDbPluginSettings {
|
export interface MediaDbPluginSettings {
|
||||||
folder: string,
|
folder: string,
|
||||||
sfwFilter: boolean,
|
|
||||||
OMDbKey: string,
|
OMDbKey: string,
|
||||||
|
sfwFilter: boolean,
|
||||||
|
useCustomYamlStringifier: boolean;
|
||||||
|
templates: boolean,
|
||||||
|
|
||||||
|
|
||||||
movieTemplate: string,
|
movieTemplate: string,
|
||||||
seriesTemplate: string,
|
seriesTemplate: string,
|
||||||
|
|
@ -28,13 +31,14 @@ export interface MediaDbPluginSettings {
|
||||||
wikiPropertyConversionRules: string,
|
wikiPropertyConversionRules: string,
|
||||||
musicReleasePropertyConversionRules: string,
|
musicReleasePropertyConversionRules: string,
|
||||||
|
|
||||||
templates: boolean,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export const DEFAULT_SETTINGS: MediaDbPluginSettings = {
|
export const DEFAULT_SETTINGS: MediaDbPluginSettings = {
|
||||||
folder: 'Media DB',
|
folder: 'Media DB',
|
||||||
sfwFilter: true,
|
|
||||||
OMDbKey: '',
|
OMDbKey: '',
|
||||||
|
sfwFilter: true,
|
||||||
|
useCustomYamlStringifier: true,
|
||||||
|
templates: true,
|
||||||
|
|
||||||
movieTemplate: '',
|
movieTemplate: '',
|
||||||
seriesTemplate: '',
|
seriesTemplate: '',
|
||||||
|
|
@ -54,7 +58,7 @@ export const DEFAULT_SETTINGS: MediaDbPluginSettings = {
|
||||||
wikiPropertyConversionRules: '',
|
wikiPropertyConversionRules: '',
|
||||||
musicReleasePropertyConversionRules: '',
|
musicReleasePropertyConversionRules: '',
|
||||||
|
|
||||||
templates: true,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export class MediaDbSettingTab extends PluginSettingTab {
|
export class MediaDbSettingTab extends PluginSettingTab {
|
||||||
|
|
@ -108,6 +112,17 @@ export class MediaDbSettingTab extends PluginSettingTab {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
new Setting(containerEl)
|
||||||
|
.setName('YAML formatter')
|
||||||
|
.setDesc('Add optional quotation marks around strings in the metadata block.')
|
||||||
|
.addToggle(cb => {
|
||||||
|
cb.setValue(this.plugin.settings.useCustomYamlStringifier)
|
||||||
|
.onChange(data => {
|
||||||
|
this.plugin.settings.useCustomYamlStringifier = data;
|
||||||
|
this.plugin.saveSettings();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
new Setting(containerEl)
|
new Setting(containerEl)
|
||||||
.setName('Resolve {{ tags }} in templates')
|
.setName('Resolve {{ tags }} in templates')
|
||||||
.setDesc('Whether to resolve {{ tags }} in templates. The spaces inside the curly braces are important.')
|
.setDesc('Whether to resolve {{ tags }} in templates. The spaces inside the curly braces are important.')
|
||||||
|
|
|
||||||
|
|
@ -22,8 +22,15 @@ small.media-db-plugin-list-text{
|
||||||
color: var(--text-muted);
|
color: var(--text-muted);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.media-db-plugin-select-modal {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
.media-db-plugin-select-wrapper {
|
.media-db-plugin-select-wrapper {
|
||||||
margin: 5px;
|
margin: 5px;
|
||||||
|
flex: 1;
|
||||||
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.media-db-plugin-select-element {
|
.media-db-plugin-select-element {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue