From 904cfde5683b42d6a3088ebd8e40eb753b65dd21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9ophile=20Desmedt?= <34781168+DesignThinkerer@users.noreply.github.com> Date: Mon, 2 Dec 2024 19:03:53 +0100 Subject: [PATCH 1/2] refactor to use modern tiddlywiki features: Replace reveal widget by conditional shortcut syntax, use string substitution, let widget --- core/wiki/peek-stylesheets.tid | 73 +++++++++++++++------------------- 1 file changed, 32 insertions(+), 41 deletions(-) diff --git a/core/wiki/peek-stylesheets.tid b/core/wiki/peek-stylesheets.tid index 7d9726fbeda..6f364de7760 100644 --- a/core/wiki/peek-stylesheets.tid +++ b/core/wiki/peek-stylesheets.tid @@ -1,35 +1,28 @@ title: $:/snippets/peek-stylesheets -\define expandable-stylesheets-list() +\procedure expandable-stylesheets-list() \whitespace trim
    <$list filter="[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]]"> -<$vars state=<>> -<$set name="state" value={{{ [addsuffix] }}}> +<$let openState=`$:/state/peek-tiddler/open/$(currentTiddler)$$(qualify)$` open={{{ [get[text]else[no]] }}}>
  1. -<$reveal type="match" state=<> text="yes" tag="span"> -<$button set=<> setTo="no" class="tc-btn-invisible"> -{{$:/core/images/down-arrow}} - - -<$reveal type="nomatch" state=<> text="yes" tag="span"> -<$button set=<> setTo="yes" class="tc-btn-invisible"> -{{$:/core/images/right-arrow}} - - -<$link> -<$view field="title"/> - -<$reveal type="match" state=<> text="yes" tag="div"> -<$set name="source" tiddler=<>> -<$wikify name="styles" text=<>> +<$checkbox tiddler=<> field="text" checked="yes" style.appearance="none"> + +<%if [match[yes]]%> +{{$:/core/images/down-arrow|1em}} +<%else%> +{{$:/core/images/right-arrow|1em}} +<%endif%> + + +<$link/> +<%if [match[yes]]%> +<$wikify name="styles" text={{!!text}}> <$codeblock code=<> language="css"/> - - +<%endif%>
  2. - - +
\end @@ -39,38 +32,36 @@ title: $:/snippets/peek-stylesheets
    <$list filter="[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]]">
  1. -<$link> -<$view field="title"/> - -<$set name="source" tiddler=<>> -<$wikify name="styles" text=<>> +<$link/> +<$wikify name="styles" text={{!!text}}>
     
     <$text text=<>/>
     
     
    -
\end \whitespace trim -<$vars modeState=<>> +<$let modeState=`$:/state/peek-stylesheets/mode/$(qualify)$` mode={{{ [get[text]else[expand]] }}}> -<$reveal type="nomatch" state=<> text="expanded" tag="div"> -<$button set=<> setTo="expanded" class="tc-btn-invisible">{{$:/core/images/chevron-right}} {{$:/language/ControlPanel/Stylesheets/Expand/Caption}} - -<$reveal type="match" state=<> text="expanded" tag="div"> -<$button set=<> setTo="restored" class="tc-btn-invisible">{{$:/core/images/chevron-down}} {{$:/language/ControlPanel/Stylesheets/Restore/Caption}} - +<$checkbox tiddler=<> field="text" checked="yes" style.appearance="none"> + +<%if [match[expand]]%> +{{$:/core/images/chevron-right|1em}} {{$:/language/ControlPanel/Stylesheets/Expand/Caption}} +<%else%> +{{$:/core/images/chevron-down|1em}} {{$:/language/ControlPanel/Stylesheets/Restore/Caption}} +<%endif%> + + -<$reveal type="nomatch" state=<> text="expanded" tag="div"> +<%if [match[expand]]%> <> - -<$reveal type="match" state=<> text="expanded" tag="div"> +<%else%> <> - +<%endif%> - + \ No newline at end of file From 62e1f9442190fc4cf0216e88d25d972ee0b7d440 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9ophile=20Desmedt?= <34781168+DesignThinkerer@users.noreply.github.com> Date: Mon, 2 Dec 2024 20:11:21 +0100 Subject: [PATCH 2/2] Improve macro for better modularity --- core/wiki/peek-stylesheets.tid | 67 +++++++++++++--------------------- 1 file changed, 26 insertions(+), 41 deletions(-) diff --git a/core/wiki/peek-stylesheets.tid b/core/wiki/peek-stylesheets.tid index 6f364de7760..58ffaebcac4 100644 --- a/core/wiki/peek-stylesheets.tid +++ b/core/wiki/peek-stylesheets.tid @@ -1,67 +1,52 @@ title: $:/snippets/peek-stylesheets -\procedure expandable-stylesheets-list() -\whitespace trim -
    -<$list filter="[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]]"> -<$let openState=`$:/state/peek-tiddler/open/$(currentTiddler)$$(qualify)$` open={{{ [get[text]else[no]] }}}> -
  1. -<$checkbox tiddler=<> field="text" checked="yes" style.appearance="none"> +\procedure expandable-content() +<$wikify name="styles" text={{!!text}}> +<$codeblock code=<> language="css"/> + +\end + +\procedure toggle-content() +<$parameters openState="" open="[substitute[]get[text]else[no]]" openImage="$:/core/images/down-arrow" closedImage="$:/core/images/right-arrow" openCaption="" closedCaption=""> +<%if [!is[blank]] %> +<$checkbox tiddler={{{ [substitute[]] }}} field="text" checked="yes" style.appearance="none"> -<%if [match[yes]]%> -{{$:/core/images/down-arrow|1em}} +<%if [subfiltermatch[yes]] %> +<$transclude $tiddler=<> size="1em" /> <> <%else%> -{{$:/core/images/right-arrow|1em}} +<$transclude $tiddler=<> size="1em" /> <> <%endif%> -<$link/> -<%if [match[yes]]%> -<$wikify name="styles" text={{!!text}}> -<$codeblock code=<> language="css"/> - <%endif%> -
  2. - - -
+ \end -\define stylesheets-list() +\procedure expandable-list() \whitespace trim +<$parameters filter="" openState="" open="[substitute[]get[text]else[no]]">
    -<$list filter="[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]]"> +<$list filter=<> >
  1. +<$transclude $variable="toggle-content" open=<> openState=<> /> <$link/> -<$wikify name="styles" text={{!!text}}> -
    -
    -<$text text=<>/>
    -
    -
    - +<%if [subfiltermatch[yes]]%> +<> +<%endif%>
+ \end -\whitespace trim -<$let modeState=`$:/state/peek-stylesheets/mode/$(qualify)$` mode={{{ [get[text]else[expand]] }}}> +<$let modeState=`$:/state/peek-stylesheets/mode/$(qualify)$` mode={{{ [get[text]else[expand]] }}} listFilter="[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]]"> -<$checkbox tiddler=<> field="text" checked="yes" style.appearance="none"> - -<%if [match[expand]]%> -{{$:/core/images/chevron-right|1em}} {{$:/language/ControlPanel/Stylesheets/Expand/Caption}} -<%else%> -{{$:/core/images/chevron-down|1em}} {{$:/language/ControlPanel/Stylesheets/Restore/Caption}} -<%endif%> - - +<$transclude $variable="toggle-content" openImage="$:/core/images/chevron-right" closedImage="$:/core/images/chevron-down" openState=<> openCaption={{$:/language/ControlPanel/Stylesheets/Expand/Caption}} closedCaption={{$:/language/ControlPanel/Stylesheets/Restore/Caption}}/> <%if [match[expand]]%> -<> +<$transclude $variable="expandable-list" filter=<> open="yes"/> <%else%> -<> +<$transclude $variable="expandable-list" filter=<> openState="$:/state/peek-tiddler/open/$(currentTiddler)$$(qualify)$"/> <%endif%> \ No newline at end of file