diff options
| author | (quasar) nebula <qznebula@protonmail.com> | 2025-10-23 19:23:18 -0300 |
|---|---|---|
| committer | (quasar) nebula <qznebula@protonmail.com> | 2025-10-23 19:23:18 -0300 |
| commit | 6b9c8cb3615b7ba7b49d1c21b2748d2e75e7ee82 (patch) | |
| tree | 495d659cd1bbba542b21f364223c4e211ccbb68c /src/data/things/track.js | |
| parent | 2d8622f8b31df0367ded52a45d7362abfe6d9a7c (diff) | |
content, data: Track.previousProductionTracks
Diffstat (limited to 'src/data/things/track.js')
| -rw-r--r-- | src/data/things/track.js | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/data/things/track.js b/src/data/things/track.js index 93193b6a..64790a61 100644 --- a/src/data/things/track.js +++ b/src/data/things/track.js @@ -393,6 +393,17 @@ export class Track extends Thing { // > Update & expose - Referenced tracks + previousProductionTracks: [ + inheritFromMainRelease({ + notFoundValue: input.value([]), + }), + + referenceList({ + class: input.value(Track), + find: soupyFind.input('trackMainReleasesOnly'), + }), + ], + referencedTracks: [ inheritFromMainRelease({ notFoundValue: input.value([]), @@ -563,6 +574,10 @@ export class Track extends Thing { }), ], + followingProductionTracks: reverseReferenceList({ + reverse: soupyReverse.input('tracksWhichAreFollowingProductionsOf'), + }), + referencedByTracks: reverseReferenceList({ reverse: soupyReverse.input('tracksWhichReference'), }), @@ -701,6 +716,7 @@ export class Track extends Thing { // Referenced tracks + 'Previous Productions': {property: 'previousProductionTracks'}, 'Referenced Tracks': {property: 'referencedTracks'}, 'Sampled Tracks': {property: 'sampledTracks'}, @@ -912,6 +928,13 @@ export class Track extends Thing { referencing: track => track.isSecondaryRelease ? [track] : [], referenced: track => [track.mainReleaseTrack], }, + + tracksWhichAreFollowingProductionsOf: { + bindTo: 'trackData', + + referencing: track => track, + referenced: track => track.previousProductionTracks, + }, }; // Track YAML loading is handled in album.js. |