formbar / CHANGES.txt


- Added Testcases for i18n.
- Added Testcases Custom renderers.
- Allow to redefine some attribute of the source fields in the fields
  references. So the source fields are the default and can be modified by the

- Fixed rule evaluation. Allow " and ' in rules.
- #5. Added basic filtering on selections. Currently only works on SQLAlchemy relations.

- Workaroud for
- Added "rows" attribute for textarea. (Renderer attribute)
- Add option to provide a external service to evaluate rules.
- If external service for rule evaluation is defined use this service for
  client side evaluation.
- Add support for nested fieldset elements up to three levels.
- Replaced bootstrap-datepicker. Now using:
- Add HTML-Renderer. Can be used to include custom HTML in the form.

- Add "History" feature. You can now optionally provide a dictionary with old
  values and the form will renderer the differences to these values in a nice
  visual way in read only mode. This is very similar to the change history
  known from other office products.
- Fixed bug in evaluating expressions in JS when rendering read only mode. Add
  value attribute for readonly dropdown fields holding the unexpanded value.

- Fixed bug in deserialisation. Do not ignore readonly fields on

- Added support for warning rules.
- Refactored serialisation, deserialisation, validation and rendering of the
  form. Splitted up the code to make it more readable.

- Fix error on saving manytomany or onetomany relations. If there was only on
  item linked. The saving fails and other items are linked.
- Fix providing external values while rendering the form through the render
  function. Changed values merge mechanism.

- Fix serialisation on GET requests.
- Implement serialisation of datetimes.

- Added support for conditionals.
	- Conditionals are evaluated based on JavaScript on the client side
	- Conditionals are evaluated with Formed-Rules on Server side
	- Rules for fields which are with in a disabled conditional are now
	  exluded from validation.
- Rules are now checked after the basic type conversation is done. Pre rules
  will still validate on the raw submitted (unconverted) data.
- Changed default mode of rules from "pre" to "post"
- Clean submitted data. The submitted data will be cleaned on validation.
  Values for fields which are not actually configured in the form are erased
  from the submitted data.
- Show number of errors in the form outline for every page.
- Rendering of buttons can now be disabled on rendering the form using
  (buttons=false) as paramenter.
- Fixed preloading values on form rendering.
- Refactored code for evaluating expressions.

- Added Renderer for hidden fields.

- Make formbar compatible with Bootstrap 3

- Added datetime conversion. Converts submitted strings in with format
  "2013-10-10 22:42:31" into a datetime.
- Change Layout of the buttonpane. Removed margin and padding. No background.

- Added "time" fields. Will take the time in the form "HH:MM:SS" and converts
  it into the total amount of seconds.
- Fixed error in rule evaluation with non ascii values. The values are now
  converted to ascii (non ascii values are replace with '?') before
- Improved "tabbing" in forms. Markers for required fields aren't links
  anymore which are tabable.
- Added support for CSRF protection. The form can now be initialised with a
  token for CSRF protection which is rendered as hidden field in the forms.


- Added support for File Fields.


- Added support for table rendering as additional layout element. Follows
  basically the html syntax (table, tr, th, td).
- Added support InfoFields. Infofields are not part of the datamodel. The are
  used to display dynamic calculated values.
- Added helper script "" to generate various information about the
  form configuration. E.g generate the SQLAlchemy model.
- Added optional request param for form initialisation. The current request
  from a wenframeform can no be provided to the form. This might be usefull
  while rendering with external renderers.


- Removed FormAlchemy dependency. This includes some internal refactoring as
  the rendering and converting of values (especially relations) must now be
  done by formbar.


- Fixed readonly view for textarea. Replace \n with <br>
- Added "in" rule operand. ($field in ['1','2','3'])


- Added a configurable JS-Callback function which is called when the user
  changes the currently selected page. The function will sent some information
  (selected page, item, itemid) to a configurable URL. The server behind the
  URL can save these values in a session and reuse it to preselect the page on
  the next form rendering.

- Splitted up rendering of forms. The Fieldrenderer now renders label, field,
  help and errors seperately for each field.
- Enabled customs Renderers. Among the default FA Renderes wen can now
  configure our own renderers more easly. The goal is to  get rid of the FA
  Alchemy dependencie.


- Added a new DatefieldRenderer which uses a bootstrap specific datepicker
  widget. Needs JS. Currently this widget is used if the datetype "date" is
- Added helper method to get the needed JS code for formbar. Needed in other
- Renderer is not set depending on the datatype anymore. Default renderer is
  a TextfieldRenderer or the Renderer set by Formencode.
- Renderer is only set by the renderer attribute for an entity
- Fix in Use hgtools to build package.
- Added support for pages in forms.


- Added support for i18n. A translation function like gettext can now be
  injected on initialisation of a form.


- Changed initialisation of field.
- Implemented dropdonw field
- Layout Change. Field height is now 30px to match the Ringo form layout.


- First working version.