This project covers the creation of a GWT 2.1 component.
The component will form the basis of an online diary editor. ? The editor will show a list of dated text entries. ? These entries (and their dates) may be edited in place. The overall view is similar to the CellList example in the GWT Showcase
The component will meet the following requirements:
1. The component will show a vertical list of diary entries.
2. A diary entry will consist of a date and a text phrase.?
3. When loaded the entries will be shown in read-only form. The date will be formatted in bold, followed by the text-phrase.
4. The user can navigate up and down the list of entries using the cursor and/or page buttons - with the current entry shown by a highlight (similar to the GWT Showcase CellList example at <[url removed, login to view]!CwCellList>? ).?
5. The user can also navigate using the scroll bar. ?
6. Double-clicking on an entry will edit it, as will pressing 'enter' on the currently highlighted entry.
7. Editing an entry will exchange the 'read-only' version of that entry for an editor form. ? The editor form will consist of a time-date text field, a text-area, and ok/cancel buttons. ? The date-time and text-area fields will contains. ? Pressing OK/Cancel will switch the editor back to the 'read-only' view of that diary entry.
8. When the user presses OK, the date/time values are updated to those from the editor form, they aren't for a Cancel operation.
9. The component does not have to be based on a GWTCellList
10. The component UI should be expressed using GWT controls. ? Note the GWT CellList builds it's child elements from raw html - this is not acceptable
The component should meet the following UI requirements:
1. Diary entries are edited in-place, not in an adjacent editor like the GWT CellList example
2. Highlighting of list items will appear like that in the GWT CellList example
3. The component will expand to fill the vertical and horizontal space available
A test framework will provide the following features:
1. On load, the component will show a list of? ? 30 random entries (10 to 100 words produced using a Java algorithm similar to that at: <[url removed, login to view]> )
2. Provide buttons above the control to add 50, 100, 500 new random entries.
The following management requirements cover the project:
1. An Assembla project has been created to host development of this component. ? The developer is welcome to use Assembla SVN to host the sources (at [[url removed, login to view]]? )
2. The deliverable should be in the form of an Eclipse project containing the GWT component and test framework.
1) All deliverables will be considered "work made for hire" under U.S. Copyright law. Employer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the employer on the site per the worker's Worker Legal Agreement).
2) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
3) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Employer's environment--Deliverables must be installed by the Worker in ready-to-run condition in the Employer's environment.
b) For all others including desktop software or software the employer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this project.