arguments: the input-field *and* the binding value (not only the
binding value)
Rational: (a) transformers of non-multi input-fields can now access the
attribute field of the input-field record, (b) there is no real reason
why to treat multi and non-multi input-fields differently in respect
to their transformer arguments (keep design simple).
Updates of current surflets only necessary if they create their own
non-multi input-fields (with make-input-field). Example surlfets
calculate.scm and calculate-cb.scm updated as well as standard HTML
input-fields provided by the SUrflets.
buttons return the coordinates where the user clicked à la
imgbtn321.x=13&imgbtn321.y=12. Thus, we cannot search for the
input-field-name of the image button. To remove this bug, we introduce
following changes:
surflet-input-fields.scm:
+ make-image-button returns a multi-input-field that searches for its
coordinates in the bindings, returning a pair (x y) of it (numbers).
+ Adapt select-input-fields to interface changes of multi-input-fields:
transformers get also their input-fields.
returned-via.scm:
Don't simply check for the input field name in the binding. Use
input-field-value to check for existance of the input field in the
bindings
input-fields.scm:
multi-input-fields get also their input-field as argument
web-server/root/surflets/byte-input.scm:
Adapt to interface change of multi-input-fields: transformers get also
their input-field
web-server/root/surflets/test.scm:
Check the image-button feature correctly.
+ Split input-fields into two structures:
+ surflets/my-input-fields allows you to create your own input-fields.
(complete with structure surflets/input-field-value)
+ surflets/surflet-input-fields are the proposals for input-fields
from SUrflets. They support annotated input-fields where
appropriate (select, radio, checkbox, hidden) and changing of attributes,
e.g. default values. See test.scm for examples.
The interface of the structure SURFLETS has only changed slightly
concerning the input fields
(make-higher-input-field --> make-multi-input-field should be the
main change)
+ Adapt examples to new input-field interface
+ Note new structures in documentation.
- Removing surflets.scm
+ The surflets package remains and collects the most usual used packages
It does not export any more the outdaters, the access to IDs
(like session-id), callbacks, form-query-list.
(and maybe some other stuff I've forgot to mention here, see list
below).
The new packages are (not included in surflets are marked (*)):
+ surflets/addresses: MAKE-ADDRESS, MAKE-ANNOTATED-ADDRESS
+ surflets/bindings: GET-BINDINGS, EXTRACT-BINDINGS and stuff
+ surflets/ids (*): MY-SESSION-ID, .., INSTANCE-SESSION-ID
+ surflets/input-fields: MAKE-INPUT-FIELD, MAKE-NUMBER-INPUT-FIELD...
+ surflets/outdaters(*): MAKE-OUTDATER, OUTDATER?...
+ surflets/returned-via: RETURNED-VIA, CASE-RETURNED-VIA
+ surflets/send-html: SEND-HTML/SUSPEND...
+ surflets/surflet-sxml: URL-RULE,..., SURLFET-SXML-RULES, ...
+ surflets/sxml: SXML->STRING, DEFAULT-RULE,...
+ surflets/typed-optionals(*): TYPED-OPTIONALS, OPTIONALS
+ surflets/utilities(*): MAKE-CALLBACK, FORM-QUERY-LIST,
GENERATE-UNIQUE-NAME...