diff options
Diffstat (limited to 'src/data')
-rw-r--r-- | src/data/things/track.js | 14 | ||||
-rw-r--r-- | src/data/yaml.js | 1 |
2 files changed, 10 insertions, 5 deletions
diff --git a/src/data/things/track.js b/src/data/things/track.js index 0751b2d0..1c2013a2 100644 --- a/src/data/things/track.js +++ b/src/data/things/track.js @@ -16,6 +16,7 @@ export class Track extends Thing { validators: { isBoolean, + isColor, isDate, isDuration, isFileExtension, @@ -145,15 +146,18 @@ export class Track extends Thing { }, color: { - flags: {expose: true}, + flags: {update: true, expose: true}, + + update: {validate: isColor}, expose: { dependencies: ['albumData'], - compute: ({albumData, [Track.instance]: track}) => - Track.findAlbum(track, albumData) - ?.trackSections.find(({tracks}) => tracks.includes(track)) - ?.color ?? null, + transform: (color, {albumData, [Track.instance]: track}) => + color ?? + Track.findAlbum(track, albumData) + ?.trackSections.find(({tracks}) => tracks.includes(track)) + ?.color ?? null, }, }, diff --git a/src/data/yaml.js b/src/data/yaml.js index 6b5156ef..1b1195ea 100644 --- a/src/data/yaml.js +++ b/src/data/yaml.js @@ -256,6 +256,7 @@ export const processTrackDocument = makeProcessDocument(T.Track, { name: 'Track', directory: 'Directory', duration: 'Duration', + color: 'Color', urls: 'URLs', dateFirstReleased: 'Date First Released', |