From 650e9980cbeae17d9feaf6fec64df026d64ef227 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Dvo=C5=99=C3=A1k?= Date: Wed, 11 Sep 2013 09:29:09 +0200 Subject: [PATCH] provide the generic input field formlet MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit HTML5 defines input types such as "email" or "date". Provide a generic formlet so that we don't have to cover this ever-growing set piece-by-piece. Signed-off-by: Jan Dvořák --- .../web-server/scribblings/formlets.scrbl | 11 +++++++++++ .../web-server-lib/web-server/formlets/input.rkt | 8 ++++++++ 2 files changed, 19 insertions(+) diff --git a/pkgs/web-server-pkgs/web-server-doc/web-server/scribblings/formlets.scrbl b/pkgs/web-server-pkgs/web-server-doc/web-server/scribblings/formlets.scrbl index d2a814df21..e128a9ae9c 100644 --- a/pkgs/web-server-pkgs/web-server-doc/web-server/scribblings/formlets.scrbl +++ b/pkgs/web-server-pkgs/web-server-doc/web-server/scribblings/formlets.scrbl @@ -294,6 +294,17 @@ These @tech{formlet}s are the main combinators for form input. name. } +@defproc[(input [#:type type string?] + [#:value value (or/c false/c bytes?) #f] + [#:size size (or/c false/c exact-nonnegative-integer?) #f] + [#:max-length max-length (or/c false/c exact-nonnegative-integer?) #f] + [#:read-only? read-only? boolean? #f] + [#:attributes attrs (listof (list/c symbol? string?)) empty]) + (formlet/c (or/c false/c binding?))]{ + This @tech{formlet} renders using an INPUT element with specified type + and arguments. +} + @defproc[(text-input [#:value value (or/c false/c bytes?) #f] [#:size size (or/c false/c exact-nonnegative-integer?) #f] [#:max-length max-length (or/c false/c exact-nonnegative-integer?) #f] diff --git a/pkgs/web-server-pkgs/web-server-lib/web-server/formlets/input.rkt b/pkgs/web-server-pkgs/web-server-lib/web-server/formlets/input.rkt index f9524d1ec0..2dc19ddd74 100644 --- a/pkgs/web-server-pkgs/web-server-lib/web-server/formlets/input.rkt +++ b/pkgs/web-server-pkgs/web-server-lib/web-server/formlets/input.rkt @@ -313,6 +313,14 @@ ""))))) (provide/contract + [input (() + (#:type string? + #:value (or/c false/c bytes?) + #:max-length (or/c false/c exact-nonnegative-integer?) + #:read-only? boolean? + #:attributes (listof (list/c symbol? string?)) + . ->* . + (formlet/c (or/c false/c binding?))))] [text-input (() (#:value (or/c false/c bytes?) #:size (or/c false/c exact-nonnegative-integer?)