From bdb50b9eb0eb25199bec8bb45b69b84c90921e98 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Fri, 25 Jul 2025 05:36:26 -0300 Subject: data, content: GroupCategory.excludeGroupsFromGalleryTabs --- src/data/things/group.js | 44 +++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 41 insertions(+), 3 deletions(-) (limited to 'src/data') 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', + }, }, }; } -- cgit 1.3.0-6-gf8a5