Revision ef3dd275 web_client/src/gr/grnet/pithos/web/client/FolderPropertiesDialog.java
b/web_client/src/gr/grnet/pithos/web/client/FolderPropertiesDialog.java | ||
---|---|---|
46 | 46 |
|
47 | 47 |
import com.google.gwt.core.client.GWT; |
48 | 48 |
import com.google.gwt.dom.client.NativeEvent; |
49 |
import com.google.gwt.event.dom.client.ChangeEvent; |
|
50 |
import com.google.gwt.event.dom.client.ChangeHandler; |
|
49 | 51 |
import com.google.gwt.event.dom.client.ClickEvent; |
50 | 52 |
import com.google.gwt.event.dom.client.ClickHandler; |
51 | 53 |
import com.google.gwt.event.dom.client.KeyCodes; |
... | ... | |
59 | 61 |
import com.google.gwt.user.client.ui.FlexTable; |
60 | 62 |
import com.google.gwt.user.client.ui.HasHorizontalAlignment; |
61 | 63 |
import com.google.gwt.user.client.ui.HorizontalPanel; |
64 |
import com.google.gwt.user.client.ui.Label; |
|
62 | 65 |
import com.google.gwt.user.client.ui.TabPanel; |
63 | 66 |
import com.google.gwt.user.client.ui.TextBox; |
64 | 67 |
import com.google.gwt.user.client.ui.VerticalPanel; |
... | ... | |
75 | 78 |
/** |
76 | 79 |
* The widget that holds the folderName of the folder. |
77 | 80 |
*/ |
78 |
private TextBox folderName = new TextBox();
|
|
81 |
TextBox folderName = new TextBox(); |
|
79 | 82 |
|
80 | 83 |
/** |
81 | 84 |
* A flag that denotes whether the dialog will be used to create or modify a |
... | ... | |
136 | 139 |
generalTable.setText(1, 0, "Parent"); |
137 | 140 |
generalTable.setText(2, 0, "Creator"); |
138 | 141 |
generalTable.setText(3, 0, "Last modified"); |
139 |
folderName.setText(create ? "" : folder.getName()); |
|
142 |
|
|
143 |
folderName.setText(create ? "" : folder.getName()); |
|
140 | 144 |
folderName.setReadOnly(folder.isContainer() && !create); |
141 | 145 |
generalTable.setWidget(0, 1, folderName); |
142 | 146 |
|
147 |
final Label folderNameNote = new Label("Please note that slashes ('/') are not allowed in folder names.", true); |
|
148 |
folderNameNote.setVisible(false); |
|
149 |
folderNameNote.setStylePrimaryName("gss-readForAllNote"); |
|
150 |
generalTable.setWidget(0, 2, folderNameNote); |
|
151 |
|
|
143 | 152 |
if (create) |
144 | 153 |
generalTable.setText(1, 1, folder.getName()); |
145 | 154 |
else |
... | ... | |
206 | 215 |
okLabel = "Create"; |
207 | 216 |
else |
208 | 217 |
okLabel = "Update"; |
209 |
Button ok = new Button(okLabel, new ClickHandler() { |
|
218 |
final Button ok = new Button(okLabel, new ClickHandler() {
|
|
210 | 219 |
@Override |
211 | 220 |
public void onClick(@SuppressWarnings("unused") ClickEvent event) { |
212 | 221 |
createOrUpdateFolder(); |
... | ... | |
217 | 226 |
outer.add(ok); |
218 | 227 |
outer.setCellHorizontalAlignment(inner, HasHorizontalAlignment.ALIGN_CENTER); |
219 | 228 |
|
229 |
folderName.addChangeHandler(new ChangeHandler() { |
|
230 |
|
|
231 |
@Override |
|
232 |
public void onChange(@SuppressWarnings("unused") ChangeEvent event) { |
|
233 |
if(folderName.getText().contains("/")) { |
|
234 |
folderNameNote.setVisible(true); |
|
235 |
ok.setEnabled(false); |
|
236 |
} |
|
237 |
else { |
|
238 |
folderNameNote.setVisible(false); |
|
239 |
ok.setEnabled(true); |
|
240 |
} |
|
241 |
} |
|
242 |
}); |
|
243 |
|
|
220 | 244 |
setWidget(outer); |
221 | 245 |
} |
222 | 246 |
|
... | ... | |
259 | 283 |
* Generate an RPC request to create a new folder. |
260 | 284 |
*/ |
261 | 285 |
private void createFolder() { |
262 |
String name = folderName.getText(); |
|
286 |
String name = folderName.getText().trim();
|
|
263 | 287 |
String path = folder.getUri() + "/" + name; |
264 | 288 |
PutRequest createFolder = new PutRequest(app.getApiPath(), folder.getOwner(), path) { |
265 | 289 |
@Override |
Also available in: Unified diff