Subversion Repository Public Repository

litesoft

Diff Revisions 947 vs 948 for /trunk/GWT_Sandbox/FormEngine/src/com/temp/client/foundation/widget/table/cell/ClickableTextListDataCell.java

Diff revisions: vs.
  @@ -1,81 +1,77 @@
1 1 package com.temp.client.foundation.widget.table.cell;
2 2
3 - import java.util.List;
4 -
5 - import com.temp.client.foundation.handler.DataClickHandler;
6 - import com.temp.shared.utils.DisplayStringHandler;
7 - import com.temp.shared.utils.StringUtils;
8 -
9 - import com.google.gwt.cell.client.AbstractCell;
10 - import com.google.gwt.cell.client.ValueUpdater;
11 - import com.google.gwt.dom.client.Element;
12 - import com.google.gwt.dom.client.EventTarget;
13 - import com.google.gwt.dom.client.NativeEvent;
14 - import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
15 -
16 - public class ClickableTextListDataCell<E, L extends List<E>> extends AbstractCell<L>{
17 -
18 - DataClickHandler<E> clickHandler;
19 - DisplayStringHandler<E> displayStringHandler;
20 - private static final String CLICK_EVENT = "click";
21 - public ClickableTextListDataCell(DataClickHandler<E> _clickHandler, DisplayStringHandler<E> _displayStringHandler) {
22 - super(CLICK_EVENT);
23 - clickHandler = _clickHandler;
24 - displayStringHandler = _displayStringHandler;
25 - if (displayStringHandler == null) {
26 - displayStringHandler = new DisplayStringHandler<E>() {
27 - public String getDisplayString(E value) {
28 - return value.toString();
29 - }
30 - };
31 - }
32 - }
33 -
34 - @Override
35 - public void render(Context context, L valueList, SafeHtmlBuilder sb) {
36 - if (valueList != null && !valueList.isEmpty()) {
37 - for (E valueListElement : valueList) {
38 - String displayString = displayStringHandler.getDisplayString(valueListElement);
39 - if (!StringUtils.isBlank(displayString)) {
40 - if (clickHandler != null) {
41 - sb.appendHtmlConstant("<div class='link-button'>");
3 + import com.google.gwt.cell.client.*;
4 + import com.google.gwt.dom.client.*;
5 + import com.google.gwt.safehtml.shared.*;
6 + import com.temp.client.foundation.handler.*;
7 + import com.temp.shared.utils.*;
8 +
9 + import java.util.*;
10 +
11 + public class ClickableTextListDataCell<E, L extends List<E>> extends AbstractCell<L> {
12 +
13 + DataClickHandler<E> clickHandler;
14 + DisplayStringHandler<E> displayStringHandler;
15 + private static final String CLICK_EVENT = "click";
16 +
17 + public ClickableTextListDataCell( DataClickHandler<E> _clickHandler, DisplayStringHandler<E> _displayStringHandler ) {
18 + super( CLICK_EVENT );
19 + clickHandler = _clickHandler;
20 + displayStringHandler = _displayStringHandler;
21 + if ( displayStringHandler == null ) {
22 + displayStringHandler = new DisplayStringHandler<E>() {
23 + public String getDisplayString( E value ) {
24 + return value.toString();
25 + }
26 + };
27 + }
28 + }
29 +
30 + @Override
31 + public void render( Context context, L valueList, SafeHtmlBuilder sb ) {
32 + if ( valueList != null && !valueList.isEmpty() ) {
33 + for ( E valueListElement : valueList ) {
34 + String displayString = displayStringHandler.getDisplayString( valueListElement );
35 + if ( !StringUtils.isBlank( displayString ) ) {
36 + if ( clickHandler != null ) {
37 + sb.appendHtmlConstant( "<div class='link-button'>" );
42 38 } else {
43 - sb.appendHtmlConstant("<div>");
39 + sb.appendHtmlConstant( "<div>" );
44 40 }
45 - sb.appendEscaped(displayString);
46 - if (clickHandler != null) {
47 - sb.appendHtmlConstant("</div>");
41 + sb.appendEscaped( displayString );
42 + if ( clickHandler != null ) {
43 + sb.appendHtmlConstant( "</div>" );
48 44 } else {
49 - sb.appendHtmlConstant("</div>");
45 + sb.appendHtmlConstant( "</div>" );
50 46 }
51 47 } else {
52 - sb.appendHtmlConstant("<span></span>");
48 + sb.appendHtmlConstant( "<span></span>" );
53 49 }
54 50 }
55 - }
56 - }
51 + }
52 + }
57 53
58 - @Override
59 - public void onBrowserEvent(Context context, Element parent, L valueList, NativeEvent event, ValueUpdater<L> valueUpdater) {
60 - if (clickHandler != null
61 - && event.getType().equals(CLICK_EVENT)
62 - && valueList != null
63 - && !valueList.isEmpty()) {
64 -
65 - int index = 0;
66 - EventTarget eventTarget = event.getEventTarget();
67 - if (Element.is(eventTarget)) {
68 - Element target = eventTarget.cast();
69 - Element container = parent;
70 - Element wrapper = container.getFirstChildElement();
71 - while (wrapper != null) {
72 - if (wrapper.isOrHasChild(target)) {
73 - clickHandler.onClick(valueList.get(index));
74 - }
75 - index++;
76 - wrapper = wrapper.getNextSiblingElement();
77 - }
78 - }
79 - }
80 - }
54 + @Override
55 + public void onBrowserEvent( Context context, Element parent, L valueList, NativeEvent event, ValueUpdater<L> valueUpdater ) {
56 + if ( clickHandler != null
57 + && event.getType().equals( CLICK_EVENT )
58 + && valueList != null
59 + && !valueList.isEmpty() ) {
60 +
61 + int index = 0;
62 + EventTarget eventTarget = event.getEventTarget();
63 + if ( Element.is( eventTarget ) ) {
64 + Element target = eventTarget.cast();
65 + Element container = parent;
66 + Element wrapper = container.getFirstChildElement();
67 + while ( wrapper != null ) {
68 + if ( wrapper.isOrHasChild( target ) ) {
69 + clickHandler.onClick( valueList.get( index ) );
70 + }
71 + index++;
72 + wrapper = wrapper.getNextSiblingElement();
73 + }
74 + }
75 + }
76 + }
81 77 }