Сброс всех элементов в контрольном списке TiddlyWiki/CheckboxPlugin
Я написал еженедельный обзор контрольного списка GTD для себя в TiddlyWiki, используя CheckboxPlugin. После того, как я закончу с ним каждую неделю, я хочу нажать одну ссылку, чтобы снять (сбросить) все элементы на нем, чтобы она была готова для следующего использования.
Я храню информацию о проверке в виде тегов на отдельной странице тиддлера. Я должен иметь возможность просто стереть все теги на этой странице и обновить страницу с контрольным списком, но я пока не смог понять, как это сделать.
Я обычно работаю в C, C++ и Lisp, я только изучаю Javascript. Кто-нибудь может предложить несколько полезных указателей?
(И прежде чем кто-либо предложит это, я посмотрел ChecklistScript на том же сайте. Он не использует вещи CheckboxPlugin и не совместим с ним.)
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>
Это работает только потому, что я храню теги в отдельном тиддлере и использую InlineJavascriptPlugin.
Попробуйте это (адаптировано из кода "resetall" ChecklistScript):
<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>