From 9ce49a16dc80c8a443bcea77acdb9121dd64b175 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Sun, 9 Oct 2016 08:13:33 -0700 Subject: Quick and dirty search box feature. --- alias-list-form.txr | 14 +++++++++++++- aliases.txr | 13 ++++++++++++- config.txr | 1 + 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/alias-list-form.txr b/alias-list-form.txr index c9293ae..eeea9d0 100644 --- a/alias-list-form.txr +++ b/alias-list-form.txr @@ -18,6 +18,18 @@

Your mail aliases:

@ (end) +@ (if (cdddr aliases)) +@ (output) +
+ + + +
+@ (end) +@ (end) +@ (do (if search-regex + (set aliases (keep-if (op (umeth match) @1 search-regex) aliases)))) @ (if aliases) @ (output)
@@ -47,7 +59,7 @@ send you e-mail. Attempts to send e-mail to a deleted @\ alias result in a non-delivery notice (bounce).">@\ @{aliases.address}@@@domain - @(time-string-local aliases.creation-time "%Y-%m-%d %H:%M %Z") + @(time-string-local aliases.creation-time date-format) @{aliases.(get-html-memo)} @\ [edit] diff --git a/aliases.txr b/aliases.txr index 67874c7..895813d 100644 --- a/aliases.txr +++ b/aliases.txr @@ -15,9 +15,15 @@ (url-decode alias.memo)) (:method get-html-memo (alias) (let* ((mem alias.(get-decoded-memo))) - (html-encode-with-http mem))))) + (html-encode-with-http mem))) + (:method match (alias regex) + (or [regex alias.(get-decoded-memo)] + [regex alias.address] + [regex (time-string-local alias.creation-time date-format)])))) @; @(bind selected-alias-keys nil) +@(bind search-query "") +@(bind search-regex nil) @; @(define mark-aliases (aliases selected)) @ (do (each ((key selected)) @@ -111,7 +117,12 @@ chkbox-@selected=on @ (next :list url-args) @ (gather) memo=@memo +query=@query @ (end) +@ (set search-query @(url-decode query)) +@ (set search-regex @(if (equal search-query "") + nil + (ignerr (regex-compile search-query)))) @ (next :list url-args) @ (cases) @ (skip) diff --git a/config.txr b/config.txr index 74315ba..ca7c326 100644 --- a/config.txr +++ b/config.txr @@ -4,3 +4,4 @@ @(bind auth :imap) @(bind sasl-sock "/var/run/saslauthd/mux") @(bind csslink "") +@(bind date-format "%Y-%m-%d %H:%M %Z") -- cgit v1.2.3