2) several imporvments for the link-widget
- it uses now popups, if the link-registry says so for a given app
- new widget to add an already linked entry of an other app (used in PM so far)
- new widget to display a single link to view a linked entry
- tab-widgets can be edited (new editor lost template content and onclick_handler, if looping)
- select widgets accept again options via $sel_options[$name] $name is the name of the widget and not the form_name
- grid-options get loaded again via the old editor
- new editor has now everything the old one had, beside editing of embeded stylesheets
- new possibility to define a confirmation for buttons via javascript
- finetuned the garbadge collection for php4 sessions
- widget editor works quite nice
- beware it can create Templates the old editor cant understand and destroy if you save or export them from the old editor!
=> need to move the other functionality (import, export, dump, ..) of the old editor to the new one, so the old editor can retire ;-)
- based on existing show function the template can be edited in place
- dblclicked widgets will be edited in a popup
- new editor supports not only one grid, but a hirachical tree of widgets
still missing:
- editing and operations of grid rows and columns
- type-specific templates for the popup, to make the options more intuitiv
In the meantime the old editor is still functional
2) Step #1 of removing eTemplate's limitation on allowing only a grid as root element of the widget tree (which can NOT directly contain further grids, thought references to other templates/grids are ok). The storage layer allows now a real tree. Redering and editing only works on the old data variable, which is now a reference to the first grid in the tree.
More to come ...
- needed (= not to be empty) fields are enforced now
- min and max values and format of int and float fields
- validator for text-fields (perl regular expression)
The input-validation is handled completly withing eTemplate, the application dont need to implement any code, just set the right attributes in the template. Validation-errors are displayed in red behind the concerning field, try the template 'etemplate.validation-test' in the editor.
- 2 header-templates left and right from the range-display
- optional nextmatch-line with arrows, search, cats, ... after the rows
link_widget:
- new sub-type link-string
Updateted the documenations and lang-files.
- load_via works now in boetemplate::read
- included templates are relative to the includeing tpl, if they contain no '.'
- xul_io is alway writing the comple/absolute name
- HBox gets width=100% if alignment other then left set (new!)
- added links as 2. option to label
- added header function to uietemplate
- added vbox and hbox support: container to put widgets in one row or column
- complete rows and column can now be disabled (even with a simple comparison with a variable in content, eg. disabled if the var is empty)
- labels and helptexts from tpls with 'test' in there name, get no longer written to the lang-file
- update the documentation
- editor warns now if newer version of template exists
- import xml is not longer Show-template page (etemplate.editor.buttons splitted in 2 templates one for show and one for edit)
The widget got automaticaly loaded from the app's inc dir (or etemplate's inc dir).
Two examples ilustrate how to use the interface:
- date: class.date_widget.inc.php reads dates via sbox.getDate
- datefield: class.datefield_widget.inc.php reads dates via 3 textfields
db_tools: import of existing db-tables via schema proc (needs some modification in the schema proc-class to allow calls from regular app !!!)
lots of other changes and improvments