Created
February 2, 2016 20:16
-
-
Save confile/814cee5a94ad5251b535 to your computer and use it in GitHub Desktop.
Revisions
-
confile created this gist
Feb 2, 2016 .There are no files selected for viewing
This file contains hidden or 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 charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,268 @@ package test.dashboard.client.app.start; import javax.inject.Inject; import test.dashboard.client.app.triggerList.TriggerListPagePresenter; import test.dashboard.client.app.visitorList.VisitorListPagePresenter; import test.dashboard.client.messages.Messages; import test.dashboard.client.theme.base.AppGss; import com.google.gwt.core.client.GWT; import com.google.gwt.dom.client.Element; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.resources.client.ClientBundle; import com.google.gwt.resources.client.CssResource; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.uibinder.client.UiHandler; import com.google.gwt.user.client.ui.HTMLPanel; import com.google.gwt.user.client.ui.IsWidget; import com.google.gwt.user.client.ui.Widget; import com.gwtplatform.mvp.client.ViewWithUiHandlers; import com.vaadin.polymer.paper.widget.PaperBadge; import com.vaadin.polymer.paper.widget.PaperDialog; import com.vaadin.polymer.paper.widget.PaperDrawerPanel; import com.vaadin.polymer.paper.widget.PaperIconItem; import com.vaadin.polymer.paper.widget.PaperInput; import com.vaadin.polymer.paper.widget.PaperTextarea; public class StartPageView extends ViewWithUiHandlers<StartPageViewUiHandlers> implements StartPagePresenter.MyView { public interface Resources extends ClientBundle { @Source({Css.APP_CSS, Css.DEFAULT_CSS}) Css css(); } public interface Css extends CssResource, AppGss { String DEFAULT_CSS = "test/dashboard/client/app/start/StartPageView.gss"; String mainPanel(); String headerPanel(); String contentPanel(); } @UiField(provided = true) Resources resources; @UiField(provided = true) Messages messages; @UiField PaperDrawerPanel drawerPanel; @UiField PaperIconItem visitorListButton; @UiField PaperIconItem triggerButton; @UiField // PaperBadge onlineState; Element onlineState; @UiField Element titleLabel; // @UiField // Anchor visitorListButton; // // @UiField // Anchor triggerButton; // // @UiField // Element onlineState; // // @UiField // FlowPanel contentSlot; @UiField HTMLPanel contentPanel; @UiField PaperDialog addItemDialog; @UiField PaperInput titleInput; @UiField PaperTextarea descriptionInput; public interface Binder extends UiBinder<Widget, StartPageView> { } @Inject public StartPageView(final Binder binder, Resources resources, Messages messages) { this.resources = resources; resources.css().ensureInjected(); this.messages = messages; initWidget(binder.createAndBindUi(this)); // addStyleNames="on" // onlineState.addClassName("on"); // onlineState.setVisible(false); // onlineState.setLabel("on"); // resources.css().ensureInjected(); // GWT.log("frame: "+frame); // HTMLPanel panel = new HTMLPanel("Hello World! 1324444"); // frame = Frame.wrap(panel.getElement()); // frame.wrap(panel.getElement()); // outerPanel.add(panel); // createView(); // // registerMainEvent(); // // new Timer() { // // @Override // public void run() { // // TODO Auto-generated method stub //// otherWindow.postMessage(message, targetOrigin, [transfer]); // // post(iframe, "test"); // } // }.schedule(3000); } @Override public void setInSlot(Object slot, IsWidget content) { contentPanel.clear(); if (slot == StartPagePresenter.SLOT_CONTENT) { if (content.getClass().getSimpleName() == VisitorListPagePresenter.class.getSimpleName()) { titleLabel.setInnerText("Visitor List"); visitorListButton.setActive(true); } else if (content.getClass().getSimpleName() == TriggerListPagePresenter.class.getSimpleName()) { titleLabel.setInnerText("Triggers"); } contentPanel.add(content); } else { super.setInSlot(slot, content); } } @Override public void setOnlineState(boolean value) { GWT.log("setOnlineState: "+value); if (value) { onlineState.setInnerText("on"); // onlineState.removeClassName("off"); onlineState.addClassName("on"); // onlineState.setLabel("on"); // onlineState.addStyleName("on"); // onlineState.removeStyleName("off"); // onlineState.setInnerText("Online"); // $(onlineState).css("background-color", "green") // .css("color", "#fff"); } else { onlineState.setInnerText("off"); onlineState.removeClassName("on"); // onlineState.addClassName("off"); // onlineState.setLabel("off"); // onlineState.removeStyleName("on"); // onlineState.addStyleName("off"); // onlineState.setInnerText("Offline"); // $(onlineState).css("background-color", "red") // .css("color", "#fff"); } } private void closeMenu() { if (drawerPanel.getNarrow()) { drawerPanel.closeDrawer(); } } // --------------------------------------------- // Events // --------------------------------------------- // @UiHandler({"visitorListButton", "triggerButton"}) // void onButtonClick(ClickEvent event) { // if (event.getSource().equals(visitorListButton)) { // getUiHandlers().visitorListButtonTapped(); // } // else if (event.getSource().equals(triggerButton)) { // getUiHandlers().triggerListButtonTapped(); // } // } @UiHandler({"visitorListButton", "triggerButton"}) void onButtonClick(ClickEvent e) { closeMenu(); if (e.getSource().equals(visitorListButton)) { getUiHandlers().visitorListButtonTapped(); titleLabel.setInnerText("Visitor List"); } else if (e.getSource().equals(triggerButton)) { getUiHandlers().triggerListButtonTapped(); titleLabel.setInnerText("Triggers"); } } // old // @UiHandler("addButton") // protected void onAddButtonClick(ClickEvent e) { // addItemDialog.open(); // } @UiHandler("confirmAddButton") protected void onConfirmAddButtonClick(ClickEvent e) { if (!titleInput.getValue().isEmpty()) { addItem(titleInput.getValue(), descriptionInput.getValue()); // clear text fields titleInput.setValue(""); descriptionInput.setValue(""); } } private void addItem(String title, String description) { Item item = new Item(); item.setTitle(title); item.setDescription(description); contentPanel.add(item); } @UiHandler("menuClearAll") protected void menuClearAll(ClickEvent e) { closeMenu(); contentPanel.clear(); } @UiHandler("menuClearDone") protected void menuClearDone(ClickEvent e) { closeMenu(); for (int i = contentPanel.getWidgetCount() - 1; i > -1; i--) { Item item = (Item)contentPanel.getWidget(i); if (item.isDone()) { contentPanel.remove(item); } } } }