
RCS file: /home/nwiger/perlmod/lib/CGI/RCS/FormBuilder.pm,v
Working file: /home/nwiger/perlmod/lib/CGI/FormBuilder.pm
head: 1.65
branch:
locks: strict
access list:
symbolic names:
keyword substitution: kv
total revisions: 65;	selected revisions: 65
description:
CGI::FormBuilder for building form-based applications
----------------------------
revision 1.65
date: 2001/09/19 18:26:08;  author: nwiger;  state: Exp;  lines: +57 -33
updated docs, fixed the sticky option so it actually works
----------------------------
revision 1.64
date: 2001/09/19 00:10:40;  author: nwiger;  state: Exp;  lines: +61 -21
fixed several JavaScript bugs with respect to checkboxes and radios
added more docs, improved look of JavaScript code that was generated,
now properly handle multiple select lists in client side JavaScript
----------------------------
revision 1.63
date: 2001/09/18 22:46:18;  author: nwiger;  state: Exp;  lines: +14 -8
fixed a bug (behavior?) with a values => HASH call to render()
overwriting field values that had been manually set via field()
----------------------------
revision 1.62
date: 2001/09/14 20:52:34;  author: nwiger;  state: Exp;  lines: +12 -7
changed semantics of hidden fields in a non-static mode, and also
added code to properly handle onChange attr to <select> elements
----------------------------
revision 1.61
date: 2001/09/14 17:56:34;  author: nwiger;  state: Exp;  lines: +53 -14
added nameopts option and renamed sort option to sortopts
----------------------------
revision 1.60
date: 2001/09/14 16:58:09;  author: nwiger;  state: Exp;  lines: +5 -3
revamped _opt to handle all types of data docs claim it does :-)
----------------------------
revision 1.59
date: 2001/09/13 22:57:31;  author: nwiger;  state: Exp;  lines: +169 -51
before I lose track, moved $CGI init to ->new, added separate _opt and _sort,
and arrayref and hashref support to options arg in field
----------------------------
revision 1.58
date: 2001/09/10 21:41:03;  author: nwiger;  state: Exp;  lines: +4 -4
added proper handling for boolean values
----------------------------
revision 1.57
date: 2001/09/10 21:33:57;  author: nwiger;  state: Exp;  lines: +24 -26
collapsed smart options to single "smartness" one
----------------------------
revision 1.56
date: 2001/09/10 21:15:18;  author: nwiger;  state: Exp;  lines: +6 -6
changed field detection to only w/ realsmart on
----------------------------
revision 1.55
date: 2001/09/07 21:38:25;  author: nwiger;  state: Exp;  lines: +46 -16
added lalign, fixed OURATTR, added jsfunc, fixed labels, other stuff
----------------------------
revision 1.54
date: 2001/09/04 22:42:40;  author: nwiger;  state: Exp;  lines: +85 -22
no bugs in field(), it all works fine
----------------------------
revision 1.53
date: 2001/09/01 02:07:35;  author: nwiger;  state: Exp;  lines: +6 -5
fixed up checkbox/radio default values
----------------------------
revision 1.52
date: 2001/09/01 01:51:32;  author: nwiger;  state: Exp;  lines: +6 -10
added more functionality to opt handling methods
----------------------------
revision 1.51
date: 2001/09/01 01:48:02;  author: nwiger;  state: Exp;  lines: +4 -4
bug in arrayref handling of opts
----------------------------
revision 1.50
date: 2001/09/01 00:27:01;  author: nwiger;  state: Exp;  lines: +54 -7
added jshead stuff. still work to do for cleanup and docs.
----------------------------
revision 1.49
date: 2001/08/31 21:12:09;  author: nwiger;  state: Exp;  lines: +11 -7
fixed required => , added 'ALL' (no docs)
----------------------------
revision 1.48
date: 2001/08/31 20:39:14;  author: nwiger;  state: Exp;  lines: +6 -4
added ARRAYREF handling of key=name
----------------------------
revision 1.47
date: 2001/08/30 17:26:34;  author: nwiger;  state: Exp;  lines: +57 -24
the top-level attr tag is still undocumented
----------------------------
revision 1.46
date: 2001/08/24 20:33:56;  author: nwiger;  state: Exp;  lines: +100 -29
mailconfirm, mailresults
----------------------------
revision 1.45
date: 2001/08/24 00:27:36;  author: nwiger;  state: Exp;  lines: +249 -42
egads! it's growing like a monster!!!
----------------------------
revision 1.44
date: 2001/08/23 20:49:44;  author: nwiger;  state: Exp;  lines: +19 -12
added more docs
----------------------------
revision 1.43
date: 2001/08/23 20:38:46;  author: nwiger;  state: Exp;  lines: +159 -68
added docs on realsmart option
----------------------------
revision 1.42
date: 2001/08/23 00:22:21;  author: nwiger;  state: Exp;  lines: +3 -3
oops with DATE preset regex
----------------------------
revision 1.41
date: 2001/08/23 00:17:21;  author: nwiger;  state: Exp;  lines: +6 -2
# fatal error if they try to validate nonexistent field
----------------------------
revision 1.40
date: 2001/08/21 22:04:05;  author: nwiger;  state: Exp;  lines: +25 -8
added tmpl_param and renamed param to cgi_param
----------------------------
revision 1.39
date: 2001/08/20 23:41:08;  author: nwiger;  state: Exp;  lines: +60 -42
this works pretty well, but has a few problems. for one thing,
I'm not sure what to do about the _sessionid or _submitted
fields. Part of me says to leave them out and let the user
insert them if they want. _sessionid is automatically
handled anyways by keepextras, but not really - you want
it there even if you have keepextras off. So, we reallyt
want to track this stuff automatically. This means I just
have to decide what the submitted() function is going to
return... maybe the number of times only in an array ctxt?
----------------------------
revision 1.38
date: 2001/08/20 23:16:32;  author: nwiger;  state: Exp;  lines: +29 -12
next version will have totally different arg handling in
the render() function - as it should have!!!
----------------------------
revision 1.37
date: 2001/08/20 22:58:49;  author: nwiger;  state: Exp;  lines: +139 -20
added param()
----------------------------
revision 1.36
date: 2001/08/20 21:43:14;  author: nwiger;  state: Exp;  lines: +21 -13
works, not 100% happy with internals or docs yet
----------------------------
revision 1.35
date: 2001/08/20 21:28:44;  author: nwiger;  state: Exp;  lines: +12 -8
ok, this time it *really* works with stickiness
----------------------------
revision 1.34
date: 2001/08/17 23:07:03;  author: nwiger;  state: Exp;  lines: +3 -3
finally works. internals are getting ugly.
----------------------------
revision 1.33
date: 2001/08/17 22:49:55;  author: nwiger;  state: Exp;  lines: +11 -4
never code on Fridays
----------------------------
revision 1.32
date: 2001/08/17 22:35:23;  author: nwiger;  state: Exp;  lines: +3 -12
sticky still broke if say field(value => $val) explicitly!
----------------------------
revision 1.31
date: 2001/08/17 22:33:45;  author: nwiger;  state: Exp;  lines: +4 -4
more crap to handle stickiness
----------------------------
revision 1.30
date: 2001/08/17 22:31:54;  author: nwiger;  state: Exp;  lines: +14 -7
attempted fixes for CGI values => sticky
----------------------------
revision 1.29
date: 2001/08/16 17:51:25;  author: nwiger;  state: Exp;  lines: +17 -6
hopefully fixed the multi-render problem
----------------------------
revision 1.28
date: 2001/08/15 22:39:01;  author: nwiger;  state: Exp;  lines: +4 -2
added template option to render()
----------------------------
revision 1.27
date: 2001/08/15 22:31:55;  author: nwiger;  state: Exp;  lines: +46 -23
updated things to use "field-email" instead of "email" and
also fixed problems with hidden fields not maintaining
multiple values in static forms correctly.
----------------------------
revision 1.26
date: 2001/08/15 18:41:20;  author: nwiger;  state: Exp;  lines: +64 -12
passing it on for double-checking
----------------------------
revision 1.25
date: 2001/08/15 18:16:33;  author: nwiger;  state: Exp;  lines: +159 -50
updated docs galore. going to send to klubic/william for proof
----------------------------
revision 1.24
date: 2001/08/15 04:34:52;  author: nwiger;  state: Exp;  lines: +48 -2
more docs, lots and lots and lots to go
----------------------------
revision 1.23
date: 2001/08/15 04:23:40;  author: nwiger;  state: Exp;  lines: +22 -19
I *really* think now that output() should be render(), since
it doesn't imply the printing that "output" does...
----------------------------
revision 1.22
date: 2001/08/15 04:07:59;  author: nwiger;  state: Exp;  lines: +48 -29
doc fixes, still lots to go
----------------------------
revision 1.21
date: 2001/08/15 03:31:51;  author: nwiger;  state: Exp;  lines: +15 -16
misc documentation
----------------------------
revision 1.20
date: 2001/08/15 03:23:35;  author: nwiger;  state: Exp;  lines: +355 -22
Lots and lots of docs
----------------------------
revision 1.19
date: 2001/08/15 01:09:00;  author: nwiger;  state: Exp;  lines: +168 -3
lots o' docs
----------------------------
revision 1.18
date: 2001/08/14 23:36:04;  author: nwiger;  state: Exp;  lines: +101 -30
added documentation
----------------------------
revision 1.17
date: 2001/08/09 00:30:53;  author: nwiger;  state: Exp;  lines: +8 -5
fixed misc bugs
----------------------------
revision 1.16
date: 2001/08/09 00:29:46;  author: nwiger;  state: Exp;  lines: +29 -8
this is really getting pretty cool, now it supports the
magical ->submitted and will also support ->sessionid in 2 secs
----------------------------
revision 1.15
date: 2001/08/08 23:41:35;  author: nwiger;  state: Exp;  lines: +175 -96
interim checkin
----------------------------
revision 1.14
date: 2001/08/08 21:37:20;  author: nwiger;  state: Exp;  lines: +87 -68
all the form building and stickiness is done. now it's onto
validation, testing for submittedness, and handling multiple
submit tags. hmmm.
----------------------------
revision 1.13
date: 2001/08/08 21:11:49;  author: nwiger;  state: Exp;  lines: +21 -42
now use @OURATTR for attr cleaning.
----------------------------
revision 1.12
date: 2001/08/08 20:59:07;  author: nwiger;  state: Exp;  lines: +115 -52
this version was gearing up to use %HTMLATTR, but it's just way
better to take out our custom tags so that we don't have to update
the module for every new version of HTML
----------------------------
revision 1.11
date: 2001/08/08 00:03:48;  author: nwiger;  state: Exp;  lines: +121 -26
This thing is getting monolithic, but now generates JavaScript too!
----------------------------
revision 1.10
date: 2001/08/07 20:24:54;  author: nwiger;  state: Exp;  lines: +31 -3
validate => javascript support sort of, not really
----------------------------
revision 1.9
date: 2001/08/07 18:31:21;  author: nwiger;  state: Exp;  lines: +24 -20
have to split up %attr and non-whatever, since it's polluting our tags...
----------------------------
revision 1.8
date: 2001/08/07 18:12:05;  author: nwiger;  state: Exp;  lines: +16 -6
now successfully handle multiple selected fields. woo-hoo!
----------------------------
revision 1.7
date: 2001/08/07 01:02:41;  author: nwiger;  state: Exp;  lines: +43 -23
excellent, just no support for multiple values. hmmm. tomorrow....
----------------------------
revision 1.6
date: 2001/08/07 00:10:27;  author: nwiger;  state: Exp;  lines: +20 -8
working well, the only thing that this doesn't handle yet is the
ability to have multiple options AND multiple values (like
with multiple select lists and checkboxes). Hmm.
----------------------------
revision 1.5
date: 2001/08/06 23:52:32;  author: nwiger;  state: Exp;  lines: +199 -54
this is getting pretty damn cool
----------------------------
revision 1.4
date: 2001/08/03 21:16:58;  author: nwiger;  state: Exp;  lines: +68 -12
Form building is getting pretty damn cool, just need to abstract
it a little more to make it even easier...
----------------------------
revision 1.3
date: 2001/08/03 19:13:28;  author: nwiger;  state: Exp;  lines: +29 -11
The very simplest cases are handled. Still no processing, and no
customization of field attrs (like checkbox, size, etc).
----------------------------
revision 1.2
date: 2001/08/03 18:48:07;  author: nwiger;  state: Exp;  lines: +51 -13
the form generation is simple and fairly flexible. now we
have to figure out where the form processing fits in...
----------------------------
revision 1.1
date: 2001/08/03 00:27:50;  author: nwiger;  state: Exp;
Initial revision
=============================================================================
