Details
-
Type: New Feature
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Component/s: MOBI-Components
-
Labels:None
-
Environment:ICEfaces 4
-
Assignee Priority:P1
-
Affects:Documentation (User Guide, Ref. Guide, etc.), Sample App./Tutorial
Description
mobi:dataViewColumns defines a column in the table region of the DataView component.
mobi:dataViewColumns component defines the table region of the DataView component either by its DataViewColumn child components or by attaching an implementationof DataViewColumnsModel to the 'value' attribute of this component.
mobi:dataViewDetail - The child components of this component define the region to be displayed when a row object of DataView table region is activated. When DataView 'activationMode' is set to 'server' the child components of this region may be arbitrary JSF components. When 'activationMode' is set to 'client' the child components of this region are prerendered and have their dynamic attributes cached on the client to allow instantaneous activation. Client activation mode is restricted to particular components and only particular attributes of these components may be dynamic, the specifics are documented on our wiki.
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
Test Results
ICEfaces4 trunk revision# 40043
General:
1) The rowIndexVar attribute doesn't seem to do anything, I tried printing it out in a dataViewColumn and in the dataViewDetails region but it is always empty.
2) Trying to use the markup attribute just throws a NullPointerException. This is probably because getMarkup() in org.icefaces.mobi.component.dataview.DataViewColumn.java is just returning null and not the actual value from the page. Currently the attribute is unusable.
3) The reactivePriority attribute isn't always respected. A column of type boolean with low priority will remain visible while columns with higher priority are hidden.
4) There are JS errors when changing reactiveColumnVisibility, reactivePriority and activationMode attributes dynamically:
Error when changing reactiveColumnVisibility or activationMode dynamically:
[window] Error [status: malformedXML code: 200]: During update: form:dataView_js not found
Error when changing reactivePriority dynamically:
[window] Error [status: malformedXML code: 200]: Argument 1 of Node.replaceChild is not an object.
5) Setting activeRowIndex to null displays the first row in the detail region (same results as 0). It seems null should display nothing in the detail region because currently a row always appears active/selected if using this attribute.
Styling issues:
1) There is no styling (incl. header/footer) on the dataView unless using rowStripe and rowStroke attributes.
2) When using a column with the "bool" type no checkbox is rendered because the styling is missing.
3) The rows cannot be selected in the desktop view like they can be in showcase, think this might be something related to the styling? They can be selected on a mobile device.
Doc issues:
1) Rendered attribute not listed in the tlddoc for dataViewColumn component but attribute is functional and used in showcase demo.
2) tlddoc for dataViewColumn type attribute reads "..f:dateTimeConverter..", but it should be "..f:convertDateTime..".
Not tested:
1) I haven't created a test for the value attribute of dataViewColumns because there is no documentation when implementing DataViewColumnsModel. It's difficult to understand the implemented methods.
2) Uncertain best way to test the "client" activationMode.
ICEfaces4 trunk revision# 40400
Confirmed JS error in Firefox no longer occurs and that the rows can be selected.