Project

General

Profile

« Previous | Next » 

Revision 41088

View differences:

DropdownListWidget.java
1 1
package eu.dnetlib.client.widgets;
2 2

  
3 3
import com.github.gwtbootstrap.client.ui.ListBox;
4
import com.google.gwt.dom.client.Element;
4 5
import com.google.gwt.dom.client.Style.BorderStyle;
5 6
import com.google.gwt.dom.client.Style.Overflow;
6 7
import com.google.gwt.dom.client.Style.Position;
......
60 61
			
61 62
			@Override
62 63
			public void onMouseDown(MouseDownEvent event) {
64
				focusPanel.setVisible(true);
63 65
				event.preventDefault();
64 66
				treePanel.setVisible(!treePanel.isVisible());
65 67
				inDiv = !inDiv;
......
67 69
		});
68 70
		
69 71
		//masterListBox.getElement().getStyle().setMarginBottom(0.0, Unit.PX);
70
		
72

  
71 73
		optionsPanel.add(masterListBox);
72 74
		optionsPanel.add(focusPanel);
73 75
		
......
89 91
		masterListBox = new ListBox();
90 92
		optionsPanel = new FlowPanel();
91 93
		treePanel = new FlowPanel();
94
		treePanel.addStyleName("data-panel");
92 95
		focusPanel = new FocusPanel();
93 96
		
97
		
94 98
		treePanel.setVisible(false);
95 99
		masterListBox.addMouseDownHandler(new MouseDownHandler() {//otan patithei to dropdown
96 100
			
97 101
			@Override
98 102
			public void onMouseDown(MouseDownEvent event) {
103
				closeExisting();
104
				
105
				focusPanel.setVisible(true);
99 106
				event.preventDefault();
100 107
				treePanel.setVisible(!treePanel.isVisible());
101 108
				inDiv = !inDiv;
......
117 124
		
118 125
	}
119 126
	
127
	public native void closeExisting()/*-{
128
		$wnd.$('.data-panel').click(function(){
129
			$wnd.$('.data-panel').hide();
130
		});
131
	}-*/;
132

  
133
	
134
	
120 135
	public ListBox getListBox(){
121 136
		return masterListBox;
122 137
	}
......
145 160
	}
146 161
	
147 162
private void styleTreePanel(){
148
		
163
		treePanel.addStyleName("data-panel");
149 164
		treePanel.getElement().getStyle().setProperty("height", "auto");
150 165
		treePanel.getElement().getStyle().setProperty("max-height", "270px");
151 166
		
......
219 234
				
220 235
				@Override
221 236
				public void onMouseWheel(MouseWheelEvent event) {
222

  
237
					
223 238
					focusPanel.getOffsetHeight();
224
					if(inDiv){//einai mesa sto div, min kaneis tpt
225
					}else{//den einai mesa sto div, kleise to div
226
						treePanel.setVisible(false);
227
					}
239
						if(inDiv){//einai mesa sto div, min kaneis tpt
240
						
241
						}else{//den einai mesa sto div, kleise to div
242
							
243
								treePanel.setVisible(false);
244
						}
228 245
				}
229 246
			}, MouseWheelEvent.getType());
230 247
			
......
232 249
				
233 250
				@Override
234 251
				public void onClick(ClickEvent event) {
235
					if(inDiv){//einai mesa sto div, min kaneis tpt
236

  
237
					}else{//den einai mesa sto div, kleise to div
238
						treePanel.setVisible(false);
239
					}
240
					
252
						
253
						if(Element.as(event.getNativeEvent().getEventTarget()) != masterListBox.getElement()){ 
254
							treePanel.setVisible(false);
255
							inDiv = false;
256
						}else{
257
							if(inDiv){//einai mesa sto div, min kaneis tpt
258
								
259
							}else{//den einai mesa sto div, kleise to div
260
								treePanel.setVisible(false);
261
							}
262
						}
241 263
				}
242 264
			}, ClickEvent.getType());
243 265
	}

Also available in: Unified diff