List of usage examples for com.google.gwt.user.client.ui HTMLPanel HTMLPanel
private HTMLPanel(Element elem)
From source file:net.scran24.admin.client.Scran24Admin.java
private void createSurvey() { content.clear();/*from w w w . j av a 2 s . c o m*/ content.add(new HTMLPanel("<h1>New survey</h1>")); content.add(new NewSurvey()); }
From source file:net.scran24.admin.client.Scran24Admin.java
private void manageSurveys() { content.clear();//ww w .j a v a 2 s . c om content.add(new HTMLPanel("<h1>Survey management</h1>")); content.add(new SurveyManagement()); }
From source file:net.scran24.admin.client.Scran24Admin.java
private void downloadMissingFoods() { content.clear();// w w w.j a v a2 s . co m content.add(new HTMLPanel("<h1>Missing foods report</h1>")); content.add(new DownloadMissingFoods()); }
From source file:net.scran24.admin.client.Scran24Admin.java
private void uploadAdminAccounts() { content.clear();/*from ww w . ja v a 2 s .c o m*/ content.add(new HTMLPanel("<h1>Upload admin accounts</h1>")); final FlowPanel messageDiv = new FlowPanel(); content.add(messageDiv); content.add(new UserInfoUpload("admin", "admin", new ArrayList<String>(), new Callback1<Option<String>>() { @Override public void call(Option<String> res) { res.accept(new Option.SideEffectVisitor<String>() { @Override public void visitSome(String error) { messageDiv.clear(); messageDiv.getElement().getStyle().setColor("#d00"); messageDiv.add(new HTMLPanel(SafeHtmlUtils.fromString(error))); } @Override public void visitNone() { messageDiv.clear(); messageDiv.getElement().getStyle().setColor("#0d0"); messageDiv.add( new HTMLPanel(SafeHtmlUtils.fromString("Admin accounts uploaded successfully"))); } }); } })); }
From source file:net.scran24.admin.client.SurveyManagement.java
private void setControlsFor(String id) { surveyControls.clear();/* w w w.jav a2 s.co m*/ final HTMLPanel idLabel = new HTMLPanel("<h2>" + SafeHtmlUtils.htmlEscape(id) + "</h2>"); final HTMLPanel staffUploadLabel = new HTMLPanel("<h3>Upload staff accounts</h3>"); final FlowPanel messageDiv = new FlowPanel(); messageDiv.getElement().addClassName("scran24-admin-survey-id-message"); List<String> permissions = Arrays.asList(new String[] { "downloadData:" + id, "readSurveys:" + id, "uploadUserInfo:" + id, "surveyControl:" + id }); final UserInfoUpload staffUpload = new UserInfoUpload(id, "staff", permissions, new Callback1<Option<String>>() { @Override public void call(Option<String> res) { res.accept(new Option.SideEffectVisitor<String>() { @Override public void visitSome(String error) { messageDiv.clear(); messageDiv.getElement().getStyle().setColor("#d00"); messageDiv.add(new HTMLPanel(SafeHtmlUtils.fromString(error))); } @Override public void visitNone() { messageDiv.clear(); messageDiv.getElement().getStyle().setColor("#0d0"); messageDiv.add(new HTMLPanel( SafeHtmlUtils.fromString("Staff accounts uploaded successfully"))); } }); } }); surveyControls.add(idLabel); surveyControls.add(staffUploadLabel); surveyControls.add(messageDiv); surveyControls.add(staffUpload); }
From source file:net.scran24.admin.client.SurveyManagement.java
public SurveyManagement() { final FlowPanel contents = new FlowPanel(); contents.add(new LoadingPanel("Loading surveys...")); service.listSurveys(new AsyncCallback<List<String>>() { @Override/*from w w w .java 2 s.c o m*/ public void onFailure(Throwable arg0) { contents.clear(); contents.add(new Label("Server error - please check server logs")); } @Override public void onSuccess(List<String> surveys) { contents.clear(); if (surveys.isEmpty()) { contents.add(new HTMLPanel("<h2>No surveys to manage.</h2>")); } else { Collections.sort(surveys); FlowPanel surveySelector = new FlowPanel(); final ListBox surveyIdList = new ListBox(false); for (String id : surveys) surveyIdList.addItem(id); surveySelector.add(new Label("Select survey: ")); surveySelector.add(surveyIdList); contents.add(surveySelector); surveyControls = new FlowPanel(); contents.add(surveyControls); surveyIdList.addChangeHandler(new ChangeHandler() { @Override public void onChange(ChangeEvent arg0) { setControlsFor(surveyIdList.getItemText(surveyIdList.getSelectedIndex())); } }); surveyIdList.setSelectedIndex(0); setControlsFor(surveyIdList.getItemText(surveyIdList.getSelectedIndex())); } } }); initWidget(contents); }
From source file:net.scran24.admin.client.UserManager.java
public UserManager() { FlowPanel contents = new FlowPanel(); final FormPanel form = new FormPanel(); form.setAction(GWT.getModuleBaseURL() + "uploadUserInfo"); form.setEncoding(FormPanel.ENCODING_MULTIPART); form.setMethod(FormPanel.METHOD_POST); VerticalPanel panel = new VerticalPanel(); form.setWidget(panel);//ww w . j a va 2s . c om final FileUpload upload = new FileUpload(); upload.setName("file"); panel.add(upload); RadioButton append = new RadioButton("mode", "Append to existing user list"); append.setFormValue("append"); final RadioButton replace = new RadioButton("mode", "Replace existing user list"); replace.setFormValue("replace"); replace.setValue(true); panel.add(append); panel.add(replace); panel.add(WidgetFactory.createButton("Upload", new ClickHandler() { @Override public void onClick(ClickEvent event) { form.submit(); } })); form.addSubmitHandler(new SubmitHandler() { @Override public void onSubmit(SubmitEvent event) { if (upload.getFilename().isEmpty()) { Window.alert("Please choose a .csv file containing user information to upload"); event.cancel(); } else if (replace.getValue()) if (!Window.confirm( "Doing this will delete all user information from the database and replace it with the list you are submitting. Proceed?")) event.cancel(); } }); form.addSubmitCompleteHandler(new SubmitCompleteHandler() { @Override public void onSubmitComplete(SubmitCompleteEvent event) { // This is not a very robust way of detecting the status code, // but unfortunately there does not seem to be a better way of doing // this // that supports IE8 -- Ivan. // https://code.google.com/p/google-web-toolkit/issues/detail?id=7365 String result = event.getResults(); if (result.equals("OK")) Window.alert("User information uploaded."); else if (result.startsWith("ERR:")) { Window.alert("There was a problem uploading the user information: " + result.substring(4)); } else if (result.contains("401")) { LoginForm.showPopup(new Callback1<UserInfo>() { @Override public void call(UserInfo info) { form.submit(); } }); } else if (result.contains("403")) { // User is not authorised, e.g. someone has logged on as admin, // opened the user upload tab and timed out, then someone else // logged on as someone who does not have the right to // upload users. In this case, let them know and refresh the page // to either show the UI that corresponds to their set of permissions // or redirect them to another page. Window.alert("You are not authorised to upload user information."); Location.reload(); } } }); contents.add(new HTMLPanel("<h2>Staff user accounts</h2>")); contents.add(new Button("Add")); contents.add(new HTMLPanel("<h2>Respondent user accounts</h2>")); contents.add(form); initWidget(contents); }
From source file:net.scran24.common.client.LoginForm.java
License:Apache License
private void doLogin(final String supportEmail) { loginService.login(EmbeddedData.surveyId(), userText.getText(), passText.getText(), new AsyncCallback<UserInfo>() { @Override//from w w w.j a v a2 s. com public void onSuccess(UserInfo result) { onSuccess.call(result); } @Override public void onFailure(Throwable caught) { errorMessage.clear(); if (caught instanceof CredentialsException) errorMessage.add(new HTMLPanel(SafeHtmlUtils .fromSafeConstant(messages.loginForm_passwordNotRecognised(supportEmail)))); else errorMessage.add(new HTMLPanel(SafeHtmlUtils .fromSafeConstant(messages.loginForm_serviceException(supportEmail)))); loginButton.setEnabled(true); } }); }
From source file:net.scran24.common.client.LoginForm.java
License:Apache License
public LoginForm(final Callback1<UserInfo> onSuccess, SafeHtml prompt) { this.onSuccess = onSuccess; Grid g = new Grid(2, 2); g.setCellPadding(5);/*from w w w .j a va2 s . co m*/ Label userLabel = new Label(messages.loginForm_userNameLabel()); Label passLabel = new Label(messages.loginForm_passwordLabel()); this.userText = new TextBox(); this.passText = new PasswordTextBox(); g.setWidget(0, 0, userLabel); g.setWidget(1, 0, passLabel); g.setWidget(0, 1, userText); g.setWidget(1, 1, passText); VerticalPanel contents = new VerticalPanel(); contents.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER); FlowPanel linkPanel = new FlowPanel(); linkPanel.add(WidgetFactory.createTutorialVideoLink()); HTMLPanel pp = new HTMLPanel(prompt); contents.add(pp); HTMLPanel divider = new HTMLPanel(messages.loginForm_logInSeparator()); divider.getElement().addClassName("intake24-login-form-divider"); contents.add(divider); contents.add(linkPanel); contents.add(g); errorMessage = new FlowPanel(); contents.add(errorMessage); loginButton = WidgetFactory.createButton(messages.loginForm_logInButtonLabel(), new ClickHandler() { @Override public void onClick(ClickEvent event) { initLogin(); } }); loginButton.getElement().setId("intake24-login-button"); passText.addKeyPressHandler(new KeyPressHandler() { @Override public void onKeyPress(KeyPressEvent event) { if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER) initLogin(); } }); userText.addKeyPressHandler(new KeyPressHandler() { @Override public void onKeyPress(KeyPressEvent event) { if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER) initLogin(); } }); contents.add(WidgetFactory.createButtonsPanel(loginButton)); contents.addStyleName("intake24-login-form"); initWidget(contents); }
From source file:net.scran24.common.client.Section.java
public static <T extends Widget> Section<T> withSimpleHeader(String title, T content) { return new Section<T>( new HTMLPanel(SafeHtmlUtils.fromSafeConstant("<h2>" + SafeHtmlUtils.htmlEscape(title) + "</h2>")), content);// w w w .j av a2 s . com }