diff options
Diffstat (limited to 'src/data/things')
-rw-r--r-- | src/data/things/additional-name.js | 21 | ||||
-rw-r--r-- | src/data/things/album.js | 6 | ||||
-rw-r--r-- | src/data/things/art-tag.js | 12 | ||||
-rw-r--r-- | src/data/things/flash.js | 6 | ||||
-rw-r--r-- | src/data/things/index.js | 2 | ||||
-rw-r--r-- | src/data/things/track.js | 6 |
6 files changed, 44 insertions, 9 deletions
diff --git a/src/data/things/additional-name.js b/src/data/things/additional-name.js new file mode 100644 index 00000000..b96fcd50 --- /dev/null +++ b/src/data/things/additional-name.js @@ -0,0 +1,21 @@ +import Thing from '#thing'; + +import {contentString, simpleString, thing} from '#composite/wiki-properties'; + +export class AdditionalName extends Thing { + static [Thing.getPropertyDescriptors] = ({}) => ({ + // Update & expose + + thing: thing(), + + name: contentString(), + annotation: contentString(), + }); + + static [Thing.yamlDocumentSpec] = { + fields: { + 'Name': {property: 'name'}, + 'Annotation': {property: 'annotation'}, + }, + }; +} diff --git a/src/data/things/album.js b/src/data/things/album.js index 2274c92a..7a7b387d 100644 --- a/src/data/things/album.js +++ b/src/data/things/album.js @@ -33,7 +33,6 @@ import {exitWithoutContribs, withDirectory, withCoverArtDate} from '#composite/wiki-data'; import { - additionalNameList, color, commentatorArtists, constitutibleArtwork, @@ -69,6 +68,7 @@ export class Album extends Thing { static [Thing.getPropertyDescriptors] = ({ AdditionalFile, + AdditionalName, ArtTag, Artwork, CommentaryEntry, @@ -102,7 +102,9 @@ export class Album extends Thing { color: color(), urls: urls(), - additionalNames: additionalNameList(), + additionalNames: thingList({ + class: input.value(AdditionalName), + }), bandcampAlbumIdentifier: simpleString(), bandcampArtworkIdentifier: simpleString(), diff --git a/src/data/things/art-tag.js b/src/data/things/art-tag.js index 57e156ee..0ec1ff31 100644 --- a/src/data/things/art-tag.js +++ b/src/data/things/art-tag.js @@ -12,7 +12,6 @@ import {exitWithoutDependency, exposeDependency, exposeUpdateValueOrContinue} from '#composite/control-flow'; import { - additionalNameList, annotatedReferenceList, color, contentString, @@ -23,6 +22,7 @@ import { name, soupyFind, soupyReverse, + thingList, urls, wikiData, } from '#composite/wiki-properties'; @@ -34,7 +34,11 @@ export class ArtTag extends Thing { static [Thing.referenceType] = 'tag'; static [Thing.friendlyName] = `Art Tag`; - static [Thing.getPropertyDescriptors] = ({Album, Track}) => ({ + static [Thing.getPropertyDescriptors] = ({ + AdditionalName, + Album, + Track, + }) => ({ // Update & expose name: name('Unnamed Art Tag'), @@ -55,7 +59,9 @@ export class ArtTag extends Thing { }, ], - additionalNames: additionalNameList(), + additionalNames: thingList({ + class: input.value(AdditionalName), + }), description: contentString(), diff --git a/src/data/things/flash.js b/src/data/things/flash.js index a0bcb523..11b19ebc 100644 --- a/src/data/things/flash.js +++ b/src/data/things/flash.js @@ -27,7 +27,6 @@ import { } from '#composite/control-flow'; import { - additionalNameList, color, commentatorArtists, constitutibleArtwork, @@ -54,6 +53,7 @@ export class Flash extends Thing { static [Thing.referenceType] = 'flash'; static [Thing.getPropertyDescriptors] = ({ + AdditionalName, CommentaryEntry, CreditingSourcesEntry, Track, @@ -127,7 +127,9 @@ export class Flash extends Thing { urls: urls(), - additionalNames: additionalNameList(), + additionalNames: thingList({ + class: input.value(AdditionalName), + }), commentary: thingList({ class: input.value(CommentaryEntry), diff --git a/src/data/things/index.js b/src/data/things/index.js index 3fda2bd1..11307b50 100644 --- a/src/data/things/index.js +++ b/src/data/things/index.js @@ -10,6 +10,7 @@ import {withEntries} from '#sugar'; import Thing from '#thing'; import * as additionalFileClasses from './additional-file.js'; +import * as additionalNameClasses from './additional-name.js'; import * as albumClasses from './album.js'; import * as artTagClasses from './art-tag.js'; import * as artistClasses from './artist.js'; @@ -28,6 +29,7 @@ import * as wikiInfoClasses from './wiki-info.js'; const allClassLists = { 'additional-file.js': additionalFileClasses, + 'additional-name.js': additionalNameClasses, 'album.js': albumClasses, 'art-tag.js': artTagClasses, 'artist.js': artistClasses, diff --git a/src/data/things/track.js b/src/data/things/track.js index 8072c3cb..557ba2a7 100644 --- a/src/data/things/track.js +++ b/src/data/things/track.js @@ -38,7 +38,6 @@ import { } from '#composite/wiki-data'; import { - additionalNameList, commentatorArtists, constitutibleArtworkList, contentString, @@ -86,6 +85,7 @@ export class Track extends Thing { static [Thing.getPropertyDescriptors] = ({ AdditionalFile, + AdditionalName, Album, ArtTag, Artwork, @@ -134,7 +134,9 @@ export class Track extends Thing { class: input.value(Album), }), - additionalNames: additionalNameList(), + additionalNames: thingList({ + class: input.value(AdditionalName), + }), bandcampTrackIdentifier: simpleString(), bandcampArtworkIdentifier: simpleString(), |