Since 4.2 EE
The ace:scheduleExporter component is a utility to export event data from an ace:schedule component as an Excel, PDF, XML or CSV document. This component renders an HTML button. More components and HTML elements can be nested inside this tag to give a different look to the button..
See the ICEfaces Showcase Live Demo of this component, complete with source code.
In most cases, it's enough to add the tag on the page without any configuration.
<html ... xmlns:ace="http://www.icefaces.org/icefaces/components">
<h:body>
<h:form>
<ace:schedule id="mySchedule" ... />
<ace:scheduleExporter
label="Export File"
type="csv"
target="mySchedule"
fileName="events"/>
</h:form>
</h:body>
</html>
TagLib Documentation
This section covers attributes involved in the typical use-cases for this component.
target: Define the id of the ace:schedule component whose data will be exported.
type: Define the format of file export. Available formats: "xls", "xlsx", "pdf", "csv", and "xml".
fileName: Define the filename of the generated file, defaults to the target id.
label: Define the text that will appear on the button to trigger the export. Default value is 'Export'. This attribute applies only if the component has no children.
fieldsToExport: Specifies the event fields to include when exporting as well as the order of those fields. The fields that can be specified are 'title', 'startdate', 'enddate', 'location', 'notes', 'id' and 'styleclass'. The field names are case insensitive and must be separated by commas. Spaces are ignored.
sortBy: Specifies the name of the field by which to sort events when exporting. The fields that can be specified are 'title', 'startdate', 'enddate', 'location', 'notes', 'id' and 'styleclass'. The field names are case insensitive.
| action | Triggers when the button is clicked or pressed by any other means. By default, both this ace:scheduleExporter component and the target ace:schedule component are executed in this ajax request. |
The "widgetVar" attribute on the ACE components has been removed in ICEfaces 4 and in its place a new "ice.ace.instance()" client JavaScript object lookup API has been introduced. The reason for this change is to enable lazy-initialization of the ACE component JavaScript objects to improve runtime performance and reduce browser memory use.
var widget = ice.ace.instance('frm:componentId);
The ice.ace.instance function requires the full client id of the component to be specified, such as "j_idt77:componentId" instead of just "componentId". To reduce the complexity of working with complete IDs with this function it may be preferable in some cases to use
prependId="false"in the enclosing form (e.g. <h:form prependId="false">).
This component doesn't have a client-side API made specifically to be used by application developers. However, the component's internal methods and variables can be accessed in this way, including the underlying jQuery object and objects from underlying Javascript libraries (if applicable), and can be used for whatever purpose a developer might have in mind.
Not supported at the moment.
None at the moment.