重置 TiddlyWiki/CheckboxPlugin 清单中的所有项目

Resetting all items in a TiddlyWiki/CheckboxPlugin checklist

本文关键字:项目 单中 TiddlyWiki CheckboxPlugin 重置      更新时间:2023-09-26

我在TiddlyWiki中使用CheckboxPlugin为自己写了一个每周回顾GTD清单。每周完成它后,我想单击一个链接以取消选中(重置)其上的所有项目,以便下次使用。

我将支票信息作为标签存储在单独的 tiddler 页面上。我应该能够删除该页面上的所有标签并刷新清单页面,但我还没有弄清楚如何做到这一点。

我通常使用C,C++和Lisp,我只是在学习Javascript。任何人都可以提供一些有用的指示吗?

(在任何人建议之前,我已经查看了同一站点上的ChecklistScript。它不使用CheckboxPlugin的东西,并且与它不兼容。

试试这个(改编自ChecklistScript的"resetall"代码):

<html><form style="display:inline">
    <input type="button" value="clear all" onclick="
        var tid='SomeTiddler';
        var list='tag1 [[tag 2]] tag3 tag4';
        var tags=list.readBracketedList();
        store.suspendNotifications();
        for (var t=0; t<tags.length; t++)
            store.setTiddlerTag(tid,false,tags[t]);
        store.resumeNotifications();
        story.refreshTiddler(tid,null,true);
"></form></html>

花了一段时间,但我想通了(感谢ELS的回答带来的灵感):

<script label="(Reset All)" title="Reset all items" key="X">
        var tid='WeeklyReviewStepsChecklistItems';
        store.getTiddler(tid).tags=[];
        story.refreshTiddler(tid,null,true);
        story.refreshTiddler('Weekly Review Steps',null,true);
</script>

这之所以有效,是因为我将标签存储在一个单独的 tiddler 中,并使用 InlineJavascriptPlugin。