@@ -18,18 +18,21 @@ export interface MediaDbPluginSettings {
1818 gameTemplate : string ,
1919 wikiTemplate : string ,
2020 musicReleaseTemplate : string ,
21+ boardgameTemplate : string ,
2122
2223 movieFileNameTemplate : string ,
2324 seriesFileNameTemplate : string ,
2425 gameFileNameTemplate : string ,
2526 wikiFileNameTemplate : string ,
2627 musicReleaseFileNameTemplate : string ,
28+ boardgameFileNameTemplate : string ,
2729
2830 moviePropertyConversionRules : string ,
2931 seriesPropertyConversionRules : string ,
3032 gamePropertyConversionRules : string ,
3133 wikiPropertyConversionRules : string ,
3234 musicReleasePropertyConversionRules : string ,
35+ boardgamePropertyConversionRules : string ,
3336
3437}
3538
@@ -45,19 +48,21 @@ export const DEFAULT_SETTINGS: MediaDbPluginSettings = {
4548 gameTemplate : '' ,
4649 wikiTemplate : '' ,
4750 musicReleaseTemplate : '' ,
51+ boardgameTemplate : '' ,
4852
4953 movieFileNameTemplate : '{{ title }} ({{ year }})' ,
5054 seriesFileNameTemplate : '{{ title }} ({{ year }})' ,
5155 gameFileNameTemplate : '{{ title }} ({{ year }})' ,
5256 wikiFileNameTemplate : '{{ title }}' ,
5357 musicReleaseFileNameTemplate : '{{ title }} (by {{ ENUM:artists }} - {{ year }})' ,
58+ boardgameFileNameTemplate : '{{ title }} ({{ year }})' ,
5459
5560 moviePropertyConversionRules : '' ,
5661 seriesPropertyConversionRules : '' ,
5762 gamePropertyConversionRules : '' ,
5863 wikiPropertyConversionRules : '' ,
5964 musicReleasePropertyConversionRules : '' ,
60-
65+ boardgamePropertyConversionRules : '' ,
6166
6267} ;
6368
@@ -201,6 +206,19 @@ export class MediaDbSettingTab extends PluginSettingTab {
201206 this . plugin . saveSettings ( ) ;
202207 } ) ;
203208 } ) ;
209+
210+ new Setting ( containerEl )
211+ . setName ( 'Board Game template' )
212+ . setDesc ( 'Template file to be used when creating a new note for a boardgame.' )
213+ . addSearch ( cb => {
214+ new FileSuggest ( this . app , cb . inputEl ) ;
215+ cb . setPlaceholder ( 'Example: boardgameTemplate.md' )
216+ . setValue ( this . plugin . settings . boardgameTemplate )
217+ . onChange ( data => {
218+ this . plugin . settings . boardgameTemplate = data ;
219+ this . plugin . saveSettings ( ) ;
220+ } ) ;
221+ } ) ;
204222 // endregion
205223
206224 containerEl . createEl ( 'h3' , { text : 'File Name Settings' } ) ;
@@ -264,6 +282,18 @@ export class MediaDbSettingTab extends PluginSettingTab {
264282 this . plugin . saveSettings ( ) ;
265283 } ) ;
266284 } ) ;
285+
286+ new Setting ( containerEl )
287+ . setName ( 'Board Game file name template' )
288+ . setDesc ( 'Template for the file name used when creating a new note for a boardgame.' )
289+ . addText ( cb => {
290+ cb . setPlaceholder ( `Example: ${ DEFAULT_SETTINGS . boardgameFileNameTemplate } ` )
291+ . setValue ( this . plugin . settings . boardgameFileNameTemplate )
292+ . onChange ( data => {
293+ this . plugin . settings . boardgameFileNameTemplate = data ;
294+ this . plugin . saveSettings ( ) ;
295+ } ) ;
296+ } ) ;
267297 // endregion
268298
269299 containerEl . createEl ( 'h3' , { text : 'Property Mappings' } ) ;
@@ -327,6 +357,18 @@ export class MediaDbSettingTab extends PluginSettingTab {
327357 this . plugin . saveSettings ( ) ;
328358 } ) ;
329359 } ) ;
360+
361+ new Setting ( containerEl )
362+ . setName ( 'Board Game model property mappings' )
363+ . setDesc ( 'Mappings for the property names of a boardgame.' )
364+ . addTextArea ( cb => {
365+ cb . setPlaceholder ( `Example: \ntitle -> name\nyear -> releaseYear` )
366+ . setValue ( this . plugin . settings . boardgamePropertyConversionRules )
367+ . onChange ( data => {
368+ this . plugin . settings . boardgamePropertyConversionRules = data ;
369+ this . plugin . saveSettings ( ) ;
370+ } ) ;
371+ } ) ;
330372 // endregion
331373
332374 }
0 commit comments