use of com.googlecode.wicket.jquery.ui.interaction.droppable.DroppableBehavior in project openmeetings by apache.
the class FileTreePanel method onInitialize.
@Override
protected void onInitialize() {
super.onInitialize();
download.setDefaultModelObject(newDownloadMenuList());
Droppable<BaseFileItem> trashToolbar = new Droppable<BaseFileItem>("trash-toolbar") {
private static final long serialVersionUID = 1L;
@Override
public void onConfigure(JQueryBehavior behavior) {
super.onConfigure(behavior);
behavior.setOption("hoverClass", Options.asString("ui-state-hover trash-toolbar-hover"));
behavior.setOption("accept", Options.asString(".recorditem, .fileitem"));
}
@Override
public JQueryBehavior newWidgetBehavior(String selector) {
return new DroppableBehavior(selector, this) {
private static final long serialVersionUID = 1L;
@Override
protected JQueryAjaxBehavior newOnDropAjaxBehavior(IJQueryAjaxAware source) {
return new OnDropAjaxBehavior(source) {
private static final long serialVersionUID = 1L;
@Override
public CharSequence getCallbackFunctionBody(CallbackParameter... parameters) {
String dialogId = UUID.randomUUID().toString();
String statement = "var $drop = $(this);";
statement += "$('body').append('<div id=" + dialogId + ">" + getString("713") + "</div>');";
statement += "$( '#" + dialogId + "' ).dialog({ title: '" + escapeEcmaScript(getString("80")) + "', classes: {'ui-dialog-titlebar': 'ui-corner-all no-close'}, buttons: [";
statement += " { text: '" + escapeEcmaScript(getString("54")) + "', click: function() { $drop.append(ui.draggable); $(this).dialog('close'); " + super.getCallbackFunctionBody(parameters) + " } },";
statement += " { text: '" + escapeEcmaScript(getString("lbl.cancel")) + "', click: function() { $(this).dialog('close'); } } ";
statement += "],";
statement += "close: function(event, ui) { $(this).dialog('destroy').remove(); }";
statement += "});";
return statement;
}
};
}
};
}
@Override
public void onDrop(AjaxRequestTarget target, Component component) {
Object o = component.getDefaultModelObject();
if (o instanceof BaseFileItem) {
BaseFileItem f = (BaseFileItem) o;
if (isSelected(f)) {
deleteAll(target);
} else {
delete(f, target);
}
}
}
};
form.add(trashToolbar);
trashToolbar.add(getUpload());
trashToolbar.add(createDir);
trashToolbar.add(new WebMarkupContainer("refresh").add(new AjaxEventBehavior(EVT_CLICK) {
private static final long serialVersionUID = 1L;
@Override
protected void onEvent(AjaxRequestTarget target) {
update(target);
}
}));
trashToolbar.add(trashBorder = new ConfirmableAjaxBorder("trash", getString("80"), getString("713"), trashConfirm) {
private static final long serialVersionUID = 1L;
@Override
protected boolean isClickable() {
return !readOnly && !selected.isEmpty();
}
@Override
protected void onSubmit(AjaxRequestTarget target) {
deleteAll(target);
}
});
form.add(trees.add(tree).setOutputMarkupId(true));
updateSizes();
form.add(sizes.add(new Label("homeSize", homeSize), new Label("publicSize", publicSize)).setOutputMarkupId(true));
form.add(errorsDialog);
setReadOnly(false, null);
}
Aggregations