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

Resetting all items in a TiddlyWiki/CheckboxPlugin checklist

提问人:Head Geek 提问时间:10/6/2008 更新时间:10/8/2008 访问量:1464

问:

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

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

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

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

JavaScript 花絮维基

评论


答:

1赞 ELS 10/7/2008 #1

试试这个(改编自 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>
0赞 Head Geek 10/8/2008 #2

花了一段时间,但我想通了(感谢 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