\r
import com.google.gwt.core.client.GWT;\r
import com.google.gwt.dom.client.NativeEvent;\r
+import com.google.gwt.event.dom.client.ChangeEvent;\r
+import com.google.gwt.event.dom.client.ChangeHandler;\r
import com.google.gwt.event.dom.client.ClickEvent;\r
import com.google.gwt.event.dom.client.ClickHandler;\r
import com.google.gwt.event.dom.client.KeyCodes;\r
import com.google.gwt.user.client.ui.FlexTable;\r
import com.google.gwt.user.client.ui.HasHorizontalAlignment;\r
import com.google.gwt.user.client.ui.HorizontalPanel;\r
+import com.google.gwt.user.client.ui.Label;\r
import com.google.gwt.user.client.ui.TabPanel;\r
import com.google.gwt.user.client.ui.TextBox;\r
import com.google.gwt.user.client.ui.VerticalPanel;\r
/**\r
* The widget that holds the folderName of the folder.\r
*/\r
- private TextBox folderName = new TextBox();\r
+ TextBox folderName = new TextBox();\r
\r
/**\r
* A flag that denotes whether the dialog will be used to create or modify a\r
generalTable.setText(1, 0, "Parent");\r
generalTable.setText(2, 0, "Creator");\r
generalTable.setText(3, 0, "Last modified");\r
- folderName.setText(create ? "" : folder.getName());\r
+\r
+ folderName.setText(create ? "" : folder.getName());\r
folderName.setReadOnly(folder.isContainer() && !create);\r
generalTable.setWidget(0, 1, folderName);\r
\r
+ final Label folderNameNote = new Label("Please note that slashes ('/') are not allowed in folder names.", true);\r
+ folderNameNote.setVisible(false);\r
+ folderNameNote.setStylePrimaryName("gss-readForAllNote");\r
+ generalTable.setWidget(0, 2, folderNameNote);\r
+ \r
if (create)\r
generalTable.setText(1, 1, folder.getName());\r
else\r
okLabel = "Create";\r
else\r
okLabel = "Update";\r
- Button ok = new Button(okLabel, new ClickHandler() {\r
+ final Button ok = new Button(okLabel, new ClickHandler() {\r
@Override\r
public void onClick(@SuppressWarnings("unused") ClickEvent event) {\r
createOrUpdateFolder();\r
outer.add(ok);\r
outer.setCellHorizontalAlignment(inner, HasHorizontalAlignment.ALIGN_CENTER);\r
\r
+ folderName.addChangeHandler(new ChangeHandler() {\r
+ \r
+ @Override\r
+ public void onChange(@SuppressWarnings("unused") ChangeEvent event) {\r
+ if(folderName.getText().contains("/")) {\r
+ folderNameNote.setVisible(true);\r
+ ok.setEnabled(false);\r
+ }\r
+ else {\r
+ folderNameNote.setVisible(false);\r
+ ok.setEnabled(true);\r
+ }\r
+ }\r
+ });\r
+\r
setWidget(outer);\r
}\r
\r
* Generate an RPC request to create a new folder.\r
*/\r
private void createFolder() {\r
- String name = folderName.getText();\r
+ String name = folderName.getText().trim();\r
String path = folder.getUri() + "/" + name;\r
PutRequest createFolder = new PutRequest(app.getApiPath(), folder.getOwner(), path) {\r
@Override\r