diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2016-04-17 11:38:23 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2016-04-17 11:38:23 -0700 |
commit | 6a6b5f8c096c207943aa2ebddcc7da4364d994c9 (patch) | |
tree | f25cc81d37fc64629170453e831b1f1f735db808 | |
parent | 19a2a8cadf52149229f0883155b8fcb562b676b8 (diff) | |
download | tamarind-6a6b5f8c096c207943aa2ebddcc7da4364d994c9.tar.gz tamarind-6a6b5f8c096c207943aa2ebddcc7da4364d994c9.tar.bz2 tamarind-6a6b5f8c096c207943aa2ebddcc7da4364d994c9.zip |
When moving around aliases, keep checkbox values.
-rw-r--r-- | alias-list-form.txr | 1 | ||||
-rw-r--r-- | aliases.txr | 13 |
2 files changed, 13 insertions, 1 deletions
diff --git a/alias-list-form.txr b/alias-list-form.txr index 023e3ad..9f46b41 100644 --- a/alias-list-form.txr +++ b/alias-list-form.txr @@ -32,6 +32,7 @@ <tr> <td align="center"> <input type="checkbox" name="chkbox-@{aliases.address}" + @(if (slot aliases 'selected) "checked=\"checked\"" "") title="Check this box if you wish to delete this alias. @\ You can check multiple aliases and then delete @\ them at the same time with @\ diff --git a/aliases.txr b/aliases.txr index 2f25997..4bc1d75 100644 --- a/aliases.txr +++ b/aliases.txr @@ -1,6 +1,6 @@ @(do (defstruct (alias address memo creation-time) nil - address memo creation-time + address memo creation-time (selected nil) (:postinit (alias) (ifa (stringp alias.creation-time) (set it (int-str it))) @@ -23,6 +23,15 @@ [<a href="mailto:@mem" \ onclick="return false;">...</a>] \ \ @(html-encode [mem -27..t])</span>`))))) +@; +@(bind selected-alias-keys nil) +@; +@(define mark-aliases (aliases selected)) +@ (do (each ((key selected)) + (let ((a (find key aliases))) + (set a.selected t)))) +@(end) +@; @(define load-aliases (user aliases)) @ (local time memo) @ (bind lock @(acquire-lock aliases-file)) @@ -45,6 +54,7 @@ @ (finally) @ (do (release-lock lock)) @ (end) +@ (mark-aliases aliases selected-alias-keys) @(end) @; @(define store-aliases (user aliases)) @@ -103,6 +113,7 @@ @ (collect :vars (selected)) chkbox-@selected=on @ (end) +@ (load-aliases userid aliases) @ (next :list url-args) @ (gather) memo=@memo |