- defines a syntax to describe how the widget is build out of existing widgets
--> reimplemented contact-widget using that aproach on serverside for old etemplate
--> sending the modifications via etemplate_widget::setElementAttribute() to the client fails, because client does not support changing the widget type
--> need to be implemented on the client
- $content[nm][select_all] is now only reference to $content[nm][checkboxes][select_all]
- checkboxes need no default onExecute, therefore removed nm_select_all method
- improved documentation for action stuff in nextmatch widget
- added egwAction.getActionsByAttr(_attr, _val) method returning all actions with a given attribute and value
- legacy actions column and multiple action row below table is switched off by default, but can be switched on again
- legacy action button is NOT yet working
- "whole query" checkbox need to go into context menu too
To achive this, some changes to the CSS were made and the ability to return thumbnails with a given size was added to etemplate/thumbnail.php. Miniature images with dimensions smaller than one pixel are now no longer created.
In this progress I discovered a minor security issue which might cause multiple egroupware instances to mix up their thumbnails in rare occasions. This was fixed by now hashing the image path together with the webserver url and the thumbnail size. In this progress, the thumbnail generation code has been restructured, making it faster and much easier to understand.
- sqlfs can store now symlinks (implements symlink and readlink)
- vfs resolves symlinks before calling a mounted stream-wrapper
--> symlinks can be between different mount-points
- filemanger can create symlinks and follows them
- etemplate vfs_widget displays symlinks (to be improved)
Happy testing :-)
+ path with clickable components
+ human readable size, mode, ...
+ mime icon with integrated thumbnail creation
- link widget uses now vfs-mime for it's icons
- thumbnail creation is now switched on with size 32px by default, it can
be switched of by the admin or user, in doing so explicitly
- mime-icons are moved from filemanager to etemplate, as not everyone
installs filemanager
- filemanager has now 3 display modi:
+ Current directory (with subdirs always on top)
+ Subdirs sorted in
+ Files from subdirs (shows recursive all files and you
can click on the path components thanks to new vfs widget)
The select_widget allways used the cats of the current application. That's still the default, but it can be overwritten now via an option. The nextmatch_widget has now and optional parameter 'cat_app', which defaults to the app of the get_rows method.
- improved printing:
+ disabled unnecessary UI-elements in nextmatch
+ nextmatch has now selection for the number of rows to display
+ nextmatch-filters (selectboxes) are now printed as text
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.
- 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
relative means it contains no '.' and it will then be prefixed with the name of tpl it is used in (plus a '.')
eg. tpl-name 'etemplate.tab_widget.test' tab-names 'work|privat|note' will expand to 'etemplate.tab_widget.test.work', ...