diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2025-07-25 05:36:26 -0300 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2025-07-25 05:36:54 -0300 |
commit | bdb50b9eb0eb25199bec8bb45b69b84c90921e98 (patch) | |
tree | 24a226fe4fb16c76bb1eabc5214de547eb242fd3 /src/data/things/group.js | |
parent | 614f1f25d47e1c2bb469525e19959e4854c57551 (diff) |
data, content: GroupCategory.excludeGroupsFromGalleryTabs preview
Diffstat (limited to 'src/data/things/group.js')
-rw-r--r-- | src/data/things/group.js | 44 |
1 files changed, 41 insertions, 3 deletions
diff --git a/src/data/things/group.js b/src/data/things/group.js index b491bc8f..0935dc93 100644 --- a/src/data/things/group.js +++ b/src/data/things/group.js @@ -5,10 +5,17 @@ import {inspect} from 'node:util'; import {colors} from '#cli'; import {input} from '#composite'; import Thing from '#thing'; -import {is} from '#validators'; +import {is, isBoolean} from '#validators'; import {parseAnnotatedReferences, parseSerieses} from '#yaml'; -import {exposeConstant} from '#composite/control-flow'; +import {withPropertyFromObject} from '#composite/data'; +import {withUniqueReferencingThing} from '#composite/wiki-data'; + +import { + exposeConstant, + exposeDependencyOrContinue, + exposeUpdateValueOrContinue, +} from '#composite/control-flow'; import { annotatedReferenceList, @@ -34,7 +41,31 @@ export class Group extends Thing { name: name('Unnamed Group'), directory: directory(), - excludeFromGalleryTabs: flag(false), + excludeFromGalleryTabs: [ + exposeUpdateValueOrContinue({ + validate: input.value(isBoolean), + }), + + withUniqueReferencingThing({ + reverse: soupyReverse.input('groupCategoriesWhichInclude'), + }).outputs({ + '#uniqueReferencingThing': '#category', + }), + + withPropertyFromObject({ + object: '#category', + property: input.value('excludeGroupsFromGalleryTabs'), + }), + + exposeDependencyOrContinue({ + dependency: '#category.excludeGroupsFromGalleryTabs', + }), + + exposeConstant({ + value: input.value(false), + }), + ], + divideAlbumsByStyle: flag(false), description: contentString(), @@ -234,6 +265,8 @@ export class GroupCategory extends Thing { name: name('Unnamed Group Category'), directory: directory(), + excludeGroupsFromGalleryTabs: flag(false), + color: color(), groups: referenceList({ @@ -266,7 +299,12 @@ export class GroupCategory extends Thing { static [Thing.yamlDocumentSpec] = { fields: { 'Category': {property: 'name'}, + 'Color': {property: 'color'}, + + 'Exclude Groups From Gallery Tabs': { + property: 'excludeGroupsFromGalleryTabs', + }, }, }; } |