Change history
Common Controls
The presentation framework itself – control elements, tag libraries and runtime behaviour.
- 11 releases
- 246 entries
- 2003–2008
The entries are taken from the release notes unchanged.
-
- New AJAX-Support for the List-, TreeList-, Tree-, TabSet- and Scheduler-Control
- New Scrollable-Body Support for the List-, TreeList-Control
- New MultiLevelSelect-Control
- New Image-OptionList (The <base:option>-Tag now supports an image map to show an image in front of the option)
- New checkboxgroup-Tag
- New multilevelselect-Tag
- New radiogroup-Tag
- New textlist-Tag
- New <forms:forEach>-Tag
- New <forms:colgroup>-Tag
- New <forms:col>-Tag
- Update SwapSelect-Control a) move-buttons and b) multiple selection boxes support
- Important The framework is now shipped with Struts 1.3.8.
- Important The shipped libraries contain a patch for the ecs (empty cell) and a beanutil (nested properties) problem
-
- New <ctrl:scheduler> Control. The SchedulerControl allows to edit and view appointments. It also can be used to manage recurring events.
- New The <base:image> tag can be used to add an image in front of the controls titel
- New The <base:innerframe> tag allows to add free html to the controls header or footer
- New VirtualTreeGroupDataModel for the TreeListControl to handle large record sets.
- New Struts Transaction Token support with new attribute "transaction" added.
- New <forms:frame> tag to create portlet like windows.
- New The base <option> and <options> tag now supports the "filter"-attribute.
- New The <options> tag now supports the local attribute
- New <forms:recurrencepattern>. The tag can be used to edit and view the pattern of reccuring apointments.
- New <ctrl:hidden>, <ctrl:plaintext>, <ctrl:recurrencepattern>
- Update ListControl. 2 new attributes "exportListButton" and "printListButton" to display to new Icons within the header. <ctrl:list exportListButton="true" printListButton="true">
- exportListButton will invoke the ctrlName_onExportList(CpntrolActionContext ctx) method
- printListButton will invoke the ctrlName_onPrintList(CpntrolActionContext ctx) method
- Update TreeControl: Synchronisation of checkboxes for the ClientSide Tree was missing and is now added
- Update SwapSelect. JavaScript setDisabled() function added to enable/disable the control on the client side
- Update Calendar: New "mode"-Attribute added. If set to "inline" the calendar will now be renderer inside the same window instead of a popup window (Inline-Calendar)
- Update The <ctrl:button> tag can now be used inside a form-element's tag body to display an image button behind a form-element. Example: <forms:text property="lastName"> <ctrl:button styleId="btnBack" name="btnBack" src="app/images/imgItems.gif" onclick="alert('Clicked'); return false;"/> </forms:text>
- Update (for 508 compliance) New Attribute "summary" for <ctrl:tabset>, <ctrl:treelist>, <ctrl:tabbar>, <ctrl:tree>, <ctrl:gauge>, <ctrl:list>, <forms:form>
- Fix FormElements: "value"-attribute was not used in all cases. Now if the value-Attribute is set this value will be displayed and the value from the property-attribute will be ignored. Example: <forms:text property="lastName" value="Schmitt"> or <forms:text property="lastName" value="${mybean.myvalue}">
- Fix Support for javascript handler on all list-columns added.
- Fix Serialization issues for InnerFrame fixed (This list will be updated in the next days)
- For all painter we now have seperated the logic to render the content and the window frame. So there is an edditinal method within the PainterFactory class. The method PainterFactory#doCreateFramePainter(PainterContext, Control) will be called to create a Framepainter for the specified control instance. (Details will be updated in the next days)
- TreeHelp. All methods which returned a java.lang.Hashtable now return java.util.Map
- copy the resources (fw-directory)
- copy the jar files
- copy the tlds
- rebuild the project;
- delete all temporary jsp files
- To reduce downloadsize the documentation is now available for seperate download (please use the link below)
- Please don't forget to download the online demo which include a lot of source code examples.
-
- Fix ListControl: Problem with editable columns
- Fix Selection state for option list.
- Fix TextArea: If the maxlength attribute was set, Firefox doesn't accept input any longer.
- Fix SwapSelect. Disabled state fixed. Support for Javascript OnChange Handler added.
- Fix JDK 1.3 compatibility
- Update New filter attribute for <base:option> and <base:options> tag. So additional spaces ( ) can be added.
- Change To generate a javascript variable for a control please use the styleId attribute. Example for the ListControl: <ctrl:list styleId="myList" ...> will generate lc_myList = new ListControl('myList', ....);
-
- Important The framework is now shipped with Struts 1.2. If you still need Struts 1.1 support, please send us a mail (support@common-controls.com) until the Struts 1.1 Adapter will be available for seperate download.
- New TextPopup form element (see online demo 801)
- New SwapSelect form element (see online demo 804)
- New Label Tag (see online demo 861) allows to associate a javascript handler, accessKey.
- New TreeControl
- The runat="client" attribute is now supported. If set to "true", the tree can be used without server roundtrips.
- New Form elements
- "tooltip" attribute added
- "help" attribute. The "fw.help.onclick" resource key can be used to specify a javascript handlerwhich will be called if the help icon is clicked. The "fw.help.target" can be used to specify the html target attribute. Example: fw.help.onclick=Help.show("{0}"); return false; fw.help.target= Details see TagLib Documentation
- New/Update: Now full EL Support for all attributes added. For servers with servlet specification < 2.4 (eg.: tomcat 4.x) you need the common controls EL wrapper which can downloaded from the update area. For servers with servlet specification >= 2.4 you can use native EL support (eg. tomcat 5.x)
- New Tags: <ctrl:checkbox>, <ctrl:file>, <ctrl:password>, <ctrl:radio>, <ctrl:spin>, <ctrl:swapselect>, <ctrl:text>, <ctrl:textarea>, <ctrl:textpopup> The new tags allow to use this elements within a htmlcolumn of a list or treelistcontrol. In this case the internal state of the fields is syncronized automatically.
- Update The checkbox- and radio column now also supports the "sortable" attribute
- Update ListControl.
- New javascript function for client side scripting to retrieve all checked items within a column.
- New javascript function to set focus to a (editable) cell: lc_name.focus(); lc_name.focus(rowIndex); lc_name.focus(rowIndex, cellIndex);
- New javascript function to retieve all rows, a single row, a cell: lc_name.getRows(); lc_name.getRow(rowIndex); lc_name.getCell(rowIndex, cellIndex);
- Update The <msg> tag now supports the filter attribute and allows html formatting.
- Update The <message> tag now supports the filter attribute and allows html formatting.
- Update Calendar:
- JS Script
- Calendar now selects the date form the input field if the calendar opens. If an invalid date was set within the input field the calendar will show the current date.
- Fix/Update: Forms:
- "value" attribute added. If the value attribute is specified, the property atribute is ignored. This allows to use JSTL to format a value if required.
- In some cases the required symbol was displayed in the next line.
- Fix GaugeControl
- If used within a List/TreeControl the height attribute was not working
- The emptyText Attribute was not localized
- new filter attribute added
- new align attribute added
- Fix Button
- The text-button now supports the filter attribute correct and allows html formatting.
- The default button will now call the callback method if the "return" key was pressed.
- Fix MenuControl
- Style Sheet. Within Firefox/Mozilla the border width was set to pt insted to px.
- Style Sheet for the disabled Menuitem second level fixed.
- The menu can now be created dynamically within the action class.
- Fix ClassId added for: MenuControl, Tabbar, TabSet, Message.
- Fix Textarea. If the maxlength attribut is specified no more input is accepted if the maximum number of characters is reached.
- Fix TabSet
- The tabset can now be created dynamically within the action class.
- --------------------------------- IMPORTEN NOTE:
- ---------------------------------
- Copy the tlds and resources to your current project; rebuild the project; delete all temporary jsp files
-
- New New class VirtualKeyListDataModel that holds only a small keyset in memory at one time
- New Design rules Features: - Allows to modify the design model (style, java script handlers, etc.) of a control or other element based on dynamic values at runtime
- You can register as many different design rules for one element as you want
- You can use the standard Expression Language (EL) to specify complex expressions
- A design rule can be easily registered with the <util:designrule> Tag
- New New Tag <ctrl:cancel> for non validating cancel button
- New New Tag <ctrl:reset> for reset button
- Update New attribute "maxlength" for the <base:options>-Tag
- Update New attribute "resource" for the Image- and Imagemapping Tag. It is now possible use image resources form the applications resource map in image maps
- Update New attribute "select" for Treelist Tag
- Update New attributes "noframe" and "noheader" for <ctrl:list> and <ctrl:treelist> Tags
- Update New attributes "cellSpacing" and "cellPadding" for <ctrl:list> and <ctrl:treelist>
- Update New attribute "maxLength" for <base:options>
- Update New attributes "buttonAlt" and "buttonTooltip" for <ctrl:calendar> and <form:calendar>
- Update New attributes "buttonAlt" and "buttonTooltip" for <ctrl:colorpicker> and <form:colorpicker>
- Update New attribute "editableProperty" for all <ctrl:columnXXXX> Tags
- Update New attribute "wrap" for tags <ctrl:columntextarea> and <form:textarea>
- Update New attributes "filter", "locale" and "tooltip" for <ctrl:panelcontent>
- Update New attributes "filter", "locale" for <ctrl:panelitem>
- Fix RequestDecorator Parameters are now properly URL encoded
- Fix Serialization of member classes
- New The framework resourcefiles are now packaged in the jar file. Currently support for: english, german, french
- Fix Disabled attribute was not working for some form elements like the calendar. Fixed now.
- Fix JavaScript for the Tabset updated. Fixes a problem with IE and the https protocol.
-
- New CrumbControl. Two new tags <menu:crumbs> and <menu:crumb> Features: - Allows to highlight a crumb
- An optional image can be assign to a crumb.
- Crumbs can be defined in the jsp or you can specify the property attribute to use a bean
- The images and styles can be customized. Tip: - Because a crumb can be highlight the control can also be used to generate a wizard.
- New ColorPicker Control. Features: - The Control can be used standalone (<ctrl:colorpicker>) or as a formelement (<form:colorpicker>).
- New DateTimePicker Control. Features: - The Control can be used standalone (<ctrl:calendar>) or as a formelement (<form:calendar>).
- Layout can be customized.
- New <ctrl:gauge/> Tag.
- New Forms
- Now support multiple columns. Therefore two new tags where added. a) <forms:row> b) <forms:group orientation="vertical|horizontal">
- Now an image can be displayed in front or instead of the label. Therefore an imagemap can be assigend to the <forms:form .. imagemap="myimagemap"> and the image can be referenced within the form element, like <forms:text .... imgref="myimage">
- All Formelements now supports the permisson attribute
- Textarea. New "maxlength" attribute. If set to "true" the remaining characters where displayed.
- The <ctrl:select> tag now supports the multiple: <ctrl:select ... multiple="true" size="4">
- Border of the form can now be removed: <forms:form ... noframe="true">
- New <forms:html> tag
- Update ListControl:
- New <ctrl:header> tag
- New <ctrl:columngroup> tag (see ListControl Example 105)
- Update Attribute "permission" for <ctrl:tab> Tag added
- Update Attribute "enableProperty" for <ctrl:tree> and <ctrl:treelist> Tag
- Update All methods in FWAction throw now java.lang.Exception
- Update VirtualListDataModel can be directed to keep all rows in memory
- Update Attribute "multiple" and "size" for <ctrl:select> and <forms:select> to support multiple selection
- Update Tree/TreeList now supports the oncontextmenu handler
- New Methods expanfToLevel(int) and expandAll() in TreeControl and TreeListControl to expand tree nodes up to a given level
- New The method reset() has benn added to the LineIterator interface
- Update The method ListControl.getLineIterator() has ben changed to ListControl.getLineIterator(boolean positioned)
- New methods clear() and clearRowset() for VirtualListDataModel
- New attribute "tooltip" for tag <base:image> and <util:imagemapping>
- New Tag <ctrl:columngroup> for grouping columns in List and Treelist controls
- New Attributes "command" and "text" for <ctrl:columnbutton>
- New Attribute "styleClass" for form elements (button,calendar,colorpalette checkbox,colorpicker,file,password,radio,select,spin,text,textarea)
- Update FWTilesRequestProcessor class added
- Update FWDispatchAction class added
- Update FWLookupDispatchAction class added
- Fix Icons in the tabset where displayed on the right instead the left side of the label
- Fix Clienthandlers for column types (select, text, textarea) added
- Fix Headline Control now supports property/name attributes
- Fix The <form:buttons/> tag now supports the "buttonStyle" and "width" attribute. So text buttons can now also be used within forms.
- Disable attribute in buttons now also display the coressponding image ...2.gif
- Fix URL-Rewriting support
-
- ---------------------------------
- New Support for Struts Expression Language (EL) Struts EL can now be used to access properties from the current row bean and pass the value to a javascript handler Example: onclick="return userlist1_onBeforeServerSend('${bean.userId}', '${bean.name}', '${bean.role.name}');" To access a bean property write ${bean.MyProperty} where "bean" is a fix expression to access the current row bean. The get an attribute from the session write ${session.MyProperty} The following two new jars must be added to the project: commons-el-1.0.jar, commons-el-ext-1.0.jar. See Example 101 in the online demo2 which can be downloaded seperatly.
- New TagExtraInfo classes for the following JSP Tags
- list - Tei-Class exposes the SimpleListControl instance
- treelist - Tei-Class exposes the TreelistControl instance
- panel - Tei-Class exposes the PanelControl instance
- tabbar - Tei-Class exposes the TabsetControl instance
- tabset - Tei-Class exposes the TabbarControl instance
- panelcontent - Tei-Class exposes the PanelContentDesignModel instance
- tab - Tei-Class exposes the TabDesignModel instance
- form - Tei-Class exposes the FormControl instance
- New List/TreeListControl - You can now highlight rows within in the Control. For this the List- and TreeList supports a new method: SimpleListControl#mark(String key)
- New TextButtons now supports an additional image in front of the text. TextButtons at the moment do not support a hover effect.
- New Browser Support
- Safari > 1.251 for Apple Macintosh
- Netscape > 7.1 for Linux
- ---------------------------------
- Change The method PainterFactory#getResourceDir()has been moved to ResourceMap#getResourceDir() to allow the overloading of the Resource directory.
- Change com.cc.framework.util.List to consistently use LineIterator. So it can savely iterate virtual lists.
- Change The class com.cc.framework.common.Algorithm#execute now can throw an Exception.
- Change StyleSheet classes for the List- and TreelistControl are changed in that way that both controls can now take different styles.
- Change Decoupling of Struts dependencies in preparation to support other frameworks
- ---------------------------------
- Fix <ColumnCheckbox/> tag - The JavaScriptHandler which manages the single select is added. The check items can be retrieved by ListHelp#getCheckedItems(ListDataModel datamodel, String property)
- Fix The textarea now supports the "readonly" attribute
- Fix Forms - Forms now supports the type "diplay" correctly. If type is set to display no user inputs where accepted any longer and all formelements where rendered as simple text.
- Fix StyleSheet - HandCursor was not shown in some cases on IE and NS
- Fix TabSet - Images in front of a label where not displayed on NetScape
- Fix Usage of type Object in OptionsComparator
- --------------------------------- IMPORTEN NOTE:
- ---------------------------------
- Copy the tlds and resources to your current project; rebuild the project; delete all temporary jsp files
-
- New Attribute "text" for <form:button/> and <ctrl:button/> tag to support text buttons with background images. The "base" and "src" attribute must be omitted to use the text button.
- New Tag <ctrl:columntextarea> for editable textareas
- New Tag <ctrl:columncheckbox> for editable checkboxes
- New Tag <ctrl:columnselect> for editable dropdown listboxes
- New Tag <template:include> for localised JSP includes
- Body Tag support for the <ctrl:columnhtml> Tag. It is now possible to include any JSP code in the body of the tag. The Jsp code can access the current row bean under the name given in the id-attribute of the column (the id defaults to "row"). The row key can be accessed by the name <<id>>_key
- Additional attributes for <ctrl:columndrilldown> imageProperty imagemap
- Additional attributes for <ctrl:columnimage> sortable
- Additional attributes for <ctrl:columntext> imageProperty imagemap
- Additional attributes for <ctrl:list> and <ctrl:treelist> pageButtons
- Additional attributes for <base:image> name property imagemap
- ListControl:
- fix for column header alignment
- cell padding in stylesheet changed to avoid alignment problems
- Handling of virtual lists (ListDataModel with size=-1)
- The sort icon was moved from left to right
- The content within a column can now be limited using the "maxlength" attribute
- ImageMap: The alt-attribute is now localized
- New client Script Handlers for Tags <ctrl:tree>, <ctrl:columntree> and <ctrl:columncheck>
- onexpand
- onexpandex
- oncollapse
- oncheck
- onuncheck
- New Attributes for <forms:info> Tag
- locale
- base
- The framework will now URL encoded all parameters
- New ListDataModel implementation for Large Lists com.cc.framework.ui.model.imp.KeyListDataModel
- New ListDataModel implementation for lists that can not be hold in memory com.cc.framework.ui.model.imp.VirtualListDataModel
- The Labels in TabSets can now take html code
- The Labels in the Tree can now take html code
- Bug with the InfoTag fixed
- The Comments (<!-- Begin XXXPainter --> / <!-- End XXXPainter -->) are now only generated if the log level is set to debug. Otherwise the comments will be suppressed.
- The row selector column tag <ctrl:columnselect> was renamed to <ctrl:columnselector>
- CheckColumnDesignModel was renamed to ColumnCheckDesignModel
-
- If the application was not localized, the framework keyes where displayed in some cases.
-
- Localization for the Labels on the Tabs of a TabSet added
- Implementation of the PanelPainter
- <forms:description> Tag. The Body Content is not localized any more. The label is now alligned top.
- New PDF documents added (Customizing the DefaultPainter, Security)
- The Drilldowncolumn now supports the "filter" attribute.
- Support for more than one Message Resource file added now multiple Application.properties files can be used. (descriped in the document "Language Support").
- FormElement=true in List and Tree fixed
- The Headline Control now supports the width-Attribute.
- Localization of the header (1 of 19 from 200) for the ListControl and TreeListControl. Therefore a set of new keys can be added to the application property file! If no keys were found in the properties file a default messages is used.
- default callback handler added. The base class implementation now uses the following sequence to search for a matching method: 1) search a method with name <control>_on<action> 2) search a method with name on<action>
-
- The localization of an ImageMap is now supported (base-attribute added)
- Documentation fixes
- The <options> Tag now supports Enumeration, Iterator and Collection
- A additional new <button> Tag allows the use of localized buttons not only within formelements
- Improved HTML code for Tree outline
- ListControl: The header for a sortable column was not localized
- This release also includes the new "Def2Painter"