« get me outta code hell

linkFlashSide.js « dependencies « content « src - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/content/dependencies/linkFlashSide.js
blob: c5085e1adb1c151402ad798b40fafef36e8737d4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
export default {
  contentDependencies: [
    'generateColorStyleAttribute',
    'linkStationaryIndex',
  ],

  query: (flashSide) => ({
    jumpAct:
      flashSide.acts[0],
  }),

  relations: (relation, _query, flashSide) => ({
    link:
      relation(
        'linkStationaryIndex',
        'localized.flashIndex',
        'flashIndex.title'),

    colorStyle:
      relation('generateColorStyleAttribute', flashSide.color ?? null),
  }),

  data: (query, flashSide) => ({
    name:
      flashSide.name,

    jumpActDirectory:
      query.jumpAct.directory,
  }),

  generate: (data, relations) =>
    relations.link.slots({
      content: data.name,
      hash: data.jumpActDirectory,
      attributes: [relations.colorStyle],
    }),
};