Details
-
Type: Improvement
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 1.7.1
-
Component/s: ICE-Components
-
Labels:None
-
Environment:All
Description
Some of our more complex component will render out sub-parts of themselves with ids derived from the component's clientId, usually with a suffix appended. These suffixes can be needlessly verbose, making the server and browser DOMs unnecessarily large, and slowing network transmission and parsing times.
For example, take <ice:selectInputDate>, whose Renderer uses the following suffixes:
private static final String CALENDAR_TABLE = "_calendarTable";
private static final String CALENDAR_BUTTON = "_calendarButton";
private static final String CALENDAR_POPUP = "_calendarPopup";
private static final String HIDDEN_FIELD_NAME = "showPopup";
private static final String DATE_SELECTED = "dateSelected";
private static final String SELECT_MONTH = "_selMo";
private static final String SELECT_YEAR = "_selYr";
private static final String PREV_MONTH = "_prevmo";
private static final String NEXT_MONTH = "_nextmo";
private static final String PREV_YEAR = "_prevyr";
private static final String NEXT_YEAR = "_nextyr";
private static final String CALENDAR = "_calendar";
private static final String CALENDAR_CLICK = "_calendarClick";
private static final String ROOT_DIV = "_rootDiv";
These suffixes are nicely descriptive, but could be easily shortened. All component should be examined for possible optimisation. Care should be taken to not break Javascript which might rely on these suffixes.
For example, take <ice:selectInputDate>, whose Renderer uses the following suffixes:
private static final String CALENDAR_TABLE = "_calendarTable";
private static final String CALENDAR_BUTTON = "_calendarButton";
private static final String CALENDAR_POPUP = "_calendarPopup";
private static final String HIDDEN_FIELD_NAME = "showPopup";
private static final String DATE_SELECTED = "dateSelected";
private static final String SELECT_MONTH = "_selMo";
private static final String SELECT_YEAR = "_selYr";
private static final String PREV_MONTH = "_prevmo";
private static final String NEXT_MONTH = "_nextmo";
private static final String PREV_YEAR = "_prevyr";
private static final String NEXT_YEAR = "_nextyr";
private static final String CALENDAR = "_calendar";
private static final String CALENDAR_CLICK = "_calendarClick";
private static final String ROOT_DIV = "_rootDiv";
These suffixes are nicely descriptive, but could be easily shortened. All component should be examined for possible optimisation. Care should be taken to not break Javascript which might rely on these suffixes.
Issue Links
- blocks
-
ICE-3083 Memory performance/efficiency
- Open
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
Mark Collette
created issue -
Ken Fyten
made changes -
Field | Original Value | New Value |
---|---|---|
Assignee | Mark Collette [ mark.collette ] |
Ken Fyten
made changes -
Assignee Priority | P1 |
Ken Fyten
made changes -
Assignee | Mark Collette [ mark.collette ] | Adnan Durrani [ adnan.durrani ] |
Adnan Durrani
made changes -
Status | Open [ 1 ] | In Progress [ 3 ] |
Adnan Durrani
made changes -
Status | In Progress [ 3 ] | Resolved [ 5 ] |
Fix Version/s | 1.7.2 [ 10130 ] | |
Resolution | Fixed [ 1 ] |
Ken Fyten
made changes -
Fix Version/s | 1.7.2RC1 [ 10140 ] | |
Fix Version/s | 1.7.2 [ 10130 ] |
Ken Fyten
made changes -
Fix Version/s | 1.8DR#1 [ 10141 ] | |
Fix Version/s | 1.7.2RC1 [ 10140 ] |
Ken Fyten
made changes -
Fix Version/s | 1.8 [ 10161 ] | |
Assignee Priority | P1 |
Ken Fyten
made changes -
Status | Resolved [ 5 ] | Closed [ 6 ] |
Assignee | Adnan Durrani [ adnan.durrani ] |