use of org.olat.core.gui.control.winmgr.JSCommand in project openolat by klemens.
the class ValidatingVisitor method handleBusinessPath.
public Command handleBusinessPath(UserRequest ureq) {
HistoryPoint p = ureq.getUserSession().getLastHistoryPoint();
if (p != null && StringHelper.containsNonWhitespace(p.getBusinessPath())) {
StringBuilder sb = new StringBuilder();
List<ContextEntry> ces = p.getEntries();
String url = BusinessControlFactory.getInstance().getAsURIString(ces, true);
sb.append("try { o_info.businessPath='").append(url).append("';");
// Add analytics code
if (analyticsSPI != null) {
String serverUri = Settings.getServerContextPathURI();
if (url != null && url.startsWith(serverUri)) {
analyticsSPI.analyticsCountPageJavaScript(sb, getTitle(), url.substring(serverUri.length()));
}
}
sb.append(" } catch(e) { }");
return new JSCommand(sb.toString());
}
return null;
}
use of org.olat.core.gui.control.winmgr.JSCommand in project openolat by klemens.
the class StepsMainRunController method formInnerEvent.
@Override
protected void formInnerEvent(UserRequest ureq, FormItem source, org.olat.core.gui.components.form.flexible.impl.FormEvent event) {
int whichTitleClickedIndex = stepTitleLinks.indexOf(source);
if (source == cancelButton || source == closeLink) {
if (cancel != null) {
// execute some cancel / rollback code
// a wizard is expected not to touch / change data in the cancel
// case undo your work here.
Step returnStep = cancel.execute(ureq, getWindowControl(), stepsContext);
if (returnStep != Step.NOSTEP) {
// error case FIXME:pb finish wizard for this case
} else {
// fireEvent(ureq, Event.CANCELLED_EVENT);
}
}
fireEvent(ureq, Event.CANCELLED_EVENT);
} else if (source == nextButton) {
// submit and let current unsaved step do its work
flc.getRootForm().submitAndNext(ureq);
// getWindowControl().getWindowBackOffice()
// .sendCommandTo(new JSCommand("try { o_scrollToElement('.o_wizard.modal.show.in'); } catch(e){ }"));
getWindowControl().getWindowBackOffice().sendCommandTo(new ScrollTopCommand());
// the current step decides whether to proceed to the next step or
// not.
} else if (source == finishButton) {
// submit and let last unsaved step do its work
finishCycle = true;
flc.getRootForm().submitAndFinish(ureq);
getWindowControl().getWindowBackOffice().sendCommandTo(new ScrollTopCommand());
// the current step decides whether to proceed or not
// an end step will fire FINISH
// a intermediate step will fire NEXT .. but NEXT && FINISHCYCLE
// means also finish
} else if (source == prevButton) {
lastEvent = StepsEvent.ACTIVATE_PREVIOUS;
doAfterDispatch = true;
getWindowControl().getWindowBackOffice().sendCommandTo(new JSCommand("try { o_scrollToElement('.o_wizard.modal.show.in'); } catch(e){ }"));
} else if (whichTitleClickedIndex >= 0) {
// remove all steps until the clicked one
for (int from = currentStepIndex; from > whichTitleClickedIndex; from--) {
stepPages.pop();
steps.pop();
currentStepIndex--;
// disable
stepTitleLinks.get(currentStepIndex).setEnabled(false);
// "previous"
// step.
StepFormController controller = stepPagesController.pop();
controller.back();
removeAsListenerAndDispose(controller);
// update current step index to velocity
flc.contextPut("currentStepPos", currentStepIndex + 1);
}
flc.add("FFO_CURRENTSTEPPAGE", stepPages.peek());
PrevNextFinishConfig pnfConf = steps.peek().getInitialPrevNextFinishConfig();
prevButton.setEnabled(pnfConf.isBackIsEnabled());
nextButton.setEnabled(pnfConf.isNextIsEnabled());
finishButton.setEnabled(pnfConf.isFinishIsEnabled());
}
}
use of org.olat.core.gui.control.winmgr.JSCommand in project openolat by klemens.
the class CPDisplayController method printPages.
private void printPages(final List<String> selectedNodeIds) {
StringBuilder sb = new StringBuilder();
sb.append("window.open('" + mapperBaseURL + "/print.html', '_print','height=800,left=100,top=100,width=800,toolbar=no,titlebar=0,status=0,menubar=yes,location= no,scrollbars=1');");
printMapper.setSelectedNodeIds(selectedNodeIds);
getWindowControl().getWindowBackOffice().sendCommandTo(new JSCommand(sb.toString()));
}
use of org.olat.core.gui.control.winmgr.JSCommand in project openolat by klemens.
the class BaseFullWebappController method addBodyCssClass.
/**
* adds a css-Classname to the OLAT body-tag
*
* @param cssClass
* the name of a css-Class
*/
@Override
public void addBodyCssClass(String cssClass) {
// sets class for full page refreshes
bodyCssClasses.add(cssClass);
// only relevant in AJAX mode
JSCommand jsc = new JSCommand("try { jQuery('#o_body').addClass('" + cssClass + "'); } catch(e){if(window.console) console.log(e) }");
getWindowControl().getWindowBackOffice().sendCommandTo(jsc);
}
use of org.olat.core.gui.control.winmgr.JSCommand in project openolat by klemens.
the class CorrectionIdentityInteractionsController method doSetOverridenScore.
private void doSetOverridenScore(BigDecimal newScore) {
overrideAutoScore = newScore;
if (newScore == null) {
AssessmentItemSession itemSession = correction.getItemSession();
String score = itemSession == null ? "" : AssessmentHelper.getRoundedScore(itemSession.getScore());
overrideScoreCont.contextPut("score", score);
} else {
overrideScoreCont.contextPut("score", AssessmentHelper.getRoundedScore(newScore));
}
String dirtyOnLoad = FormJSHelper.setFlexiFormDirtyOnLoad(flc.getRootForm());
getWindowControl().getWindowBackOffice().sendCommandTo(new JSCommand(dirtyOnLoad));
}
Aggregations