UIComponent target = SearchExpressionFacade.resolveComponent(
context, draggable, draggable.getFor(), SearchExpressionFacade.PARENT_FALLBACK);
String dashboard = draggable.getDashboard();
WidgetBuilder wb = getWidgetBuilder(context);
wb.initWithDomReady("Draggable", draggable.resolveWidgetVar(), clientId)
.attr("target", target.getClientId(context))
.attr("cursor", draggable.getCursor())
.attr("disabled", draggable.isDisabled(), false)
.attr("axis", draggable.getAxis(), null)
.attr("containment", draggable.getContainment(), null)
.attr("appendTo", SearchExpressionFacade.resolveComponentForClient(context, draggable, draggable.getAppendTo()), null)
.attr("helper", draggable.getHelper(), null)
.attr("zIndex", draggable.getZindex(), -1)
.attr("handle", draggable.getHandle(), null)
.attr("opacity", draggable.getOpacity(), 1.0)
.attr("stack", draggable.getStack(), null)
.attr("scope", draggable.getScope(), null);
if(draggable.isRevert())
wb.attr("revert", "invalid");
if(draggable.getGrid() != null)
wb.append(",grid:[").append(draggable.getGrid()).append("]");
if(draggable.isSnap()) {
wb.attr("snap", true)
.attr("snapTolerance", draggable.getSnapTolerance())
.attr("snapMode", draggable.getSnapMode(), null);
}
//Dashboard support
if(dashboard != null) {
Dashboard db = (Dashboard) SearchExpressionFacade.resolveComponent(context, draggable, dashboard);
String selector = ComponentUtils.escapeJQueryId(db.getClientId(context)) + " .ui-dashboard-column";
wb.attr("connectToSortable", selector);
}
wb.finish();
}