Hi Tony,
Here's a first pass at your original request. Make a global macro:
\define dragoncopy(copyfield)
<$action-setfield $tiddler="$:/fields/$(currentTiddler)$" fieldname=
"""$copyfield$""" fieldvalue={{!!$copyfield$}}/>
\end
\define dragonfield(field)
<$draggable tiddler="$:/fields/$(currentTiddler)$" startactions=<<dragoncopy
"$field$">>>{{!!$field$}}</$draggable>
\end
\define dragondrop3(tid,fieldname)
<$action-setfield $field="$fieldname$" $value={{$tid$!!fieldvalue}}/>
\end
\define dragondrop2(tid)
<$macrocall $name=dragondrop3 tid="$tid$" fieldname={{$tid$!!fieldname}}/>
\end
\define dragondrop()
<$macrocall $name="dragondrop2" tid=<<actionTiddler>>/>
\end
\define dragonzone(label)
<$droppable actions=<<dragondrop>>>$label$</$droppable>
\end
Invoke the drag object like this:
<<dragonfield "field1">>
and in another tiddler put the drop zone like this:
<<dragonzone "Drop Here!">>
Have fun
-- Mark
On Wednesday, July 4, 2018 at 6:49:49 PM UTC-7, TonyM wrote:
>
> Mark,
>
> Thanks for this suggestion. The irony is I want to build this "feature" to
> allow reordering through dragging values in a field, as part of a tool,
> that allows you to edit-fields in the tiddler view mode, which itself
> demands this edit-fields from another tiddler approach.
>
> I am yet to develop a systematic way to do this, and until I do it seems
> hard to get my head around it.
>
> This is in fact the motivation for this edit-fields tools solution,
> because I am sick of having to wrap my head around bespoke solutions to
> edit-fields in the current tiddler, which for many is the most likely place
> they want to edit-fields.
>
> This is a gap in TiddlyWiki at the moment I raised a GitHub issue
> <https://github.com/Jermolene/TiddlyWiki5/issues/3350>
>
> I also created a collaborative document in Yammer
> <https://www.yammer.com/tiddlywiki/#/files/141096709>
>
> Regards
> TOny
>
> On Wednesday, July 4, 2018 at 3:23:25 PM UTC+10, Mark S. wrote:
>>
>> I think I see how this could work.
>>
>> In the draggable widget, use a corresponding (probably system tiddler) to
>> hold the value. Use the startactions attribute to assign the field.
>>
>> <$draggable tiddler="$:/field1" startaction=<<macro that copies field1
>> into $:/field1!!value>>{{!!field1}}</$draggable>
>>
>> Then in the droppable widget, use the actions attribute to grab the value
>> from $(actionTiddler)$!!value and save it to the field corresponding to the
>> dropzone.
>>
>> If you just want one dropzone that handles multiple fields, then you
>> could have the draggable widget also store the field name in a fieldname
>> field and then the droppable can also fetch the destination from
>> $(actionTiddler)$!!fieldname.
>>
>> Once you have the draggable macro working, then you can make as many
>> field/zones as you want with <<dragfield field1>>, <<dragfield field2>> etc.
>>
>> Good luck!
>> -- Mark
>>
>> On Tuesday, July 3, 2018 at 8:35:42 PM UTC-7, TonyM wrote:
>>>
>>> Folks,
>>>
>>> I am building a button to allow the dragging of values from a fields
>>> values in a tiddler.
>>>
>>> Looking through all the draggable widgets and use on buttons etc... I
>>> can only see reference to tiddlers, not parts there of.
>>>
>>> Can any one tell me how to specify a fields content as the payload or
>>> tell me a direction I could take.
>>>
>>> - A tool or code example exists?
>>> - Clone and rework an existing widget?
>>> - Use CSS/Html?
>>>
>>> I will also be looking to find a way to drop field contents on a field
>>> where it erases the existing content to.
>>>
>>> I will be turning this into a reusable solution I will share.
>>>
>>> Thanks in advance
>>>
>>
--
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 https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit
https://groups.google.com/d/msgid/tiddlywiki/178e1416-75ef-4170-9842-417b9aab756a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.