This document will describe the migration of calendar component.
information from 3.3.x:
Related requests and jiras:
High Level Overview of the features for first release
At first need to mention that we planning to move without changes almost all the functionality. All the RFC's(features not present in 3.3) listed in jira most likelly will be postponed. And one point - macrosubstitutions will be excluded. From all other points of view - we will have the same impl.
That section briefly lists all the features which should present in base impl:
- Popup/inline modes
- Month markup should be still based on client templates
- All 3.3.3 attributes-based presentation customization
- All the converters supported in 3.3.3
- ajax/client month's switching mode (See note)
- Minimal model support in ajax mode. Including two properties for every CalendarDataModelItemImpl. Minimal support - because the macrosubstitution customization excluded from first version for all the components which used it in 3.3.
- Client-side customization using custom script functions.
Note: Ajax mode/Minimal Model impl's - not estimated during Server Side functionality estimations. So it will be implemented last if will fit the timing.
- Client markup still based on client templates. But server side code related to support of macrosubstitutions should not be migrated. We will discuss that customization additionally after Final and add for all related components(tooltip, FileUpload, progressBar, DnDIndicator).
- dataModel not supported
- ajax mode postponed
- disabled not working (could be fixed but depends on timing)
- event handlers - to be revised in M5. currently not working.
M5 Tasks planning
https://jira.jboss.org/browse/RF-9675 - umbrella task for M5.
High level tasks for M5
- disabled state correction. (implemented but not works properly).
- attribute name should be disabled
- disabled representation to be added
- for popup input and disabled button with special icon
- for inline - the same calendar as for enabled but without controls and selection possibility.
- Positioning customization.
- offcets, jointpoint, direction to be reviewed and corrected/implemented.
- simple dataModel support
- getStyleClass and isDisabled should be implemented at model for dateItem
- preload dates support in client mode
- all the other methods from 3.3.x should be present on interface but just documented as not supported.
- Ajax month scrolling
- Review and implementation of client side events
- in 3.3.x we had bunch of events which were added because of late features addition. Should be revised if all of them still needed and event rising should be corrected in some cases(e.g. ondateselected fired before actual selection in case time in pattern)
- Behaviors support
- Localization of labels
- bundles - as for 3.3.x
To be added if fit the time
- Locale and pattern definition at application level - https://jira.jboss.org/browse/RF-2023 - NOT implemented
- Boundary dates minor improvements - https://jira.jboss.org/browse/RF-8622 - NOT implemented
Postpone from M5
Here are list of requests from 3.3.x which we still want to add to calendar in RF 4 but probably should postpone from M5/final
- client side templating still not discussed for components.
- Tooltip functionality
- data model level support
- client side tooltip
- keyboard support - https://jira.jboss.org/browse/RF-6687
- Support for more than one month display - https://jira.jboss.org/browse/RF-4908
- Localization of labels via attributes
- Review of server listeners - https://jira.jboss.org/browse/RF-2469
- default label support - https://jira.jboss.org/browse/RF-4865
- already exist in inplaces, select - so could be checked there.