use of org.olat.portfolio.model.structel.EPPage in project openolat by klemens.
the class EPMapViewController method view.
public void view(UserRequest ureq) {
PortfolioStructure currentEditedStructure = null;
if (editCtrl != null) {
removeAsListenerAndDispose(editCtrl);
mainVc.remove(editCtrl.getInitialComponent());
currentEditedStructure = editCtrl.getSelectedStructure();
}
initForm(ureq);
editMode = EditMode.view;
if (editButton != null) {
editButton.setCustomDisplayText(translate("map.editButton.on"));
}
if (currentEditedStructure != null && pageCtrl != null) {
EPPage page = getSelectedPage(currentEditedStructure);
if (page != null) {
pageCtrl.selectPage(ureq, page);
addToHistory(ureq, page, null);
}
}
}
use of org.olat.portfolio.model.structel.EPPage in project openolat by klemens.
the class EPMultiplePageController method setAndInitNormalPage.
/**
* @param ureq
* @param pageNumberToInit
* @param withComments
*/
private void setAndInitNormalPage(UserRequest ureq, int pageNumberToInit, boolean withComments) {
PageTab tab = pageList.get(pageNumberToInit);
PortfolioStructure structureElement = ePFMgr.loadPortfolioStructureByKey(tab);
if (structureElement instanceof EPPage) {
EPPage page = (EPPage) structureElement;
PortfolioStructure map = ePFMgr.loadStructureParent(tab);
WindowControl bwControl = addToHistory(ureq, OresHelper.createOLATResourceableInstance(EPPage.class, page.getKey()), null);
currentActivePageCtrl = new EPPageViewController(ureq, bwControl, map, page, withComments, secCallback);
listenTo(currentActivePageCtrl);
// enable toc and changelog links
disableLink_TOC(false);
disableLINK_LC(false);
}
}
use of org.olat.portfolio.model.structel.EPPage in project openolat by klemens.
the class EPTOCController method refreshAddElements.
/**
* refreshing the add elements link to actual structure
* @param ureq
* @param struct maybe null -> hiding the add-button
*/
private void refreshAddElements(UserRequest ureq, PortfolioStructure struct) {
tocV.remove(tocV.getComponent("addElement"));
removeAsListenerAndDispose(addElCtrl);
if (struct != null) {
addElCtrl = new EPAddElementsController(ureq, getWindowControl(), struct);
if (struct instanceof EPPage) {
if (secCallback.canAddStructure()) {
addElCtrl.setShowLink(EPAddElementsController.ADD_STRUCTUREELEMENT);
}
if (secCallback.canAddArtefact()) {
addElCtrl.setShowLink(EPAddElementsController.ADD_ARTEFACT);
}
} else if (struct instanceof EPAbstractMap) {
if (secCallback.canAddPage()) {
addElCtrl.setShowLink(EPAddElementsController.ADD_PAGE);
}
} else {
// its a structure element
if (secCallback.canAddArtefact()) {
addElCtrl.setShowLink(EPAddElementsController.ADD_ARTEFACT);
}
}
listenTo(addElCtrl);
tocV.put("addElement", addElCtrl.getInitialComponent());
}
}
use of org.olat.portfolio.model.structel.EPPage in project openolat by klemens.
the class EPTOCController 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 instanceof Link) {
Link link = (Link) source;
if (link.getCommand().equals(DELETE_LINK_CMD)) {
if (artefactClicked != null) {
AbstractArtefact artefact = artefactClicked;
PortfolioStructure parentStruct = getArtefactParentStruct(artefactClicked);
ePFMgr.removeArtefactFromStructure(artefact, parentStruct);
// refresh the view
fireEvent(ureq, Event.CHANGED_EVENT);
} else if (structureClicked != null) {
if ((structureClicked instanceof EPPage) && !(structureClicked instanceof EPAbstractMap)) {
PortfolioStructure ps = structureClicked;
while (ePFMgr.loadStructureParent(ps) != null) {
ps = ePFMgr.loadStructureParent(ps);
}
int childPages = ePFMgr.countStructureChildren(ps);
if (childPages > 1) {
eSTMgr.removeStructureRecursively(structureClicked);
// refresh the view
fireEvent(ureq, Event.CHANGED_EVENT);
} else {
showError("last.page.not.deletable");
}
} else if (structureClicked instanceof EPStructureElement && !(structureClicked instanceof EPAbstractMap)) {
// structures should always be deletable
eSTMgr.removeStructureRecursively(structureClicked);
// refresh the view
fireEvent(ureq, Event.CHANGED_EVENT);
} else {
showInfo("element.not.deletable");
}
}
}
} else if (source == treeCtr) {
if (event instanceof TreeEvent) {
TreeEvent te = (TreeEvent) event;
if (MenuTree.COMMAND_TREENODE_CLICKED.equals(te.getCommand())) {
doSelectTreeElement(ureq, te);
}
} else if (event instanceof TreeDropEvent) {
TreeDropEvent te = (TreeDropEvent) event;
doDrop(ureq, te.getDroppedNodeId(), te.getTargetNodeId(), te.isAsChild());
}
}
}
Aggregations