diff options
Diffstat (limited to 'src/data')
| -rw-r--r-- | src/data/things/Track.js | 2 | ||||
| -rw-r--r-- | src/data/things/album/Album.js | 5 | ||||
| -rw-r--r-- | src/data/things/contrib/AlbumArtistContribution.js | 12 | ||||
| -rw-r--r-- | src/data/things/contrib/Contribution.js (renamed from src/data/things/Contribution.js) | 0 | ||||
| -rw-r--r-- | src/data/things/contrib/MusicalArtistContribution.js | 12 | ||||
| -rw-r--r-- | src/data/things/contrib/TrackArtistContribution.js | 12 | ||||
| -rw-r--r-- | src/data/things/contrib/index.js | 5 | ||||
| -rw-r--r-- | src/data/things/index.js | 2 |
8 files changed, 49 insertions, 1 deletions
diff --git a/src/data/things/Track.js b/src/data/things/Track.js index 57ff3a94..5f825509 100644 --- a/src/data/things/Track.js +++ b/src/data/things/Track.js @@ -116,6 +116,7 @@ export class Track extends Thing { LyricsEntry, MusicVideo, ReferencingSourcesEntry, + TrackTrackArtistContribution, TrackSection, WikiInfo, }) => ({ @@ -262,6 +263,7 @@ export class Track extends Thing { artistContribs: [ withResolvedContribs({ from: input.updateValue({validate: isContributionList}), + class: input.value(TrackTrackArtistContribution), date: 'date', thingProperty: input.thisProperty(), artistProperty: input.value('trackArtistContributions'), diff --git a/src/data/things/album/Album.js b/src/data/things/album/Album.js index e81615d4..ebec5444 100644 --- a/src/data/things/album/Album.js +++ b/src/data/things/album/Album.js @@ -68,11 +68,13 @@ export class Album extends Thing { static [Thing.getPropertyDescriptors] = ({ AdditionalFile, AdditionalName, + AlbumArtistContribution, ArtTag, Artwork, CommentaryEntry, CreditingSourcesEntry, Group, + TrackArtistContribution, TrackSection, WikiInfo, }) => ({ @@ -119,6 +121,7 @@ export class Album extends Thing { // > Update & expose - Credits and contributors artistContribs: contributionList({ + class: input.value(AlbumArtistContribution), artistProperty: input.value('albumArtistContributions'), }), @@ -127,6 +130,7 @@ export class Album extends Thing { trackArtistContribs: [ withResolvedContribs({ from: input.updateValue({validate: isContributionList}), + class: input.value(TrackArtistContribution), thingProperty: input.thisProperty(), artistProperty: input.value('albumTrackArtistContributions'), }).outputs({ @@ -136,6 +140,7 @@ export class Album extends Thing { exposeDependencyOrContinue('#trackArtistContribs', V('empty')), withRecontextualizedContributionList('artistContribs', { + reclass: input.value(TrackArtistContribution), artistProperty: input.value('albumTrackArtistContributions'), }), diff --git a/src/data/things/contrib/AlbumArtistContribution.js b/src/data/things/contrib/AlbumArtistContribution.js new file mode 100644 index 00000000..7b6bc9da --- /dev/null +++ b/src/data/things/contrib/AlbumArtistContribution.js @@ -0,0 +1,12 @@ +import {V} from '#composite'; +import Thing from '#thing'; + +import {exposeConstant} from '#composite/control-flow'; + +import {MusicalArtistContribution} from './MusicalArtistContribution.js'; + +export class AlbumArtistContribution extends MusicalArtistContribution { + static [Thing.getPropertyDescriptors] = () => ({ + isAlbumArtistContribution: exposeConstant(V(true)), + }); +} diff --git a/src/data/things/Contribution.js b/src/data/things/contrib/Contribution.js index 4048709b..4048709b 100644 --- a/src/data/things/Contribution.js +++ b/src/data/things/contrib/Contribution.js diff --git a/src/data/things/contrib/MusicalArtistContribution.js b/src/data/things/contrib/MusicalArtistContribution.js new file mode 100644 index 00000000..b4f8d370 --- /dev/null +++ b/src/data/things/contrib/MusicalArtistContribution.js @@ -0,0 +1,12 @@ +import {V} from '#composite'; +import Thing from '#thing'; + +import {exposeConstant} from '#composite/control-flow'; + +import {Contribution} from './Contribution.js'; + +export class MusicalArtistContribution extends Contribution { + static [Thing.getPropertyDescriptors] = () => ({ + isMusicalArtistContribution: exposeConstant(V(true)), + }); +} diff --git a/src/data/things/contrib/TrackArtistContribution.js b/src/data/things/contrib/TrackArtistContribution.js new file mode 100644 index 00000000..ecbe9b34 --- /dev/null +++ b/src/data/things/contrib/TrackArtistContribution.js @@ -0,0 +1,12 @@ +import {V} from '#composite'; +import Thing from '#thing'; + +import {exposeConstant} from '#composite/control-flow'; + +import {MusicalArtistContribution} from './MusicalArtistContribution.js'; + +export class TrackArtistContribution extends MusicalArtistContribution { + static [Thing.getPropertyDescriptors] = () => ({ + isTrackArtistContribution: exposeConstant(V(true)), + }); +} diff --git a/src/data/things/contrib/index.js b/src/data/things/contrib/index.js new file mode 100644 index 00000000..a0629bdf --- /dev/null +++ b/src/data/things/contrib/index.js @@ -0,0 +1,5 @@ +export * from './Contribution.js'; + +export * from './MusicalArtistContribution.js'; +export * from './AlbumArtistContribution.js'; +export * from './TrackArtistContribution.js'; diff --git a/src/data/things/index.js b/src/data/things/index.js index bf8a5a33..3773864b 100644 --- a/src/data/things/index.js +++ b/src/data/things/index.js @@ -2,6 +2,7 @@ export * from './album/index.js'; export * from './content/index.js'; +export * from './contrib/index.js'; export * from './flash/index.js'; export * from './group/index.js'; export * from './homepage-layout/index.js'; @@ -12,7 +13,6 @@ export * from './AdditionalName.js'; export * from './ArtTag.js'; export * from './Artist.js'; export * from './Artwork.js'; -export * from './Contribution.js'; export * from './Language.js'; export * from './MusicVideo.js'; export * from './NewsEntry.js'; |