|
@@ -11,7 +11,7 @@ import {traverse} from '#node-utils';
|
|
import {sortAlbumsTracksChronologically, sortChronologically} from '#sort';
|
|
import {sortAlbumsTracksChronologically, sortChronologically} from '#sort';
|
|
import {accumulateSum, empty} from '#sugar';
|
|
import {accumulateSum, empty} from '#sugar';
|
|
import Thing from '#thing';
|
|
import Thing from '#thing';
|
|
-import {isColor, isDate, validateWikiData} from '#validators';
|
|
|
|
|
|
+import {isColor, isDate, isDirectory, validateWikiData} from '#validators';
|
|
|
|
|
|
import {
|
|
import {
|
|
parseAdditionalFiles,
|
|
parseAdditionalFiles,
|
|
@@ -75,11 +75,25 @@ export class Album extends Thing {
|
|
// Update & expose
|
|
// Update & expose
|
|
|
|
|
|
name: name('Unnamed Album'),
|
|
name: name('Unnamed Album'),
|
|
- color: color(),
|
|
|
|
directory: directory(),
|
|
directory: directory(),
|
|
- urls: urls(),
|
|
|
|
|
|
+
|
|
|
|
+ directorySuffix: [
|
|
|
|
+ exposeUpdateValueOrContinue({
|
|
|
|
+ validate: input.value(isDirectory),
|
|
|
|
+ }),
|
|
|
|
+
|
|
|
|
+ withDirectory(),
|
|
|
|
+
|
|
|
|
+ exposeDependency({
|
|
|
|
+ dependency: '#directory',
|
|
|
|
+ }),
|
|
|
|
+ ],
|
|
|
|
|
|
alwaysReferenceTracksByDirectory: flag(false),
|
|
alwaysReferenceTracksByDirectory: flag(false),
|
|
|
|
+ suffixTrackDirectories: flag(false),
|
|
|
|
+
|
|
|
|
+ color: color(),
|
|
|
|
+ urls: urls(),
|
|
|
|
|
|
additionalNames: additionalNameList(),
|
|
additionalNames: additionalNameList(),
|
|
|
|
|
|
@@ -327,7 +341,10 @@ export class Album extends Thing {
|
|
static [Thing.yamlDocumentSpec] = {
|
|
static [Thing.yamlDocumentSpec] = {
|
|
fields: {
|
|
fields: {
|
|
'Album': {property: 'name'},
|
|
'Album': {property: 'name'},
|
|
|
|
+
|
|
'Directory': {property: 'directory'},
|
|
'Directory': {property: 'directory'},
|
|
|
|
+ 'Directory Suffix': {property: 'directorySuffix'},
|
|
|
|
+ 'Suffix Track Directories': {property: 'suffixTrackDirectories'},
|
|
|
|
|
|
'Always Reference Tracks By Directory': {
|
|
'Always Reference Tracks By Directory': {
|
|
property: 'alwaysReferenceTracksByDirectory',
|
|
property: 'alwaysReferenceTracksByDirectory',
|