Created
August 5, 2019 18:57
-
-
Save branflake2267/c1f524524d2e0b3af3effbdbc6d0ddb0 to your computer and use it in GitHub Desktop.
GXT 4 datepicker zindex workaround
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.Date; | |
import com.google.gwt.core.client.EntryPoint; | |
import com.google.gwt.dom.client.Style.BorderStyle; | |
import com.google.gwt.user.client.ui.HTML; | |
import com.google.gwt.user.client.ui.RootPanel; | |
import com.sencha.gxt.cell.core.client.form.DateCell; | |
import com.sencha.gxt.core.client.dom.XElement; | |
import com.sencha.gxt.core.client.util.Margins; | |
import com.sencha.gxt.widget.core.client.Window; | |
import com.sencha.gxt.widget.core.client.button.TextButton; | |
import com.sencha.gxt.widget.core.client.container.HBoxLayoutContainer; | |
import com.sencha.gxt.widget.core.client.container.HBoxLayoutContainer.HBoxLayoutAlign; | |
import com.sencha.gxt.widget.core.client.container.MarginData; | |
import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer; | |
import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer.VerticalLayoutData; | |
import com.sencha.gxt.widget.core.client.event.SelectEvent; | |
import com.sencha.gxt.widget.core.client.event.SelectEvent.SelectHandler; | |
import com.sencha.gxt.widget.core.client.form.DateField; | |
import com.sencha.gxt.widget.core.client.form.FieldLabel; | |
import com.sencha.gxt.widget.core.client.form.FieldSet; | |
import com.sencha.gxt.widget.core.client.form.StringComboBox; | |
import com.sencha.gxt.widget.core.client.form.TextField; | |
public class WindowWithDateFieldIssue implements EntryPoint { | |
@Override | |
public void onModuleLoad() { | |
String label1 = "field 1"; | |
String label2 = "field 2"; | |
TextField textField1 = new TextField(); | |
TextField textField2 = new TextField(); | |
StringComboBox combo = new StringComboBox(); | |
combo.add("a"); | |
combo.add("b"); | |
combo.add("c"); | |
FieldLabel fl1 = new FieldLabel(textField1, label1); | |
//FieldLabel fl2 = new FieldLabel(textField2, label2); | |
HBoxLayoutContainer hlc1 = new HBoxLayoutContainer(HBoxLayoutAlign.MIDDLE); | |
hlc1.add(fl1); | |
hlc1.add(combo); | |
DateCell dateCell = new DateCell() { | |
@Override | |
protected void showDatepicker(Context context, XElement parent) { | |
super.showDatepicker(context, parent); | |
// ~~~ workaround - debugging | |
menu.getDatePicker().getElement().getStyle().setProperty("border", "1px solid red"); | |
// ~~~ workaround | |
menu.getDatePicker().getElement().getStyle().setProperty("zIndex", "1234"); | |
} | |
}; | |
Date date = new Date(); | |
date.setMonth(3); | |
DateField dateField = new DateField(dateCell); | |
dateField.setValue(date); | |
HBoxLayoutContainer hlc2 = new HBoxLayoutContainer(HBoxLayoutAlign.MIDDLE); | |
hlc2.add(combo); | |
hlc2.add(new HTML("|")); | |
hlc2.add(dateField); | |
FieldSet fs1 = new FieldSet(); | |
fs1.setHeading("Group1"); | |
fs1.add(hlc1); | |
FieldSet fs2 = new FieldSet(); | |
fs2.setHeading("Group2"); | |
fs2.add(hlc2); | |
VerticalLayoutContainer bodyVlc = new VerticalLayoutContainer(); | |
bodyVlc.add(fs1, new VerticalLayoutData(1, -1)); | |
bodyVlc.add(fs2, new VerticalLayoutData(1, -1, new Margins(10, 0, 0, 0))); | |
final Window window = new Window(); | |
window.getElement().getStyle().setBorderStyle(BorderStyle.NONE); | |
window.setModal(true); | |
window.add(bodyVlc, new MarginData(20)); | |
window.addButton(new TextButton("OK")); | |
//window.autoSize(); | |
TextButton button = new TextButton("Open"); | |
button.addSelectHandler(new SelectHandler() { | |
@Override | |
public void onSelect(SelectEvent event) { | |
window.show(); | |
} | |
}); | |
RootPanel.get().add(button); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment