tiddlywiki 5.2.0 → 5.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (335) hide show
  1. package/boot/boot.js +40 -3
  2. package/contributing.md +1 -1
  3. package/core/language/en-GB/ControlPanel.multids +15 -0
  4. package/core/modules/editor/engines/framed.js +1 -1
  5. package/core/modules/editor/engines/simple.js +1 -1
  6. package/core/modules/editor/factory.js +1 -1
  7. package/core/modules/editor/operations/text/focus-editor.js +17 -0
  8. package/core/modules/filterrunprefixes/cascade.js +53 -0
  9. package/core/modules/filterrunprefixes/filter.js +16 -9
  10. package/core/modules/filterrunprefixes/map.js +16 -9
  11. package/core/modules/filterrunprefixes/reduce.js +16 -18
  12. package/core/modules/filterrunprefixes/sort.js +10 -8
  13. package/core/modules/filters/listops.js +12 -0
  14. package/core/modules/filters/math.js +29 -0
  15. package/core/modules/filters/strings.js +11 -9
  16. package/core/modules/parsers/wikiparser/rules/html.js +4 -2
  17. package/core/modules/parsers/wikiparser/wikiparser.js +11 -8
  18. package/core/modules/server/routes/put-tiddler.js +1 -1
  19. package/core/modules/utils/dom/dragndrop.js +8 -2
  20. package/core/modules/utils/utils.js +0 -18
  21. package/core/modules/widgets/action-sendmessage.js +17 -7
  22. package/core/modules/widgets/action-setmultiplefields.js +86 -0
  23. package/core/modules/widgets/codeblock.js +7 -1
  24. package/core/modules/widgets/dropzone.js +2 -1
  25. package/core/modules/widgets/let.js +96 -0
  26. package/core/modules/widgets/link.js +2 -1
  27. package/core/modules/widgets/setmultiplevariables.js +81 -0
  28. package/core/modules/widgets/vars.js +2 -4
  29. package/core/modules/widgets/widget.js +20 -16
  30. package/core/modules/wiki.js +9 -4
  31. package/core/ui/Components/tag-link.tid +1 -1
  32. package/core/ui/ControlPanel/Cascades/EditTemplateBody.tid +9 -0
  33. package/core/ui/ControlPanel/Cascades/StoryTiddler.tid +9 -0
  34. package/core/ui/ControlPanel/Cascades/TiddlerColour.tid +9 -0
  35. package/core/ui/ControlPanel/Cascades/TiddlerIcon.tid +9 -0
  36. package/core/ui/ControlPanel/Cascades/ViewTemplateBody.tid +9 -0
  37. package/core/ui/ControlPanel/Cascades/ViewTemplateTitle.tid +9 -0
  38. package/core/ui/ControlPanel/Cascades.tid +9 -0
  39. package/core/ui/EditTemplate/body/canonical-uri.tid +13 -0
  40. package/core/ui/EditTemplate/body/default.tid +38 -0
  41. package/core/ui/EditTemplate/body.tid +1 -51
  42. package/core/ui/EditTemplate/tags.tid +1 -1
  43. package/core/ui/EditorToolbar/link-dropdown.tid +1 -1
  44. package/core/ui/EditorToolbar/preview.tid +4 -4
  45. package/core/ui/ListTaggedCascade.tid +14 -0
  46. package/core/ui/PageTemplate/story.tid +1 -1
  47. package/core/ui/PluginListItemTemplate.tid +13 -3
  48. package/core/ui/StoryTiddlerTemplate.tid +3 -0
  49. package/core/ui/TagPickerTagTemplate.tid +3 -3
  50. package/core/ui/TagTemplate.tid +1 -1
  51. package/core/ui/TiddlerIcon.tid +8 -0
  52. package/core/ui/ViewTemplate/body/blank.tid +3 -0
  53. package/core/ui/ViewTemplate/body/code.tid +3 -0
  54. package/core/ui/ViewTemplate/body/default.tid +7 -0
  55. package/core/ui/ViewTemplate/{import.tid → body/import.tid} +1 -2
  56. package/core/ui/ViewTemplate/body/plugin.tid +10 -0
  57. package/core/ui/ViewTemplate/body.tid +1 -9
  58. package/core/ui/ViewTemplate/title/default.tid +6 -0
  59. package/core/ui/ViewTemplate/title/system.tid +6 -0
  60. package/core/ui/ViewTemplate/title.tid +4 -17
  61. package/core/wiki/config/EditTemplateBodyFilters.multids +5 -0
  62. package/core/wiki/config/OfficialPluginLibrary.tid +1 -1
  63. package/core/wiki/config/StoryTiddlerTemplateFilters.multids +5 -0
  64. package/core/wiki/config/TiddlerColourFilters.multids +5 -0
  65. package/core/wiki/config/TiddlerIconFilters.multids +5 -0
  66. package/core/wiki/config/ViewTemplateBodyFilters.multids +8 -0
  67. package/core/wiki/config/ViewTemplateTitleFilters.multids +5 -0
  68. package/core/wiki/debugstylesheets.tid +9 -0
  69. package/core/wiki/macros/tag.tid +3 -1
  70. package/core/wiki/peek-stylesheets.tid +3 -0
  71. package/core/wiki/tags/EditTemplateBodyFilter.tid +2 -0
  72. package/core/wiki/tags/StoryTiddlerTemplateFilter.tid +2 -0
  73. package/core/wiki/tags/TiddlerColourFilter.tid +3 -0
  74. package/core/wiki/tags/TiddlerIconFilter.tid +3 -0
  75. package/core/wiki/tags/ViewTemplateBodyFilter.tid +3 -0
  76. package/core/wiki/tags/ViewTemplateTitleFilter.tid +3 -0
  77. package/editions/fr-FR/tiddlers/HelloThumbnail - Latest Version.tid +1 -1
  78. package/editions/prerelease/tiddlers/{Release 5.2.1.tid → Release 5.2.2.tid } +10 -18
  79. package/editions/test/tiddlers/tests/test-filters.js +4 -0
  80. package/editions/test/tiddlers/tests/test-html-parser.js +17 -11
  81. package/editions/test/tiddlers/tests/test-prefixes-filter.js +50 -0
  82. package/editions/test/tiddlers/tests/test-widget.js +34 -0
  83. package/editions/test/tiddlers/tests/test-wikitext-parser.js +30 -30
  84. package/editions/tw5.com/tiddlers/$__StoryList.tid +3 -3
  85. package/editions/tw5.com/tiddlers/{License.tid → about/License.tid} +0 -0
  86. package/editions/tw5.com/tiddlers/commands/NamedCommandParameters.tid +2 -2
  87. package/editions/tw5.com/tiddlers/community/Contributing.tid +2 -2
  88. package/editions/tw5.com/tiddlers/community/TW Icons by morosanuae.tid +2 -2
  89. package/editions/tw5.com/tiddlers/community/TiddlyWiki Hangouts.tid +2 -2
  90. package/editions/tw5.com/tiddlers/community/editions/_Noteself_ by Danielo Rodriguez.tid +2 -2
  91. package/editions/tw5.com/tiddlers/community/examples/Reveal.js by Devin Weaver.tid +2 -2
  92. package/editions/tw5.com/tiddlers/community/plugins/Encrypt single tiddler plugin.tid +2 -2
  93. package/editions/tw5.com/tiddlers/community/plugins/TiddlyMap by Felix Kuppers.tid +2 -2
  94. package/editions/tw5.com/tiddlers/community/resources/TW5 Magick.tid +2 -2
  95. package/editions/tw5.com/tiddlers/community/resources/_Dynamic Tables_ by Jed Carty.tid +2 -2
  96. package/editions/tw5.com/tiddlers/community/resources/_TiddlyServer_ by Matt Lauber.tid +5 -3
  97. package/editions/tw5.com/tiddlers/community/resources/_muritest_ by Simon Huber.tid +2 -2
  98. package/editions/tw5.com/tiddlers/concepts/Cascades.tid +47 -0
  99. package/editions/tw5.com/tiddlers/concepts/Concepts.tid +5 -3
  100. package/editions/tw5.com/tiddlers/concepts/Edit Template Body Cascade.tid +16 -0
  101. package/editions/tw5.com/tiddlers/concepts/Messages.tid +2 -2
  102. package/editions/tw5.com/tiddlers/concepts/ModuleType.tid +2 -2
  103. package/editions/tw5.com/tiddlers/concepts/Order of Tagged Tiddlers.tid +1 -1
  104. package/editions/tw5.com/tiddlers/concepts/Railroad Diagrams.tid +2 -1
  105. package/editions/tw5.com/tiddlers/concepts/Story Tiddler Template Cascade.tid +16 -0
  106. package/editions/tw5.com/tiddlers/concepts/Story Tiddler Template.tid +13 -0
  107. package/editions/tw5.com/tiddlers/concepts/TagTiddlers.tid +1 -1
  108. package/editions/tw5.com/tiddlers/concepts/Tiddler Colour Cascade.tid +16 -0
  109. package/editions/tw5.com/tiddlers/concepts/Tiddler Icon Cascade.tid +16 -0
  110. package/editions/tw5.com/tiddlers/concepts/View Template Body Cascade.tid +19 -0
  111. package/editions/tw5.com/tiddlers/concepts/View Template Title Cascade.tid +16 -0
  112. package/editions/tw5.com/tiddlers/customising/Alternative page layouts.tid +1 -1
  113. package/editions/tw5.com/tiddlers/customising/Creating new toolbar buttons.tid +35 -0
  114. package/editions/tw5.com/tiddlers/customising/Customise TiddlyWiki.tid +3 -3
  115. package/editions/tw5.com/tiddlers/customising/Customising TiddlyWiki's user interface.tid +75 -0
  116. package/editions/tw5.com/tiddlers/definitions/BT.tid +3 -2
  117. package/editions/tw5.com/tiddlers/definitions/MathML.tid +2 -2
  118. package/editions/tw5.com/tiddlers/definitions/Osmosoft.tid +3 -2
  119. package/editions/tw5.com/tiddlers/definitions/node-webkit.tid +2 -1
  120. package/editions/tw5.com/tiddlers/demonstrations/Alice in Wonderland.tid +4 -3707
  121. package/editions/tw5.com/tiddlers/demonstrations/Apple.tid +2 -2
  122. package/editions/tw5.com/tiddlers/demonstrations/Caruso - Ave Maria.tid +1 -0
  123. package/editions/tw5.com/tiddlers/demonstrations/CustomStoryTiddlerTemplateDemo.tid/Demo Tiddler List with Custom Story Tiddler Template.tid +10 -0
  124. package/editions/tw5.com/tiddlers/demonstrations/CustomStoryTiddlerTemplateDemo.tid/Styles.tid +31 -0
  125. package/editions/tw5.com/tiddlers/demonstrations/CustomStoryTiddlerTemplateDemo.tid/Template.tid +25 -0
  126. package/editions/tw5.com/tiddlers/demonstrations/CustomStoryTiddlerTemplateDemo.tid/TiddlerTemplateFilter.tid +5 -0
  127. package/editions/tw5.com/tiddlers/demonstrations/CustomTiddlerColourCascadeDemo/CustomTiddlerColourCascadeDemo.tid +9 -0
  128. package/editions/tw5.com/tiddlers/demonstrations/CustomTiddlerIconCascadeDemo/CustomTiddlerIconCascadeDemo.tid +9 -0
  129. package/editions/tw5.com/tiddlers/demonstrations/ImageGallery Example.tid +5 -16
  130. package/editions/tw5.com/tiddlers/demonstrations/KeyboardDrivenInput/Demonstration_ keyboard-driven-input Macro.tid +2 -2
  131. package/editions/tw5.com/tiddlers/demonstrations/KeyboardDrivenInput/kdi-demo-configtid.tid +4 -3
  132. package/editions/tw5.com/tiddlers/demonstrations/SampleNotification.tid +2 -1
  133. package/editions/tw5.com/tiddlers/demonstrations/SampleTiddlerFirst.tid +3 -1
  134. package/editions/tw5.com/tiddlers/demonstrations/SampleTiddlerSecond.tid +3 -1
  135. package/editions/tw5.com/tiddlers/demonstrations/SampleTiddlerThird.tid +3 -1
  136. package/editions/tw5.com/tiddlers/demonstrations/SampleWizard.tid +2 -1
  137. package/editions/tw5.com/tiddlers/demonstrations/SampleWizard2.tid +2 -1
  138. package/editions/tw5.com/tiddlers/demonstrations/TableOfContents/Contents.tid +3 -2
  139. package/editions/tw5.com/tiddlers/demonstrations/TableOfContents/First.tid +3 -3
  140. package/editions/tw5.com/tiddlers/demonstrations/TableOfContents/FirstOne.tid +2 -2
  141. package/editions/tw5.com/tiddlers/demonstrations/TableOfContents/FirstThree.tid +2 -2
  142. package/editions/tw5.com/tiddlers/demonstrations/TableOfContents/FirstTwo.tid +2 -2
  143. package/editions/tw5.com/tiddlers/demonstrations/TableOfContents/Fourth.tid +2 -2
  144. package/editions/tw5.com/tiddlers/demonstrations/TableOfContents/Second.tid +2 -2
  145. package/editions/tw5.com/tiddlers/demonstrations/TableOfContents/SecondOne.tid +2 -2
  146. package/editions/tw5.com/tiddlers/demonstrations/TableOfContents/SecondThree.tid +3 -3
  147. package/editions/tw5.com/tiddlers/demonstrations/TableOfContents/SecondThreeOne.tid +2 -2
  148. package/editions/tw5.com/tiddlers/demonstrations/TableOfContents/SecondThreeThree.tid +2 -2
  149. package/editions/tw5.com/tiddlers/demonstrations/TableOfContents/SecondThreeTwo.tid +2 -2
  150. package/editions/tw5.com/tiddlers/demonstrations/TableOfContents/SecondTwo.tid +2 -2
  151. package/editions/tw5.com/tiddlers/demonstrations/TableOfContents/Third.tid +3 -3
  152. package/editions/tw5.com/tiddlers/demonstrations/TableOfContents/ThirdOne.tid +2 -2
  153. package/editions/tw5.com/tiddlers/demonstrations/TableOfContents/ThirdThree.tid +2 -2
  154. package/editions/tw5.com/tiddlers/demonstrations/TableOfContents/ThirdTwo.tid +2 -2
  155. package/editions/tw5.com/tiddlers/demonstrations/Tagged with TagMacro.tid +2 -1
  156. package/editions/tw5.com/tiddlers/demonstrations/Tasks/Compose ballad.tid +3 -3
  157. package/editions/tw5.com/tiddlers/demonstrations/Tasks/Get the Ring.tid +3 -3
  158. package/editions/tw5.com/tiddlers/demonstrations/Tasks/Go to Mordor.tid +3 -3
  159. package/editions/tw5.com/tiddlers/demonstrations/Tasks/Kill the Dragon.tid +4 -4
  160. package/editions/tw5.com/tiddlers/demonstrations/Tasks/Make the beds.tid +3 -3
  161. package/editions/tw5.com/tiddlers/demonstrations/Tasks/done.tid +3 -1
  162. package/editions/tw5.com/tiddlers/demonstrations/Tasks/task.tid +3 -2
  163. package/editions/tw5.com/tiddlers/demonstrations/Weekdays/Days of the Week.tid +5 -4
  164. package/editions/tw5.com/tiddlers/demonstrations/Weekdays/Friday.tid +2 -1
  165. package/editions/tw5.com/tiddlers/demonstrations/Weekdays/Monday.tid +2 -1
  166. package/editions/tw5.com/tiddlers/demonstrations/Weekdays/Saturday.tid +3 -2
  167. package/editions/tw5.com/tiddlers/demonstrations/Weekdays/Sunday.tid +2 -1
  168. package/editions/tw5.com/tiddlers/demonstrations/Weekdays/Thursday.tid +2 -1
  169. package/editions/tw5.com/tiddlers/demonstrations/Weekdays/Tuesday.tid +2 -1
  170. package/editions/tw5.com/tiddlers/demonstrations/Weekdays/Wednesday.tid +2 -1
  171. package/editions/tw5.com/tiddlers/demonstrations/sampletag1.tid +3 -0
  172. package/editions/tw5.com/tiddlers/demonstrations/sampletag2.tid +3 -0
  173. package/editions/tw5.com/tiddlers/features/DateFormat.tid +7 -1
  174. package/editions/tw5.com/tiddlers/features/LazyLoading.tid +2 -3
  175. package/editions/tw5.com/tiddlers/features/Scalability.tid +4 -2
  176. package/editions/tw5.com/tiddlers/filters/acos Operator.tid +15 -0
  177. package/editions/tw5.com/tiddlers/filters/asin Operator.tid +15 -0
  178. package/editions/tw5.com/tiddlers/filters/atan Operator.tid +13 -0
  179. package/editions/tw5.com/tiddlers/filters/atan2 Operator.tid +15 -0
  180. package/editions/tw5.com/tiddlers/filters/cos Operator.tid +13 -0
  181. package/editions/tw5.com/tiddlers/filters/deserializers Operator.tid +1 -1
  182. package/editions/tw5.com/tiddlers/filters/enlist-input Operator.tid +1 -1
  183. package/editions/tw5.com/tiddlers/filters/examples/acos Operator (Examples).tid +7 -0
  184. package/editions/tw5.com/tiddlers/filters/examples/asin Operator (Examples).tid +7 -0
  185. package/editions/tw5.com/tiddlers/filters/examples/atan Operator (Examples).tid +7 -0
  186. package/editions/tw5.com/tiddlers/filters/examples/atan2 Operator (Examples).tid +7 -0
  187. package/editions/tw5.com/tiddlers/filters/examples/cos Operator (Examples).tid +7 -0
  188. package/editions/tw5.com/tiddlers/filters/examples/cycle Operator (Examples).tid +1 -1
  189. package/editions/tw5.com/tiddlers/filters/examples/log Operator (Examples).tid +1 -1
  190. package/editions/tw5.com/tiddlers/filters/examples/lookup Operator (Examples).tid +2 -1
  191. package/editions/tw5.com/tiddlers/filters/examples/match Operator (Examples).tid +1 -1
  192. package/editions/tw5.com/tiddlers/filters/examples/search-replace Operator (Examples).tid +8 -2
  193. package/editions/tw5.com/tiddlers/filters/examples/sin Operator (Examples).tid +7 -0
  194. package/editions/tw5.com/tiddlers/filters/examples/subfilter Operator (Examples).tid +25 -3
  195. package/editions/tw5.com/tiddlers/filters/examples/tan Operator (Examples).tid +7 -0
  196. package/editions/tw5.com/tiddlers/filters/examples/zth Operator (Examples).tid +10 -0
  197. package/editions/tw5.com/tiddlers/filters/list.tid +2 -2
  198. package/editions/tw5.com/tiddlers/filters/nth.tid +9 -7
  199. package/editions/tw5.com/tiddlers/filters/range.tid +1 -1
  200. package/editions/tw5.com/tiddlers/filters/sin Operator.tid +13 -0
  201. package/editions/tw5.com/tiddlers/filters/storyviews.tid +1 -1
  202. package/editions/tw5.com/tiddlers/filters/subfilter Operator.tid +4 -2
  203. package/editions/tw5.com/tiddlers/filters/syntax/Cascade Filter Run Prefix (Examples).tid +46 -0
  204. package/editions/tw5.com/tiddlers/filters/syntax/Cascade Filter Run Prefix.tid +20 -0
  205. package/editions/tw5.com/tiddlers/filters/syntax/Filter Expression.tid +4 -2
  206. package/editions/tw5.com/tiddlers/filters/syntax/Filter Filter Run Prefix (Examples).tid +30 -0
  207. package/editions/tw5.com/tiddlers/filters/syntax/Filter Filter Run Prefix.tid +27 -0
  208. package/editions/tw5.com/tiddlers/filters/syntax/Filter Run Prefix (Examples).tid +7 -36
  209. package/editions/tw5.com/tiddlers/filters/syntax/Intersection Filter Run Prefix (Examples).tid +36 -0
  210. package/editions/tw5.com/tiddlers/filters/syntax/Intersection Filter Run Prefix.tid +15 -0
  211. package/editions/tw5.com/tiddlers/filters/syntax/Map Filter Run Prefix (Examples).tid +26 -1
  212. package/editions/tw5.com/tiddlers/filters/syntax/Map Filter Run Prefix.tid +9 -1
  213. package/editions/tw5.com/tiddlers/filters/syntax/Named Filter Run Prefix.tid +2 -2
  214. package/editions/tw5.com/tiddlers/filters/syntax/Reduce Filter Run Prefix (Examples).tid +27 -0
  215. package/editions/tw5.com/tiddlers/filters/syntax/Reduce Filter Run Prefix.tid +38 -0
  216. package/editions/tw5.com/tiddlers/filters/tan Operator.tid +13 -0
  217. package/editions/tw5.com/tiddlers/filters/zth Operator.tid +18 -0
  218. package/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - Android.tid +2 -1
  219. package/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - Chrome.tid +2 -1
  220. package/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - Firefox.tid +2 -1
  221. package/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - Internet Explorer.tid +2 -1
  222. package/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - Node.js.tid +2 -1
  223. package/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - Online.tid +2 -2
  224. package/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - Safari.tid +2 -1
  225. package/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - iOS.tid +2 -1
  226. package/editions/tw5.com/tiddlers/{AllTiddlers.tid → hellothere/AllTiddlers.tid} +0 -0
  227. package/editions/tw5.com/tiddlers/hellothere/HelloThere.tid +1 -1
  228. package/editions/tw5.com/tiddlers/hellothere/Some of the things you can do with TiddlyWiki.tid +2 -2
  229. package/editions/tw5.com/tiddlers/hellothere/badges/ProductHunt-Badge.svg.tid +1 -0
  230. package/editions/tw5.com/tiddlers/hellothere/badges/ProductHunt-Link.tid +1 -0
  231. package/editions/tw5.com/tiddlers/hiddensettings/Hidden Setting NewImageType.tid +3 -1
  232. package/editions/tw5.com/tiddlers/hiddensettings/Hidden Setting ShowEditPreviewPerTiddler.tid +10 -0
  233. package/editions/tw5.com/tiddlers/hiddensettings/Hidden Setting_ Typin Refresh Delay.tid +2 -2
  234. package/editions/tw5.com/tiddlers/howtos/Creating SubStories.tid +21 -33
  235. package/editions/tw5.com/tiddlers/howtos/Debugging Stylesheets.tid +11 -0
  236. package/editions/tw5.com/tiddlers/howtos/How to create a custom story tiddler template.tid +40 -0
  237. package/editions/tw5.com/tiddlers/howtos/How to create a custom tiddler colour rule.tid +36 -0
  238. package/editions/tw5.com/tiddlers/howtos/How to create a custom tiddler icon rule.tid +36 -0
  239. package/editions/tw5.com/tiddlers/howtos/How to create dynamic editor toolbar buttons.tid +2 -2
  240. package/editions/tw5.com/tiddlers/howtos/Simple ways to write protect tiddlers.tid +4 -5
  241. package/editions/tw5.com/tiddlers/howtos/Text preview.tid +6 -2
  242. package/editions/tw5.com/tiddlers/howtos/Using Stylesheets.tid +8 -4
  243. package/editions/tw5.com/tiddlers/images/Icon Gallery.tid +14 -0
  244. package/editions/tw5.com/tiddlers/images/New Release Banner.png +0 -0
  245. package/editions/tw5.com/tiddlers/languages/LanguageGallery.tid +2 -2
  246. package/editions/tw5.com/tiddlers/macros/examples/colour-picker Macro (Example 1).tid +2 -2
  247. package/editions/tw5.com/tiddlers/macros/examples/image-picker Macro (Example 1).tid +2 -2
  248. package/editions/tw5.com/tiddlers/macros/examples/image-picker Macro (Example 2).tid +2 -2
  249. package/editions/tw5.com/tiddlers/macros/examples/unusedtitle Macro (Examples 1).tid +2 -2
  250. package/editions/tw5.com/tiddlers/mechanisms/RefreshThrottling.tid +2 -2
  251. package/editions/tw5.com/tiddlers/mechanisms/StateMechanism.tid +2 -2
  252. package/editions/tw5.com/tiddlers/messages/SampleModal.tid +2 -1
  253. package/editions/tw5.com/tiddlers/messages/SampleWindowTemplate.tid +10 -0
  254. package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-edit-text-operation.tid +3 -0
  255. package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-open-window.tid +22 -4
  256. package/editions/tw5.com/tiddlers/nodejs/Environment Variables on Node.js.tid +4 -2
  257. package/editions/tw5.com/tiddlers/nodejs/Installing TiddlyWiki on Node.js.tid +10 -3
  258. package/editions/tw5.com/tiddlers/nodejs/tiddlywiki.files_Files.tid +6 -5
  259. package/editions/tw5.com/tiddlers/nodejs/tiddlywiki.info_Files.tid +2 -2
  260. package/editions/tw5.com/tiddlers/platforms/TiddlyFox Apocalypse.tid +2 -2
  261. package/editions/tw5.com/tiddlers/platforms/TiddlyWiki in the Sky for TiddlyWeb.tid +3 -8
  262. package/editions/tw5.com/tiddlers/plugins/Plugin Types.tid +2 -2
  263. package/editions/tw5.com/tiddlers/reference/Reference.tid +1 -0
  264. package/editions/tw5.com/tiddlers/releasenotes/BetaReleases.tid +2 -2
  265. package/editions/tw5.com/tiddlers/releasenotes/Release 5.2.1.tid +118 -0
  266. package/editions/tw5.com/tiddlers/releasenotes/ReleaseTemplate.tid +3 -0
  267. package/editions/tw5.com/tiddlers/releasenotes/alpha/AlphaReleases.tid +2 -2
  268. package/editions/tw5.com/tiddlers/saving/Example config-tiddlyweb-host for IIS.txt.meta +1 -1
  269. package/editions/tw5.com/tiddlers/saving/Example package.json for IIS.txt.meta +1 -1
  270. package/editions/tw5.com/tiddlers/saving/Example tiddlywiki.info for IIS.txt.meta +1 -1
  271. package/editions/tw5.com/tiddlers/saving/Example web.config for IIS.txt.meta +1 -1
  272. package/editions/tw5.com/tiddlers/saving/Saving via WebDAV.tid +31 -1
  273. package/editions/tw5.com/tiddlers/styleguide/Documentation Macros.tid +6 -2
  274. package/editions/tw5.com/tiddlers/{TableOfContents.tid → system/TableOfContents.tid} +0 -0
  275. package/editions/tw5.com/tiddlers/system/doc-macros.tid +17 -0
  276. package/editions/tw5.com/tiddlers/system/doc-styles.tid +32 -1
  277. package/editions/tw5.com/tiddlers/system/operator-macros.tid +12 -5
  278. package/editions/tw5.com/tiddlers/system/operator-template.tid +8 -8
  279. package/editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_Image.tid +2 -2
  280. package/editions/tw5.com/tiddlers/variables/examples/Sample Headings 1-2-3.tid +2 -1
  281. package/editions/tw5.com/tiddlers/variables/examples/Sample Headings 3-4-5.tid +2 -1
  282. package/editions/tw5.com/tiddlers/variables/examples/Sample Headings 4-5-6.tid +2 -1
  283. package/editions/tw5.com/tiddlers/widgets/ActionCreateTiddlerWidget Example 1.tid +2 -2
  284. package/editions/tw5.com/tiddlers/widgets/ActionCreateTiddlerWidget Example 2.tid +2 -2
  285. package/editions/tw5.com/tiddlers/widgets/ActionCreateTiddlerWidget Example 3.tid +2 -2
  286. package/editions/tw5.com/tiddlers/widgets/ActionCreateTiddlerWidget Example 4.tid +2 -2
  287. package/editions/tw5.com/tiddlers/widgets/ActionCreateTiddlerWidget Template.tid +2 -2
  288. package/editions/tw5.com/tiddlers/widgets/ActionCreateTiddlerWidget_Example.tid +2 -2
  289. package/editions/tw5.com/tiddlers/widgets/ActionListopsWidget.tid +52 -2
  290. package/editions/tw5.com/tiddlers/widgets/ActionSendMessageWidget.tid +3 -1
  291. package/editions/tw5.com/tiddlers/widgets/ActionSetMultipleFieldsWidget.tid +31 -0
  292. package/editions/tw5.com/tiddlers/widgets/ActionWidget Execution Modes.tid +5 -2
  293. package/editions/tw5.com/tiddlers/widgets/ActionWidgets.tid +4 -4
  294. package/editions/tw5.com/tiddlers/widgets/ButtonWidget.tid +2 -2
  295. package/editions/tw5.com/tiddlers/widgets/CheckboxWidget.tid +2 -2
  296. package/editions/tw5.com/tiddlers/widgets/DraggableWidget.tid +2 -2
  297. package/editions/tw5.com/tiddlers/widgets/DroppableWidget.tid +2 -2
  298. package/editions/tw5.com/tiddlers/widgets/DropzoneWidget.tid +2 -2
  299. package/editions/tw5.com/tiddlers/widgets/EditTextWidget.tid +8 -19
  300. package/editions/tw5.com/tiddlers/widgets/EditWidget.tid +2 -2
  301. package/editions/tw5.com/tiddlers/widgets/EventCatcherWidget.tid +2 -2
  302. package/editions/tw5.com/tiddlers/widgets/FieldManglerWidget.tid +3 -3
  303. package/editions/tw5.com/tiddlers/{Keyboard Codes.tid → widgets/Keyboard Codes.tid} +0 -0
  304. package/editions/tw5.com/tiddlers/widgets/KeyboardWidget.tid +2 -2
  305. package/editions/tw5.com/tiddlers/widgets/LetWidget.tid +57 -0
  306. package/editions/tw5.com/tiddlers/widgets/LinkCatcherWidget.tid +2 -2
  307. package/editions/tw5.com/tiddlers/widgets/ListopsData.tid +1 -0
  308. package/editions/tw5.com/tiddlers/widgets/MessageCatcherWidget.tid +2 -2
  309. package/editions/tw5.com/tiddlers/widgets/MessageHandlerWidgets.tid +13 -0
  310. package/editions/tw5.com/tiddlers/widgets/NavigatorWidget.tid +5 -2
  311. package/editions/tw5.com/tiddlers/widgets/RadioWidget.tid +2 -2
  312. package/editions/tw5.com/tiddlers/widgets/RangeWidget.tid +2 -2
  313. package/editions/tw5.com/tiddlers/widgets/SelectWidget.tid +15 -2
  314. package/editions/tw5.com/tiddlers/widgets/SetMultipleVariablesWidget.tid +33 -0
  315. package/editions/tw5.com/tiddlers/widgets/The Extended Listops Filters.tid +2 -1
  316. package/editions/tw5.com/tiddlers/widgets/TriggeringWidgets.tid +13 -0
  317. package/editions/tw5.com/tiddlers/widgets/VarsWidget.tid +7 -5
  318. package/editions/tw5.com/tiddlers/wikitext/Transclusion and Substitution.tid +3 -2
  319. package/languages/pl-PL/ControlPanel.multids +1 -1
  320. package/languages/pl-PL/Docs/PaletteColours.multids +1 -1
  321. package/languages/pl-PL/Import.multids +1 -1
  322. package/languages/pl-PL/Misc.multids +2 -2
  323. package/languages/pl-PL/SideBar.multids +1 -1
  324. package/languages/zh-Hans/ControlPanel.multids +15 -0
  325. package/languages/zh-Hant/ControlPanel.multids +15 -0
  326. package/licenses/cla-individual.md +10 -0
  327. package/package.json +1 -1
  328. package/plugins/tiddlywiki/codemirror/engine.js +55 -2
  329. package/readme.md +2 -2
  330. package/themes/tiddlywiki/vanilla/ThemeTweaks.tid +7 -3
  331. package/themes/tiddlywiki/vanilla/base.tid +6 -0
  332. package/themes/tiddlywiki/vanilla/reset.tid +1 -1
  333. package/core/ui/ViewTemplate/plugin.tid +0 -15
  334. package/editions/tw5.com/tiddlers/customising/Page and tiddler layout customisation.tid +0 -63
  335. package/editions/tw5.com/tiddlers/demonstrations/SampleAlert.tid +0 -9
@@ -5,22 +5,29 @@ tags: $:/tags/Macro
5
5
 
6
6
  \define .operator-examples(op,text:"Examples") <$link to="$op$ Operator (Examples)">$text$</$link>
7
7
 
8
+ \define .operator-example-tryit-actions() <$action-setfield $tiddler=<<.state>> text="show" filter=<<__eg__>>/>
8
9
  \define .operator-example(n,eg,ie)
9
10
  <div class="doc-example">
10
- `$eg$`
11
- <$macrocall $name=".if" cond="""$ie$""" then="""<dd>&rarr; $ie$</dd>"""/>
12
11
  <$list filter="[title<.state-prefix>addsuffix{!!title}addsuffix[/]addsuffix[$n$]]" variable=".state">
13
12
  <$reveal state=<<.state>> type="nomatch" text="show">
13
+ `$eg$`
14
+ <$macrocall $name=".if" cond="""$ie$""" then="""<dd>&rarr; $ie$</dd>"""/>
14
15
  <dl>
15
- <dd><$button set=<<.state>> setTo="show">Try it</$button></dd>
16
+ <dd><$button actions=<<.operator-example-tryit-actions>>>Try it</$button></dd>
16
17
  </dl>
17
18
  </$reveal>
18
19
  <$reveal state=<<.state>> type="match" text="show">
20
+ <$edit-text tiddler=<<.state>> field="filter" tag="input" type=search focus="true"/>
19
21
  <dl>
20
- <dd><$button set=<<.state>> setTo="">Hide</$button></dd>
22
+ <dd>
23
+ <$button set=<<.state>> setTo="">Hide</$button>
24
+ <$reveal stateTitle=<<.state>> stateField="filter" type="nomatch" text=<<__eg__>>>
25
+ <$button actions=<<.operator-example-tryit-actions>>>Reset</$button>
26
+ </$reveal>
27
+ </dd>
21
28
  </dl>
22
29
  <blockquote class="doc-example-result">
23
- <ul><$list filter="""$eg$""" emptyMessage="(empty)">
30
+ <ul><$list filter={{{[<.state>get[filter]]}}} emptyMessage="(empty)">
24
31
  <li><$link><$view field="title"/></$link></li>
25
32
  </$list></ul>
26
33
  </blockquote>
@@ -23,25 +23,25 @@ list-before: $:/core/ui/ViewTemplate/body
23
23
  <$set name="op-name" value="">
24
24
  <$list filter="[all[current]tag[Filter Operators]]">
25
25
  <table class="doc-table before-tiddler-body">
26
- <!-->
26
+ <!-- -->
27
27
  <$set name="op-head" value="purpose">
28
28
  <$set name="op-body" value={{!!op-purpose}}>
29
29
  <<.op-row>>
30
30
  </$set>
31
31
  </$set>
32
- <!-->
32
+ <!-- -->
33
33
  <$set name="op-head" value="[[input|Filter Syntax]]">
34
34
  <$set name="op-body" value={{!!op-input}}>
35
35
  <<.op-row>>
36
36
  </$set>
37
37
  </$set>
38
- <!-->
38
+ <!-- -->
39
39
  <$set name="op-head" value="`!` input">
40
40
  <$set name="op-body" value={{!!op-neg-input}}>
41
41
  <<.op-row>>
42
42
  </$set>
43
43
  </$set>
44
- <!-->
44
+ <!-- -->
45
45
  <$set name="op-head" value="[[suffix|Filter Step]]">
46
46
  <$set name="op-body" value={{!!op-suffix}}>
47
47
  <$set name="op-name" value={{!!op-suffix-name}}>
@@ -49,7 +49,7 @@ list-before: $:/core/ui/ViewTemplate/body
49
49
  </$set>
50
50
  </$set>
51
51
  </$set>
52
- <!-->
52
+ <!-- -->
53
53
  <$set name="op-head" value="[[parameter|Filter Parameter]]">
54
54
  <$set name="op-body" value={{!!op-parameter}}>
55
55
  <$set name="op-name" value={{!!op-parameter-name}}>
@@ -57,19 +57,19 @@ list-before: $:/core/ui/ViewTemplate/body
57
57
  </$set>
58
58
  </$set>
59
59
  </$set>
60
- <!-->
60
+ <!-- -->
61
61
  <$set name="op-head" value="output">
62
62
  <$set name="op-body" value={{!!op-output}}>
63
63
  <<.op-row>>
64
64
  </$set>
65
65
  </$set>
66
- <!-->
66
+ <!-- -->
67
67
  <$set name="op-head" value="`!` output">
68
68
  <$set name="op-body" value={{!!op-neg-output}}>
69
69
  <<.op-row>>
70
70
  </$set>
71
71
  </$set>
72
- <!-->
72
+ <!-- -->
73
73
  </table>
74
74
  <$list filter="[all[current]has[from-version]]" variable="listItem">
75
75
  <$macrocall $name=".from-version" version={{!!from-version}}/>
@@ -1,9 +1,9 @@
1
1
  caption: $:/tags/Image
2
2
  created: 20180926170345251
3
3
  description: marks (core) images
4
- modified: 20180926171456494
4
+ modified: 20211018102336342
5
5
  tags: SystemTags
6
6
  title: SystemTag: $:/tags/Image
7
7
  type: text/vnd.tiddlywiki
8
8
 
9
- The [[system tag|SystemTags]] `$:/tags/Image` marks (core) images
9
+ The [[system tag|SystemTags]] `$:/tags/Image` marks core images. An overview of system icons can be found in the [[Icon Gallery]]
@@ -1,5 +1,6 @@
1
1
  created: 20180609112450207
2
- modified: 20180609112450207
2
+ modified: 20211117024604173
3
+ tags: [[Variable Examples]]
3
4
  title: Sample Headings 1,2,3
4
5
 
5
6
  ! This is a Level 1 Heading
@@ -1,5 +1,6 @@
1
1
  created: 20180609112450207
2
- modified: 20180609112450207
2
+ modified: 20211117024620368
3
+ tags: [[Variable Examples]]
3
4
  title: Sample Headings 3,4,5
4
5
 
5
6
  !!! This is written as a Level 3 heading
@@ -1,5 +1,6 @@
1
1
  created: 20180609112450207
2
- modified: 20180609112450207
2
+ modified: 20211117024620368
3
+ tags: [[Variable Examples]]
3
4
  title: Sample Headings 4,5,6
4
5
 
5
6
  !!!! This is written as a Level 4 heading
@@ -1,6 +1,6 @@
1
1
  created: 20200131142401129
2
- modified: 20201020112608874
3
- tags: ActionCreateTiddlerWidget
2
+ modified: 20211113230406823
3
+ tags: ActionCreateTiddlerWidget Widgets
4
4
  title: ActionCreateTiddlerWidget Example 1
5
5
  type: text/vnd.tiddlywiki
6
6
 
@@ -1,6 +1,6 @@
1
1
  created: 20200131144828713
2
- modified: 20201020112601032
3
- tags: ActionCreateTiddlerWidget
2
+ modified: 20211113011036840
3
+ tags: ActionCreateTiddlerWidget Widgets
4
4
  title: ActionCreateTiddlerWidget Example 2
5
5
  type: text/vnd.tiddlywiki
6
6
 
@@ -1,6 +1,6 @@
1
1
  created: 20200131145355658
2
- modified: 20201020112553050
3
- tags: ActionCreateTiddlerWidget
2
+ modified: 20211113011111052
3
+ tags: ActionCreateTiddlerWidget Widgets
4
4
  title: ActionCreateTiddlerWidget Example 3
5
5
  type: text/vnd.tiddlywiki
6
6
 
@@ -1,6 +1,6 @@
1
1
  created: 20200131150229551
2
- modified: 20201020112544146
3
- tags: ActionCreateTiddlerWidget
2
+ modified: 20211113011129601
3
+ tags: ActionCreateTiddlerWidget Widgets
4
4
  title: ActionCreateTiddlerWidget Example 4
5
5
  type: text/vnd.tiddlywiki
6
6
 
@@ -1,6 +1,6 @@
1
1
  created: 20200131145608087
2
- modified: 20200131150801682
3
- tags: test
2
+ modified: 20211116192551162
3
+ tags: test [[Widget Examples]]
4
4
  title: ActionCreateTiddlerWidget Template
5
5
  type: text/vnd.tiddlywiki
6
6
  x: x
@@ -1,6 +1,6 @@
1
1
  created: 20161020153426686
2
- modified: 20161020155142990
3
- tags: ActionCreateTiddlerWidget
2
+ modified: 20211113011019510
3
+ tags: ActionCreateTiddlerWidget Widgets
4
4
  title: ActionCreateTiddlerWidget Example
5
5
  type: text/vnd.tiddlywiki
6
6
 
@@ -1,7 +1,7 @@
1
1
  caption: action-listops
2
2
  created: 20141025120850184
3
3
  list: efg hlm pqr
4
- modified: 20151228083329099
4
+ modified: 20211115091121133
5
5
  myfield:
6
6
  revision: 0
7
7
  tags: ActionWidgets Widgets
@@ -29,13 +29,63 @@ The ''action-listops'' widget is an [[action widget|ActionWidgets]] that manipul
29
29
  The ''action-listops'' widget is invisible. Any content within it is ignored.
30
30
 
31
31
  |!Attribute |!Description |
32
- |$tiddler |The title of the tiddler whose lists are to be modified (if not provided defaults to the [[current tiddler|Current Tiddler]] |
32
+ |$tiddler |The title of the tiddler whose lists are to be modified (if not provided defaults to the [[current tiddler|Current Tiddler]]) |
33
33
  |$field |The name of a field to be manipulated as a list (defaults to 'list') |
34
34
  |$index |Optional index of a property in a [[data tiddler|DataTiddlers]] index to be manipulated as a list |
35
35
  |$filter |An optional filter expression, the output of which will be saved to the field/index being manipulated |
36
36
  |$subfilter |An optional subfilter expression, which takes the list being manipulated as input, and saves the modified list back to the field/index being manipulated |
37
37
  |$tags |An optional subfilter expression, which takes the 'tags' field of the target tiddler as input, and saves the modified list of tags back to the 'tags' field |
38
38
 
39
+ ! $filter vs. $subfilter
40
+
41
+ Standalone use of the `$subfilter` attribute can be replaced by using a (more complicated) `$filter` attribute value.
42
+
43
+ For example, the items "abc" and "123" can be appended to the field `myfield` using the `$subfilter` attribute:
44
+
45
+ ```
46
+ <$action-listops $field="myfield" $subfilter="abc 123"/>
47
+ ```
48
+
49
+ The same can be achieved using the `$filter` attribute and prepending the [[Filter Run]] `[all[current]get[myfield]enlist-input[]]` to the [[Filter Expression]]:
50
+
51
+ ```
52
+ <$action-listops $field="myfield" $filter="[all[current]get[myfield]enlist-input[]] abc 123"/>
53
+ ```
54
+
55
+ The short form is more convenient, but the long form is useful for live-debugging complicated `$subfilter` values using the filter tab of [[$:/AdvancedSearch]]. By using [[$:/AdvancedSearch]], the [[Filter Expression]] can be tested before using ''action-listops'' to modify actual tiddler fields. For this use case, the `all[current]` portion of the expression needs to be changed to select the proper test tiddler.
56
+
57
+ ! $tags vs. $field + $subfilter
58
+
59
+ [[Tagging]] is implemented using a tiddler's 'tags' field, so appending the tags "abc" and "123" using the `$tags` attribute like this:
60
+
61
+ ```
62
+ <$action-listops $tags="abc 123"/>
63
+ ```
64
+
65
+ is mostly equivalent to using `$subfilter` along with "tags" for the value of `$field`:
66
+
67
+ ```
68
+ <$action-listops $field="tags" $subfilter="abc 123"/>
69
+ ```
70
+
71
+ ! $action-listops widget vs. $action-setfield widget
72
+
73
+ The ActionSetFieldWidget replaces a field's value using `$field`/`$value` attributes. A single ActionSetFieldWidget can be used to set any number of fields by using attributes not starting with $.
74
+
75
+ The ActionListopsWidget replaces or modifies a single field's value. The new value is generated using filters.
76
+
77
+ The following two examples are functionally equivalent:
78
+
79
+ ```
80
+ <$action-setfield $field="myfield" $value="abc 123"/>
81
+ ```
82
+
83
+ ```
84
+ <$action-listops $field="myfield" $filter="abc 123"/>
85
+ ```
86
+
87
+ In general, ActionSetFieldWidget is better for setting multiple fields at once and for replacing a field's value. The ActionListopsWidget is better for modifying a field based on the field's existing value and for using a [[Filter Expression]] to derive the value.
88
+
39
89
  ! Extended Filter Operators
40
90
 
41
91
  A number of [[extended filter operators|The Extended Listops Filters]] are necessary for the manipulation of lists. These operators have been designed primarily for use in subfilter expressions whereby the modified current list is returned in place of the current list.
@@ -1,6 +1,6 @@
1
1
  caption: action-sendmessage
2
2
  created: 20141008134309742
3
- modified: 20150518210909583
3
+ modified: 20211023160110220
4
4
  tags: Widgets ActionWidgets
5
5
  title: ActionSendMessageWidget
6
6
  type: text/vnd.tiddlywiki
@@ -18,6 +18,8 @@ The ''action-sendmessage'' widget is invisible. Any content within it is ignored
18
18
  |$param |Optional parameter string whose meaning is dependent on the message being sent |
19
19
  |$name |Optional name of additional parameter |
20
20
  |$value |Value for optional parameter whose name is specified in `$name` |
21
+ |$names |<<.from-version "5.2.1">> Optional filter evaluating to a list of additional parameter names |
22
+ |$values |<<.from-version "5.2.1">> Optional filter evaluating to a list of parameter values corresponding to the parameters names specified in `$names` |
21
23
  |//{any attributes not starting with $}// |Multiple additional, optional named parameters that are attached to the message |
22
24
 
23
25
  ! Examples
@@ -0,0 +1,31 @@
1
+ caption: action-setmultiplefields
2
+ created: 20211023160110220
3
+ modified: 20211023160110220
4
+ tags: Widgets ActionWidgets
5
+ title: ActionSetMultipleFieldsWidget
6
+ type: text/vnd.tiddlywiki
7
+
8
+ ! Introduction
9
+
10
+ The ''action-setmultiplefields'' widget is an [[action widget|ActionWidgets]] that assigns multiple fields to a tiddler where the names and values of the fields are specified as separate filters. ActionWidgets are used within triggering widgets such as the ButtonWidget.
11
+
12
+ ! Content and Attributes
13
+
14
+ The ''action-setmultiplefields'' widget is invisible. Any content within it is ignored.
15
+
16
+ |!Attribute |!Description |
17
+ |$tiddler |Optional title of the tiddler to modify (defaults to the current tiddler) |
18
+ |$fields |Optional filter evaluating to the names of a list of fields to assign. Either `$fields` or `$indexes` must be specified |
19
+ |$indexes |Optional filter evaluating to the names of a list of indexes to assign. Either `$fields` or `$indexes` must be specified |
20
+ |$values |Filter evaluating to the values to be assigned to the fields or indexes |
21
+ |$timestamp |Specifies whether the timestamp(s) of the target tiddler will be updated (''modified'' and ''modifier'', plus ''created'' and ''creator'' for newly created tiddlers). Can be "yes" (the default) or "no" |
22
+
23
+ ! Examples
24
+
25
+ Here is an example of button that uses the data in [[Days of the Week]] to assign fields `day-Monday`, `day-Tuesday` etc. to the tiddler "HelloThere":
26
+
27
+ <$macrocall $name='wikitext-example-without-html'
28
+ src='<$button>
29
+ <$action-setmultiplefields $tiddler="HelloThere" $fields="[list[Days of the Week]addprefix[day-]]" $values="[list[Days of the Week]]"/>
30
+ Click me!
31
+ </$button>'/>
@@ -1,3 +1,6 @@
1
+ created: 20211003094722447
2
+ modified: 20211116193245990
3
+ tags: Widgets
1
4
  title: ActionWidget Execution Modes
2
5
 
3
6
  <<.from-version "5.2.0">> The default behaviour of action widgets has some peculiarities that often cause confusion. There is now an improved mode that simplifies how things work, but due to BackwardsCompatibility constraints, it must be explicitly engaged in order to take advantage of it.
@@ -21,9 +24,9 @@ Current value of ActionTestTiddler: {{ActionTestTiddler}}
21
24
  Click me
22
25
  </$button>'/>
23
26
 
24
- The new behaviour avoids these problems by refreshing all widgets before execution, not just action widgets. It is engaged by running the actions in a scopr that includes the variable `tv-action-refresh-policy` set to the value `always`.
27
+ The new behaviour avoids these problems by refreshing all widgets before execution, not just action widgets. It is engaged by running the actions in a scope that includes the variable `tv-action-refresh-policy` set to the value `always`. (The default value for `tv-action-refresh-policy` is `once`).
25
28
 
26
- This can be done within an action string, or via a local variable declaration containing the widget triggering the action.
29
+ The assignment can be done within an action string, or via a local variable declaration containing the widget triggering the action.
27
30
 
28
31
  <<.warning "Do not attempt to set `tv-action-refresh-policy` globally; the core will only work correctly with the default setting">>
29
32
 
@@ -1,10 +1,10 @@
1
1
  created: 20141008134425548
2
- modified: 20210630163127249
2
+ modified: 20211031172913375
3
3
  tags: Widgets
4
4
  title: ActionWidgets
5
5
  type: text/vnd.tiddlywiki
6
6
 
7
- Action widgets are a special type of widget that have no visual appearance but perform an action when triggered (such as sending a message, navigating to a tiddler, or changing the value of a tiddler). Action widgets are used in association with other widgets that trigger those actions (for example, the ButtonWidget).
7
+ Action widgets are a special type of widget that have no visual appearance but perform an action when triggered (such as sending a message, navigating to a tiddler, or changing the value of a tiddler). Action widgets are used in association with other widgets that [[trigger those actions|TriggeringWidgets]] (for example, the ButtonWidget).
8
8
 
9
9
  The following action widgets are provided:
10
10
 
@@ -17,7 +17,7 @@ There are two ways to use action widgets:
17
17
 
18
18
  !! Using action string attributes
19
19
 
20
- The action widgets are passed as a string to the `actions` attribute of the triggering widget. Usually, it is more convenient to use a macro to assign the action widgets to a variable. For example, here is a button that triggers two actions of sending different messages:
20
+ The action widgets are passed as a string to the `actions` attribute of the [[triggering widget|TriggeringWidgets]]. Usually, it is more convenient to use a macro to assign the action widgets to a variable. For example, here is a button that triggers two actions of sending different messages:
21
21
 
22
22
  ```
23
23
  \define my-actions()
@@ -32,7 +32,7 @@ Click me!
32
32
 
33
33
  !! Directly embedding action widgets
34
34
 
35
- The action widgets need not be immediate children of their triggering widget, but they must be descendents of it. The actions are performed in sequence. Here is the above example rewritten to use embedding:
35
+ The action widgets need not be immediate children of their [[triggering widget|TriggeringWidgets]], but they must be descendents of it. The actions are performed in sequence. Here is the above example rewritten to use embedding:
36
36
 
37
37
  ```
38
38
  <$button>
@@ -1,7 +1,7 @@
1
1
  caption: button
2
2
  created: 20131024141900000
3
- modified: 20201108183908170
4
- tags: Widgets
3
+ modified: 20211009121239795
4
+ tags: Widgets TriggeringWidgets
5
5
  title: ButtonWidget
6
6
  type: text/vnd.tiddlywiki
7
7
 
@@ -1,7 +1,7 @@
1
1
  caption: checkbox
2
2
  created: 20131024141900000
3
- modified: 20201109090732190
4
- tags: Widgets
3
+ modified: 20211009121239806
4
+ tags: Widgets TriggeringWidgets
5
5
  title: CheckboxWidget
6
6
  type: text/vnd.tiddlywiki
7
7
 
@@ -1,7 +1,7 @@
1
1
  caption: draggable
2
2
  created: 20170406081938627
3
- modified: 20210912141544224
4
- tags: Widgets
3
+ modified: 20211009122105437
4
+ tags: Widgets TriggeringWidgets
5
5
  title: DraggableWidget
6
6
  type: text/vnd.tiddlywiki
7
7
 
@@ -1,7 +1,7 @@
1
1
  caption: droppable
2
2
  created: 20170406082820317
3
- modified: 20200317142604572
4
- tags: Widgets
3
+ modified: 20211009122023265
4
+ tags: Widgets TriggeringWidgets
5
5
  title: DroppableWidget
6
6
  type: text/vnd.tiddlywiki
7
7
 
@@ -1,7 +1,7 @@
1
1
  caption: dropzone
2
2
  created: 20131024141900000
3
- modified: 20210506115809131
4
- tags: Widgets
3
+ modified: 20211009122205481
4
+ tags: Widgets TriggeringWidgets
5
5
  title: DropzoneWidget
6
6
  type: text/vnd.tiddlywiki
7
7
 
@@ -1,6 +1,6 @@
1
1
  caption: edit-text
2
2
  created: 20131024141900000
3
- modified: 20210519154352055
3
+ modified: 20211104200554064
4
4
  tags: Widgets
5
5
  title: EditTextWidget
6
6
  type: text/vnd.tiddlywiki
@@ -33,29 +33,18 @@ The content of the `<$edit-text>` widget is ignored.
33
33
  |minHeight |Minimum height for automatically resized `textarea` editors, specified in CSS length units such as "px", "em" or "%" |
34
34
  |rows|Sets the rows attribute of a generated textarea |
35
35
  |cancelPopups |<<.from-version "5.1.23">> if set to "yes", cancels all popups when the input gets focus |
36
- |inputActions |<<.from-version 5.1.23>> Optional actions that are triggered every time an input event occurs within the input field or textarea |
36
+ |inputActions |<<.from-version 5.1.23>> Optional actions that are triggered every time an input event occurs within the input field or textarea.<br><<.from-version "5.2.1">> The variable `actionValue` is available to the `inputActions` and contains the value of the input field. |
37
37
  |refreshTitle |<<.from-version 5.1.23>> An optional tiddler title that makes the input field update whenever the specified tiddler changes |
38
38
  |disabled|<<.from-version "5.1.23">> Optional, disables the text input if set to "yes". Defaults to "no"|
39
39
  |fileDrop|<<.from-version "5.2.0">> Optional. When set to "yes" allows dropping or pasting images into the editor to import them. Defaults to "no"|
40
40
 
41
- ! Notes
42
41
 
43
- One trap to be aware of is that the edit text widget //cannot be used// to edit a field of the tiddler that contains it. Each keypress results in the tiddler being re-rendered, which loses the cursor position within the text field.
42
+ ! Example
44
43
 
45
- Instead, place the edit text widget in a [[template|TemplateTiddlers]] that references the tiddler you want to modify.
44
+ If you wanted to change the field //myconfig// of the tiddler //AppSettings//, you could use an EditTextWidget to edit the field, and then show the result anywhere else by using `{{AppSettings!!myconfig}}`. Note that this will create tiddler AppSettings if it doesn't already exist.
46
45
 
47
- For example, if you wanted the tiddler GettingStarted to edit the value of the "myconfig" field of the tiddler "AppSettings", you might do so by creating a separate tiddler "ChangeAppSettings" that contains the following:
46
+ <$macrocall $name=".example" n="1"
47
+ eg="""<$edit-text tiddler="AppSettings" field="myconfig"/><p/>
48
+ Value of ''myconfig'' : {{AppSettings!!myconfig}}
49
+ """/>
48
50
 
49
- ```
50
- <$edit-text tiddler="AppSettings" field="myconfig"/>
51
- ```
52
-
53
- And reference the template in any other tiddler (e.g. GettingStarted) with `{{ChangeAppSettings}}`.
54
-
55
- This works when your use of the tiddler //is not// the AppSettings itself which would cause a recursion problem. In this latter case you have to save the fields to a temporary (or alternative) tiddler (sort of the reverse of above) like so:
56
-
57
- ```
58
- <$edit-text tiddler="StoreAppSettings" field="myconfig"/>
59
- ```
60
-
61
- In short the EditTextWidget //can not// change properties of the tiddler it is embedded in or part of. It can only change fields of //other// tiddlers. One could use ShadowTiddlers to accomplish the field storage if needed.
@@ -1,7 +1,7 @@
1
1
  caption: edit
2
2
  created: 20131024141900000
3
- modified: 20201130184647904
4
- tags: Widgets
3
+ modified: 20211009121634055
4
+ tags: Widgets TriggeringWidgets
5
5
  title: EditWidget
6
6
  type: text/vnd.tiddlywiki
7
7
 
@@ -1,6 +1,6 @@
1
1
  created: 20201123113532200
2
- modified: 20210805083352068
3
- tags: Widgets
2
+ modified: 20211031180336257
3
+ tags: Widgets TriggeringWidgets
4
4
  title: EventCatcherWidget
5
5
  type: text/vnd.tiddlywiki
6
6
 
@@ -1,9 +1,9 @@
1
+ caption: fieldmangler
1
2
  created: 20131024141900000
2
- modified: 20150220161229000
3
- tags: Widgets
3
+ modified: 20211009122821085
4
+ tags: Widgets MessageHandlerWidgets
4
5
  title: FieldManglerWidget
5
6
  type: text/vnd.tiddlywiki
6
- caption: fieldmangler
7
7
 
8
8
  ! Introduction
9
9
 
@@ -1,7 +1,7 @@
1
1
  caption: keyboard
2
2
  created: 20140302192136805
3
- modified: 20210612101618855
4
- tags: Widgets
3
+ modified: 20211009121239821
4
+ tags: Widgets TriggeringWidgets
5
5
  title: KeyboardWidget
6
6
  type: text/vnd.tiddlywiki
7
7
 
@@ -0,0 +1,57 @@
1
+ title: LetWidget
2
+ created: 20211028115900000
3
+ tags: Widgets
4
+ caption: let
5
+
6
+ ! Introduction
7
+
8
+ <<.from-version "5.2.1">> The <<.wid let>> widget allows multiple variables to be set in one operation. In some situations it can result in simpler code than using the more flexible <<.wlink SetWidget>> widget. It differs from the <<.wlink VarsWidget>> widget in that variables you're defining may depend on earlier variables defined within the same <<.wid let>>.
9
+
10
+ ! Content and Attributes
11
+
12
+ The content of the <<.wid let>> widget is the scope for the value assigned to the variable.
13
+
14
+ |!Attribute |!Description |
15
+ |//{attributes not starting with $}// |Each attribute name specifies a variable name. The attribute value is assigned to the variable |
16
+
17
+ Attributes are evaluated in the order they are written. Attributes with the same name are allowed. Each time a duplicate attribute is encountered, it will replace the existing value set by the earlier duplicate.
18
+
19
+ ! Examples
20
+
21
+ Consider a case where you need to set multiple variables, where some depend on the evaluation of others.
22
+
23
+ Using the <<.wid let>> widget, this situation may be handled in the following way:
24
+
25
+ ```
26
+ \define helloworld() Hello world!
27
+
28
+ <$let target="MyTiddler" currentTiddler={{{ [<target>prefix[$:/settings/for/]] }}} settings={{!!text}} currentTiddler=<<target>> >
29
+ The settings for <<currentTiddler>> are: <<settings>>
30
+ </$let>
31
+ ```
32
+
33
+ In contrast, here is the same example using the <<.wid set>> widget:
34
+
35
+ ```
36
+ <$set name="target" value="MyTiddler" >
37
+ <$set name="currentTiddler" value={{{ [<target>prefix[$:/settings/for/]] }}} >
38
+ <$set name="settings" value={{!!text}} >
39
+ <$set name="currentTiddler" value=<<target>> >
40
+ The settings for <<currentTiddler>> are: <<settings>>
41
+ </$set>
42
+ </$set>
43
+ </$set>
44
+ </$set>
45
+ ```
46
+
47
+ ! Remarks
48
+
49
+ This widget differs from <<.wid vars>> in the following way:
50
+
51
+ * Each variable's definition will be immediately available to all proceeding variables in the same let widget. This differs from vars, in which definitions which depend on some variable will always look to the widget's outer scope for a value.
52
+
53
+ This widget differs from <<.wid set>> in the following ways:
54
+
55
+ * A fallback (also known as "emptyValue") cannot be specified
56
+ * Filters cannot be used to produce a conditional variable assignment
57
+ * Variable names must be literal strings
@@ -1,7 +1,7 @@
1
1
  caption: linkcatcher
2
2
  created: 20131024141900000
3
- modified: 20170707111536556
4
- tags: Widgets
3
+ modified: 20211009122821108
4
+ tags: Widgets MessageHandlerWidgets TriggeringWidgets
5
5
  title: LinkCatcherWidget
6
6
  type: text/vnd.tiddlywiki
7
7
 
@@ -3,5 +3,6 @@ daysoftheweek: four three Fri Thu Wed Tue Mon
3
3
  modified: 20151108041839747
4
4
  title: ListopsData
5
5
  type: application/x-tiddler-dictionary
6
+ tags: [[Operator Examples]]
6
7
 
7
8
  DataIndex:
@@ -1,6 +1,6 @@
1
1
  created: 20210309133636211
2
- modified: 20210711193113104
3
- tags: Widgets
2
+ modified: 20211009122821123
3
+ tags: Widgets MessageHandlerWidgets TriggeringWidgets
4
4
  title: MessageCatcherWidget
5
5
  type: text/vnd.tiddlywiki
6
6
 
@@ -0,0 +1,13 @@
1
+ created: 20211031174746965
2
+ modified: 20211113163856255
3
+ tags: Widgets
4
+ title: MessageHandlerWidgets
5
+ type: text/vnd.tiddlywiki
6
+
7
+ Message handler widgets are those widgets which can react to one or more [[widget messages|Messages]].
8
+
9
+ <<.tip "Widget messages are similar to low-level DOM events, except they are higher-level and specific to TiddlyWiki. To handle DOM events see the EventCatcherWidget">>
10
+
11
+ The following message handler widgets are provided:
12
+
13
+ <<list-links "[tag[MessageHandlerWidgets]]">>
@@ -1,7 +1,7 @@
1
1
  caption: navigator
2
2
  created: 20131024141900000
3
- modified: 20170629074415261
4
- tags: Widgets
3
+ modified: 20211127023932158
4
+ tags: Widgets MessageHandlerWidgets
5
5
  title: NavigatorWidget
6
6
  type: text/vnd.tiddlywiki
7
7
 
@@ -39,3 +39,6 @@ The following [[Variables]] are assigned by the navigator widget:
39
39
  * <<.vlink tv-story-list>>, giving the name of the tiddler containing the story list
40
40
  * <<.vlink tv-history-list>>, giving the name of the tiddler containing the history list
41
41
 
42
+ ! Examples
43
+
44
+ See [[Creating SubStories]].