Hi Felix,

Thank you very much for the tips. I have a couple of questions if I may:


Just a remark: I would not use a space character to distinguish states in 
> the reveal widget, better use type="nomatch" for the opposite. 
>

That construct acts as a switch statement which could have been avoided if 
I could pass regexp to <$reveal> in order to signal an empty string (null 
or filled with spaces, tabs ...). In fact this here is a quick dirty 
workaround and it fails if the user types in two spaces or more. I don't 
know how I can cover the possible cases as “nomatch”.


...maybe better to use the list element for if-else analogy in this case 
> (yes, even though it is called list widget it can be used for if else 
> operations).
>

I'm trying to manipulated the contents of a single field of a specific 
Tiddler. My understanding is that the list element pipes Tiddler names into 
its enclosure. Would you please give a rough code snippet for this?


Also a reveal widget creates a dom element,...


Would you happen to know how I can find the exact objects created in order 
to access them in JS code.

And finally; I tried to accomplish this by a JavaScript macro but it didn't 
work because the macro kept firing the prompt popup without being called. 
So I found this: "http://tiddlywiki.com/dev/#JavaScript%20Macros";.

Macros are just used to return a chunk of wikitext for further processing. 
> They should not make modifications to tiddlers in the wiki store. The 
> reason is that you cannott control when the macro is called; it may be 
> called repeatedly as part of refresh processing. So it is important that 
> macros do not have any other side effects beyond generating their text.


 
Thank you; and best wishes,
Mehdi



On Thursday, June 18, 2015 at 11:41:04 AM UTC+2, Felix Küppers wrote:
>
>  Hi Mehdi,
>
> while I would probably use javascript at this point, I did not even know 
> this is possible with widgets :)
>
> Just a remark: I would not use a space character to distinguish states in 
> the reveal widget, better use type="nomatch" for the opposite. Also a 
> reveal widget creates a dom element, maybe better to use the list element 
> for if-else analogy in this case (yes, even though it is called list widget 
> it can be used for if else operations).
>
> -Felix
>
> On 18.06.2015 06:04, hobbyist writer wrote:
>  
> Hi everyone.
>
> I would like to share with you some code. It consists of three 
> interrelated Tiddlers that:
>
>    1. Store and display Geo-position.
>     2. Prompt the user for changes, if she/he decides to. 
>    3. Fill some default value upon a change request, if the value is 
>    empty. 
>
> Now this is simple to accomplish especially using JavaScript, BUT...
>
> I happened to notice that the <$reveal> 
> <http://tiddlywiki.com/#RevealWidget> widget can be used to conditionally 
> trigger ActionWidgets <http://tiddlywiki.com/#ActionWidgets>. Here are 
> the contents of the Tiddlers. Note that we only need to
>
>    - transclude *{{:/_template/geo-button}}* in any Tiddler as interface, 
>    and
>     - reference the Geo-position by *{{**$:/_template/geo!!_position}}* 
>
>  tags: 
> title: $:/_template/geo-button
>
>
> <$set name="thepos" value="51.5007, -0.1246">
> <$button>
> <$action-sendmessage $message="tm-modal" $param="$:/_template/geo-prompt"
> />
> <$reveal type="match" state="$:/_template/geo!!_position" text="">
> <$action-setfield $tiddler="$:/_template/geo" $field="_position" $value=<<
> thepos>>/>
> </$reveal>
> <$reveal type="match" state="$:/_template/geo!!_position" text=" ">
> <$action-setfield $tiddler="$:/_template/geo" $field="_position" $value=<<
> thepos>>/>
> </$reveal>
> {{$:/_template/geo}}
> </$button>
> </$set>
>  
>  tags: 
> title: $:/_template/geo-prompt
>
>
> ! {{$:/_template/geo!!_caption}}
>
> <$edit-text tiddler="$:/_template/geo" field="_position" 
> placeholder="51.5007, 
> -0.1246" class="tc-edit-texteditor" focus="true"/>
>  
>  tags: 
> title: $:/_template/geo
>
>
> <font size=3>''{{!!_caption}}'' <font color=
> #BD1745>{{!!_position}}</font></font>
>  
>  
> I look forward to learning from your feedback. I apologize if this is 
> trivial or a mere repetition, but to me it was new and non-trivial.
>  
>
> Best,
> Mehdi
>
> 

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/562eae38-3618-422a-9746-9109d0d4a84d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to