use of org.olat.core.gui.components.link.Link in project OpenOLAT by OpenOLAT.
the class GlossaryMainController method event.
/**
* @see org.olat.core.gui.control.DefaultController#event(org.olat.core.gui.UserRequest,
* org.olat.core.gui.components.Component,
* org.olat.core.gui.control.Event)
*/
@Override
protected void event(UserRequest ureq, Component source, Event event) {
if (source == addButton) {
removeAsListenerAndDispose(glossEditCtrl);
glossEditCtrl = new GlossaryItemEditorController(ureq, getWindowControl(), glossaryFolder, glossaryItemList, null, true);
listenTo(glossEditCtrl);
removeAsListenerAndDispose(cmc);
cmc = new CloseableModalController(getWindowControl(), "close", glossEditCtrl.getInitialComponent());
cmc.activate();
listenTo(cmc);
} else if (source instanceof Link) {
Link button = (Link) source;
String cmd = button.getCommand();
if (button.getUserObject() instanceof GlossaryItem) {
GlossaryItem currentGlossaryItem = (GlossaryItem) button.getUserObject();
if (cmd.startsWith(CMD_EDIT)) {
removeAsListenerAndDispose(glossEditCtrl);
glossEditCtrl = new GlossaryItemEditorController(ureq, getWindowControl(), glossaryFolder, glossaryItemList, currentGlossaryItem, false);
listenTo(glossEditCtrl);
removeAsListenerAndDispose(cmc);
cmc = new CloseableModalController(getWindowControl(), "close", glossEditCtrl.getInitialComponent());
cmc.activate();
listenTo(cmc);
} else if (button.getCommand().startsWith(CMD_DELETE)) {
currentDeleteItem = currentGlossaryItem;
if (deleteDialogCtr != null) {
deleteDialogCtr.dispose();
}
deleteDialogCtr = activateYesNoDialog(ureq, null, translate("glossary.delete.dialog", StringHelper.escapeHtml(currentGlossaryItem.getGlossTerm())), deleteDialogCtr);
}
} else if (button.getCommand().startsWith(REGISTER_LINK)) {
filterIndex = cmd.substring(cmd.lastIndexOf(".") + 1);
updateRegisterAndGlossaryItems();
}
} else if (source == glistVC) {
String cmd = event.getCommand();
if (cmd.startsWith(CMD_AUTHOR)) {
String url = event.getCommand().substring(CMD_AUTHOR.length());
openProfil(ureq, url, true);
} else if (cmd.startsWith(CMD_MODIFIER)) {
String url = event.getCommand().substring(CMD_MODIFIER.length());
openProfil(ureq, url, false);
}
}
}
use of org.olat.core.gui.components.link.Link in project OpenOLAT by OpenOLAT.
the class BreadcrumbedStackedPanel method rootController.
@Override
public void rootController(String displayName, Controller controller) {
if (stack.size() > 0) {
for (int i = stack.size(); i-- > 0; ) {
Link link = stack.remove(i);
BreadCrumb crumb = (BreadCrumb) link.getUserObject();
if (neverDisposeRootController && i == 0) {
continue;
}
crumb.dispose();
}
}
pushController(displayName, controller);
}
use of org.olat.core.gui.components.link.Link in project OpenOLAT by OpenOLAT.
the class BreadcrumbedStackedPanel method getRootController.
@Override
public Controller getRootController() {
Controller controller = null;
if (stack.size() > 0) {
Link lastPath = stack.get(0);
BreadCrumb crumb = (BreadCrumb) lastPath.getUserObject();
controller = crumb.getController();
}
return controller;
}
use of org.olat.core.gui.components.link.Link in project OpenOLAT by OpenOLAT.
the class BreadcrumbedStackedPanel method getLastController.
public Controller getLastController() {
Controller controller = null;
if (stack.size() > 0) {
Link lastPath = stack.get(stack.size() - 1);
BreadCrumb crumb = (BreadCrumb) lastPath.getUserObject();
controller = crumb.getController();
}
return controller;
}
use of org.olat.core.gui.components.link.Link in project OpenOLAT by OpenOLAT.
the class BreadcrumbedStackedPanel method pushController.
/**
* Push the controller in the stack. If the breadcrumb has no controller, the method
* prevent the last breadcrumb to be the same has the new one and be same, it's mean
* the same uobject.
*
* @param displayName
* @param iconLeftCss
* @param controller
* @param uobject
*/
public void pushController(String displayName, String iconLeftCss, Controller controller, Object uobject) {
// deduplicate last crumb
if (uobject != null && controller == null && stack.size() > 0) {
Link lastLink = stack.get(stack.size() - 1);
BreadCrumb lastCrumb = (BreadCrumb) lastLink.getUserObject();
if (lastCrumb.getController() == null && lastCrumb.getUserObject() != null && lastCrumb.getUserObject().equals(uobject)) {
stack.remove(lastLink);
}
}
Link link = LinkFactory.createLink("crumb_" + stack.size(), (Translator) null, this);
link.setCustomDisplayText(StringHelper.escapeHtml(displayName));
if (StringHelper.containsNonWhitespace(iconLeftCss)) {
link.setIconLeftCSS(iconLeftCss);
}
link.setDomReplacementWrapperRequired(false);
link.setUserObject(createCrumb(controller, uobject));
stack.add(link);
if (controller != null) {
setContent(controller);
}
updateCloseLinkTitle();
}
Aggregations