[{"created":"20220505193946834","title":"$:/TiddlyTweaks/ReadOnly","creator":"Telumire","text":"\\define enable-autosave()\n<$action-setfield $tiddler=\"$:/config/AutoSave\" text=\"yes\"/>\n\\end\n\\define disable-autosave()\n<$action-setfield $tiddler=\"$:/config/AutoSave\" text=\"\"/>\n\\end\n\\define set-current-sidebar-tab()\n<$action-listops $tiddler=\"$:/state/tab/sidebar--595412856\" $field=\"text\" $filter=\"[[$:/tags/SideBar]tagging[]nth[1]]\"/>\n\\end\n\\define StartupAction()\n <$let read-only={{{ [subfilter{!!ReadOnlyFilter}] }}}>\n \n <$list filter=\"[match[true]]\" variable=_>\n \n \n \n \n <$list filter=\"[match[true]]\" variable=\"_\" emptyMessage=<> ><>\n\n <$list filter=\"[list[!!config-visibility]]\" variable=\"UI-elements\">\n <$list filter=\"[getenlist-input[]has[text]]\" variable=\"UI-element\">\n \n <$list filter=\"[search:title[Buttons]]\" variable=_>\n <$tiddler tiddler={{{ $:/config/[]/Visibility/[]+[join[]] }}}>\n <$list filter=\"[match[true]]\" variable=_>\n \n <$action-setfield initial={{!!text}}/>\n \n <$action-setfield text=\"hide\"/>\n \n <$list filter=\"[is[current]has[initial]]:filter[match[false]]\" variable=_>\n \n <$action-setfield text={{!!initial}} />\n \n \n \n \n <$list filter=\"[search:title[tabs]]:filter[match[true]]\" variable=\"_\" >\n <$action-listops $tiddler=<> $tags=\"-[[$:/tags/SideBar]] +[[$:/tags/SideBar/disabled]]\" />\n \n <$list filter=\"[search:title[tabs]]:filter[match[false]]\" variable=\"_\" >\n <$action-listops $tiddler=<> $tags=\"+[[$:/tags/SideBar]] -[[$:/tags/SideBar/disabled]]\" />\n \n \n \n \n <>\n \n\\end\n\\define checkbox(state,field)\n <$button class=\"tc-btn-invisible\" actions=\"\"\"\n <$action-listops $field=\"$field$\" $subfilter=\"+[toggle]\" />\n <$list filter=\"[[$state$]!match[checked]]\" variable=\"_\">\n <$action-deletetiddler $filter=\"[][search:title[$:/config/]search:title]\"/>\n \n <>\n \"\"\">\n \n \n\\end\n\\define toggle-visibility(filter,field)\n<$list filter=\"$filter$\" variable=\"toggle\">\n
\n \n
\n\n\\end\n\\define check-all()\n <>\n <$action-setmultiplefields $fields=\"[list[!!config-visibility]]\" $values=\" \"/>\n <$action-deletetiddler $filter=\"\"\"\n $:/tags/ViewToolbar $:/tags/PageControls $:/tags/SideBar $:/tags/SideBar/disabled +[tagging[]]\n [search:title[$:/config/ViewToolbarButtons]]\n [search:title[$:/config/PageControlButtons]]\n \"\"\"/>\n\\end\n\\define uncheck-all()\n <>\n <$action-setmultiplefields $fields=\"[list[!!config-visibility]]\" $values=\"\"\"\n [[$:/tags/PageControls]tagging[]format:titlelist[]join[ ]]\n [[$:/tags/ViewToolbar]tagging[]format:titlelist[]join[ ]]\n [subfilter[$:/tags/SideBar $:/tags/SideBar/disabled]tagging[]format:titlelist[]join[ ]]\n \"\"\"/>\n\\end\n\\define save-changes()\n <>\n <$wikify name=\"site-title\" text={{$:/config/SaveWikiButton/Filename}}>\n <$action-sendmessage $message=\"tm-save-wiki\" $param={{$:/config/SaveWikiButton/Template}} filename=<>/>\n \n\\end\n\\define tabList() [[View toolbar]] [[Page controls]] [[Sidebar tabs]] [[Custom CSS]] [[Settings]]\n\\define tabViewToolbar()\n

\n Select which buttons can be displayed in read only mode.\n

\n <$macrocall $name=\"toggle-visibility\" filter=\"[[$:/tags/ViewToolbar]tagging[]]\" field=\"ViewToolbarButtons\"/>\n\\end\n\\define tabPageControls()\n

\n Select which buttons can be displayed in read only mode.\n

\n <$macrocall $name=\"toggle-visibility\" filter=\"[[$:/tags/PageControls]tagging[]]\" field=\"PageControlButtons\"/>\n\\end\n\\define tabSidebarTabs()\n

\n Select which tabs can be displayed in read only mode.\n

\n <$macrocall $name=\"toggle-visibility\" filter=\"$:/tags/SideBar $:/tags/SideBar/disabled +[tagging[]sort[]]\" field=\"SideBarSegments/tabs\"/>\n\\end\n\\define tabCustomCSS()\n

\n Write custom CSS rules to enable in read only mode.\n

\n <$edit-text field=\"ReadOnlyCSS\" tag=\"textarea\" class=\"tc-edit-texteditor full-width\"/>\n\\end\n\\define tabSettings()\n

\n <$button actions=<> >Hide all\n <$button actions=<> >Reset\n <$button\n actions=<>\n tooltip={{$:/language/Buttons/SaveWiki/Hint}}\n aria-label={{$:/language/Buttons/SaveWiki/Caption}}\n class=\"tc-btn-invisible\">\n \n {{$:/core/images/save-button}} <$text text={{$:/language/Buttons/SaveWiki/Caption}}/>\n \n \n

\n

Below is the filter used to trigger the read only.

\n <$edit-text field=\"ReadOnlyFilter\" tag=\"textarea\" class=\"tc-edit-texteditor full-width\"/>\n

\n <$radio field=\"override\" value=\"true\"> on\n <$radio field=\"override\" value=\"false\"> off\n <$radio field=\"override\" value=\"\"> auto\n

\n

Read only is <$text text={{{ [subfilter{!!ReadOnlyFilter}match[true]then[on]else[off]] }}}/>.

\n\\end\n<$tiddler tiddler=\"$:/TiddlyTweaks/ReadOnly\">\n\n <>\n\n\n<$let stateTab=<> >\n
\n
\n <$list filter=<> variable=\"currentTab\">\n <$button set=<> setTo=<> selectedClass=\"tc-tab-selected\"><>\n \n
\n
\n <$let defaultTab={{{ [enlistfirst[]] }}} >\n <$macrocall $name={{{ tab[get[text]elsetitlecase[]]+[split[ ]join[]] }}}/>\n \n
\n
\n\n\n \n\n
\nWARNING: The buttons are not properly turned on when turning off read only. For now, use the <$button actions=<>>Reset button.\n
\n","modified":"20221002161339157","modifier":"Telumire","tags":"$:/tags/StartupAction $:/tags/Stylesheet $:/tags/ControlPanel/Appearance","type":"text/vnd.tiddlywiki","PageControlButtons":"$:/core/ui/Buttons/save-wiki $:/core/ui/Buttons/advanced-search $:/core/ui/Buttons/close-all $:/core/ui/Buttons/control-panel $:/core/ui/Buttons/encryption $:/core/ui/Buttons/export-page $:/core/ui/Buttons/fold-all $:/core/ui/Buttons/import $:/core/ui/Buttons/language $:/core/ui/Buttons/manager $:/core/ui/Buttons/more-page-actions $:/core/ui/Buttons/new-image $:/core/ui/Buttons/new-journal $:/core/ui/Buttons/new-tiddler $:/core/ui/Buttons/palette $:/core/ui/Buttons/print $:/core/ui/Buttons/refresh $:/core/ui/Buttons/storyview $:/core/ui/Buttons/tag-manager $:/core/ui/Buttons/theme $:/core/ui/Buttons/timestamp $:/core/ui/Buttons/unfold-all $:/core/ui/Buttons/permaview $:/core/ui/Buttons/full-screen","SideBarSegments/tabs":"$:/core/ui/SideBar/Open $:/core/ui/SideBar/Recent $:/core/ui/SideBar/Tools $:/core/ui/SideBar/More","ViewToolbarButtons":"$:/core/ui/Buttons/more-tiddler-actions $:/core/ui/Buttons/info $:/core/ui/Buttons/new-here $:/core/ui/Buttons/new-journal-here $:/core/ui/Buttons/clone $:/core/ui/Buttons/export-tiddler $:/core/ui/Buttons/edit $:/core/ui/Buttons/delete $:/core/ui/Buttons/permalink $:/core/ui/Buttons/permaview $:/core/ui/Buttons/open-window $:/core/ui/Buttons/close-others $:/core/ui/Buttons/fold-others $:/core/ui/Buttons/fold $:/core/ui/Buttons/fold-bar","config-visibility":"PageControlButtons ViewToolbarButtons SideBarSegments/tabs","ReadOnlyCSS":".tc-sidebar-search [aria-label=\"{{$:/language/Buttons/AdvancedSearch/Caption}}\"]{ \ndisplay:none;\n}","caption":"Read Only","revision":"0","bag":"default","list-after":"","ReadOnlyFilter":"[[TiddlyWiki Safe Mode]is[tiddler]]\n[{$:/status/IsLoggedIn}match[yes]]\n[{$:/info/url/protocol}match[file:]]\n[{$:/info/url/hostname}match[localhost]]\n+[!is[blank]limit[1]then[false]else[true]]\n:map[<..currentTiddler>get[override]!is[blank]else]","override":"false"}]