Package org.olat.core.gui.formelements

Examples of org.olat.core.gui.formelements.StaticSingleSelectionElement


    String[] menuRenderOptKeys = new String[] {Boolean.FALSE.toString(), Boolean.TRUE.toString()};
    String[] menuRenderOptValues = new String[] {
        translate("qti.form.menurender.allquestions"),
        translate("qti.form.menurender.sectionsonly")
        };
    menuRenderOptions = new StaticSingleSelectionElement("qti.form.menurender",menuRenderOptKeys,menuRenderOptValues);
    Boolean renderSectionsOnly;
    if (modConfig.get(IQEditController.CONFIG_KEY_RENDERMENUOPTION) == null) {
      // migration
      modConfig.set(IQEditController.CONFIG_KEY_RENDERMENUOPTION, Boolean.FALSE);
      renderSectionsOnly = Boolean.FALSE;
    } else {
      renderSectionsOnly = (Boolean)modConfig.get(IQEditController.CONFIG_KEY_RENDERMENUOPTION);
    }
    menuRenderOptions.select(renderSectionsOnly.toString(), true);
    addFormElement("qti_form_menurenderoption", menuRenderOptions);
   
    // sequence type
    String[] sequenceKeys = new String[] {AssessmentInstance.QMD_ENTRY_SEQUENCE_ITEM, AssessmentInstance.QMD_ENTRY_SEQUENCE_SECTION};
    String[] sequenceValues = new String[] {
        translate("qti.form.sequence.item"),
        translate("qti.form.sequence.section")};
    sequence = new StaticSingleSelectionElement("qti.form.sequence", sequenceKeys, sequenceValues);
    String confSequence = (String)modConfig.get(IQEditController.CONFIG_KEY_SEQUENCE);
    if (confSequence == null) confSequence = AssessmentInstance.QMD_ENTRY_SEQUENCE_ITEM;
    sequence.select(confSequence, true);
    addFormElement("qti_form_sequence", sequence);
       
    // question progress
    Boolean bEnableQuestionProgress = (Boolean)modConfig.get(IQEditController.CONFIG_KEY_QUESTIONPROGRESS);
    boolean confEnableQuestionProgress = (bEnableQuestionProgress != null) ? bEnableQuestionProgress.booleanValue() : true;
    displayQuestionProgress = new RadioButtonGroupElement(false, "qti.form.questionprogress", yesnoKeys, yesnoValues);
    displayQuestionProgress.select(confEnableQuestionProgress ? "y" : "n", true);
    addFormElement("qti_enableQuestionProgress", displayQuestionProgress);

    VisibilityDependsOnSelectionRule displayMenuVisibilityRule = new VisibilityDependsOnSelectionRule(
        enableMenu, displayMenu, "n", true, "y", true);
    addVisibilityDependsOnSelectionRule(displayMenuVisibilityRule);
   
    VisibilityDependsOnSelectionRule displayMenuRenderOptionRule = new VisibilityDependsOnSelectionRule(
        enableMenu, menuRenderOptions, "y", true, Boolean.FALSE.toString(), true);
    addVisibilityDependsOnSelectionRule(displayMenuRenderOptionRule);
   
    VisibilityDependsOnSelectionRule displayQuestionVisibilityRule = new VisibilityDependsOnSelectionRule(
        enableMenu, displayQuestionProgress, "n", true, "n", true);
    addVisibilityDependsOnSelectionRule(displayQuestionVisibilityRule);
   
    // question title
    Boolean bDisplayQuestionTitle = (Boolean)modConfig.get(IQEditController.CONFIG_KEY_QUESTIONTITLE);
    boolean confDisplayQuestionTitle = (bDisplayQuestionTitle != null) ? bDisplayQuestionTitle.booleanValue() : true;
    displayQuestionTitle = new RadioButtonGroupElement(false, "qti.form.questiontitle", yesnoKeys, yesnoValues);
    displayQuestionTitle.select(confDisplayQuestionTitle ? "y" : "n", true);
    addFormElement("qti_displayQuestionTitle", displayQuestionTitle);   
       
    // enable cancel
    Boolean bEnableCancel = (Boolean)modConfig.get(IQEditController.CONFIG_KEY_ENABLECANCEL);
    boolean confEnableCancel = true;
    if (bEnableCancel != null) {
      // if defined use config value
      confEnableCancel = bEnableCancel.booleanValue();
    } else {
      // undefined... migrate according to old behaviour
      if (configKeyType != null && configKeyType.equals(AssessmentInstance.QMD_ENTRY_TYPE_ASSESS))
        confEnableCancel = false;
    }
    enableCancel = new RadioButtonGroupElement(false, "qti.form.enablecancel", yesnoKeys, yesnoValues);
    enableCancel.select(confEnableCancel ? "y" : "n", true);
    addFormElement("qti_enableCancel", enableCancel);

    // enable suspend
    Boolean bEnableSuspend = (Boolean)modConfig.get(IQEditController.CONFIG_KEY_ENABLESUSPEND);
    boolean confEnableSuspend = (bEnableSuspend != null) ? bEnableSuspend.booleanValue() : false;
    enableSuspend = new RadioButtonGroupElement(false, "qti.form.enablesuspend", yesnoKeys, yesnoValues);
    enableSuspend.select(confEnableSuspend ? "y" : "n", true);
    addFormElement("qti_enableSuspend", enableSuspend);
   
    // Only tests have a limitation on number of attempts
    if (configKeyType != null && configKeyType.equals(AssessmentInstance.QMD_ENTRY_TYPE_ASSESS) ) {
      String[] attemptsKeys = new String[21];
        attemptsKeys[0] = "0"; // position 0 means no restriction
        for (int i = 1; i < 21; i++) {
                attemptsKeys[i] = (String.valueOf(i));
            }
      String[] attemptsValues = new String[21];
      attemptsValues[0] = translate("qti.form.attempts.noLimit");
        for (int i = 1; i < 21; i++) {
                attemptsValues[i] = (String.valueOf(i) + " x");
            }
      attempts = new StaticSingleSelectionElement("qti.form.attempts", attemptsKeys, attemptsValues);
      Integer confAttempts = (Integer) modConfig.get(IQEditController.CONFIG_KEY_ATTEMPTS);
      if (confAttempts == null) confAttempts = new Integer(0);
      attempts.select(confAttempts.toString(), true);
      addFormElement("qti_form_attempts", attempts);
    }
           
    // score progress
    if (configKeyType != null && !configKeyType.equals(AssessmentInstance.QMD_ENTRY_TYPE_SURVEY)) {
      //results options section
      TitleElement resultTitle = new TitleElement("qti.form.result.title");
      addFormElement("resultTitle", resultTitle);
     
      Boolean bEnableScoreProgress = (Boolean)modConfig.get(IQEditController.CONFIG_KEY_SCOREPROGRESS);
      boolean confEnableScoreProgress = (bEnableScoreProgress != null) ? bEnableScoreProgress.booleanValue() : true;
      displayScoreProgress = new RadioButtonGroupElement(false, "qti.form.scoreprogress", yesnoKeys, yesnoValues);
      displayScoreProgress.select(confEnableScoreProgress ? "y" : "n", true);
      addFormElement("qti_enableScoreProgress", displayScoreProgress);
       
      //Show score infos on start page
      Boolean bEnableScoreInfos = (Boolean)modConfig.get(IQEditController.CONFIG_KEY_ENABLESCOREINFO);
      boolean enableScoreInfos = (bEnableScoreInfos != null) ? bEnableScoreInfos.booleanValue() : true;
      scoreInfo = new RadioButtonGroupElement(false, "qti.form.scoreinfo", yesnoKeys, yesnoValues);
      scoreInfo.select(enableScoreInfos ? "y" : "n", true);
      addFormElement("qti_scoreInfo", scoreInfo);
     
      //migration: check if old tests have no summary
      String configuredSummary = (String) modConfig.get(IQEditController.CONFIG_KEY_SUMMARY);
      boolean noSummary = configuredSummary!=null && configuredSummary.equals(AssessmentInstance.QMD_ENTRY_SUMMARY_NONE) ? true : false;
   
      //show results after finish (submit) test     
      Boolean showResultOnFinish = (Boolean) modConfig.get(IQEditController.CONFIG_KEY_RESULT_ON_FINISH);
      boolean confEnableShowResultOnFinish = (showResultOnFinish != null) ? showResultOnFinish.booleanValue() : true;
      confEnableShowResultOnFinish = !noSummary && confEnableShowResultOnFinish;
      showResultsAfterFinishTest = new RadioButtonGroupElement(false, "qti.form.results.onfinish", yesnoKeys, yesnoValues);
      showResultsAfterFinishTest.select(confEnableShowResultOnFinish ? "y" : "n", true);
      addFormElement("qti_enableResultsOnFinish", showResultsAfterFinishTest);

      // show results on test home page
      Boolean showResultOnHomePage = (Boolean) modConfig.get(IQEditController.CONFIG_KEY_RESULT_ON_HOME_PAGE);
      boolean confEnableShowResultOnHomePage = (showResultOnHomePage != null) ? showResultOnHomePage.booleanValue() : false;
      confEnableShowResultOnHomePage = !noSummary && confEnableShowResultOnHomePage;
      showResultsOnHomePage = new RadioButtonGroupElement(false, "qti.form.results.onhomepage", yesnoKeys, yesnoValues);
      showResultsOnHomePage.select(confEnableShowResultOnHomePage ? "y" : "n", true);
      addFormElement("qti_enableResultsOnHomePage", showResultsOnHomePage);

      // enable show results depending on date only the "show results on test
      // home page" is true
      Boolean showResultsActive = (Boolean) modConfig.get(IQEditController.CONFIG_KEY_DATE_DEPENDENT_RESULTS);
      boolean showResultsDateDependent = false; // default false
      if (showResultsActive != null) {
        // if defined use config value
        showResultsDateDependent = showResultsActive.booleanValue();
      }
      showResultsDateDependentButton = new RadioButtonGroupElement(false, "qti.form.show.results", yesnoKeys, yesnoValues);
      showResultsDateDependentButton.select(showResultsDateDependent ? "y" : "n", true);
      addFormElement("qti_showresult", showResultsDateDependentButton);

      // start date
      Date startDate = (Date) modConfig.get(IQEditController.CONFIG_KEY_RESULTS_START_DATE);
      startDateElement = new DateElement("qti.form.date.start", startDate, "dd.MM.yyyy HH:mm");
      startDateElement.setMandatory(showResultsDateDependent);
      startDateElement.setDateChooserTimeEnabled(true);
      startDateElement.setDateChooserDateFormat("%d.%m.%Y %H:%M");
      startDateElement.setExample(startDateElement.getExample());
      addFormElement("qti.form.date.start", startDateElement);

      // end date
      Date endDate = (Date) modConfig.get(IQEditController.CONFIG_KEY_RESULTS_END_DATE);
      endDateElement = new DateElement("qti.form.date.end", endDate, "dd.MM.yyyy HH:mm");
      // endDateElement.setMandatory(showResultsDateDependent);
      endDateElement.setDateChooserTimeEnabled(true);
      endDateElement.setDateChooserDateFormat("%d.%m.%Y %H:%M");
      endDateElement.setExample(endDateElement.getExample());
      addFormElement("qti.form.date.end", endDateElement);

      // hide showResultsOnHomePage if the results must not be shown on the test
      // home page
      VisibilityDependsOnSelectionRule showResultOnHomePageVisibilityRule1 = new VisibilityDependsOnSelectionRule(showResultsOnHomePage,
          showResultsDateDependentButton, "n", false, "n", true);
      addVisibilityDependsOnSelectionRule(showResultOnHomePageVisibilityRule1);
      VisibilityDependsOnSelectionRule showResultOnHomePageVisibilityRule2 = new VisibilityDependsOnSelectionRule(showResultsOnHomePage,
          startDateElement, "n", false, "", true);
      addVisibilityDependsOnSelectionRule(showResultOnHomePageVisibilityRule2);
      VisibilityDependsOnSelectionRule showResultOnHomePageVisibilityRule3 = new VisibilityDependsOnSelectionRule(showResultsOnHomePage,
          endDateElement, "n", false, "", true);
      addVisibilityDependsOnSelectionRule(showResultOnHomePageVisibilityRule3);

      // hide start/end date element if show results is not date dependent
      VisibilityDependsOnSelectionRule startDateVisibilityRule = new VisibilityDependsOnSelectionRule(showResultsDateDependentButton,
          startDateElement, "n", false, "", true);
      addVisibilityDependsOnSelectionRule(startDateVisibilityRule);
      VisibilityDependsOnSelectionRule endDateVisibilityRule = new VisibilityDependsOnSelectionRule(showResultsDateDependentButton,
          endDateElement, "n", false, "", true);
      addVisibilityDependsOnSelectionRule(endDateVisibilityRule);

      //TODO: LD: hide summary if no results are shown neither on finish test nor on test home page
      // Only tests and selftests have summaries     
      if (configKeyType != null && !configKeyType.equals(AssessmentInstance.QMD_ENTRY_TYPE_SURVEY)) {
        String[] summaryKeys = new String[] { AssessmentInstance.QMD_ENTRY_SUMMARY_COMPACT, AssessmentInstance.QMD_ENTRY_SUMMARY_SECTION,
            AssessmentInstance.QMD_ENTRY_SUMMARY_DETAILED };
        String[] summaryValues = new String[] { translate("qti.form.summary.compact"), translate("qti.form.summary.section"),
            translate("qti.form.summary.detailed") };
        summary = new StaticSingleSelectionElement("qti.form.summary", summaryKeys, summaryValues);
        String confSummary = (String) modConfig.get(IQEditController.CONFIG_KEY_SUMMARY);
        if (confSummary == null || noSummary) confSummary = AssessmentInstance.QMD_ENTRY_SUMMARY_COMPACT;
       
        summary.select(confSummary, true);
        addFormElement("qti_form_summary", summary);
View Full Code Here


    String[] selectionElements = new String[]{translate(PROPERTY_KEY_UNDEFINED),
        translate(PROPERTY_KEY_NOT_OK),
        translate(PROPERTY_KEY_OK),
        translate(PROPERTY_KEY_WORKING_ON)};

    statusPullDown = new StaticSingleSelectionElement("form.status.selection", new String[]{STATUS_VALUE_UNDEFINED,STATUS_VALUE_NOT_OK ,STATUS_VALUE_OK, STATUS_VALUE_WORKING_ON}, selectionElements);
    addFormElement(STATUS_SELECTION, this.statusPullDown);
    addSubmitKey("save");
  }
View Full Code Here

    if (config == null) throw new AssertException("module configuration is null!");
    String[] modesKeys = new String[] {
        CONFIG_INTEGRATION_VALUE_INLINE,
        CONFIG_INTEGRATION_VALUE_POPUP };
    String[] modesValues = new String[] { translate("form." + getComponentName() + ".value.no"), translate("yes") };
    select = new StaticSingleSelectionElement("selection." + getComponentName() + ".label", modesKeys,
            modesValues);
    String selectConfig = (String) config.get(DialogConfigForm.DIALOG_CONFIG_INTEGRATION);
    //set default to "inline"
    if (selectConfig == null) selectConfig = CONFIG_INTEGRATION_VALUE_INLINE;
    select.select(selectConfig, true);
View Full Code Here

    String[] startPageKeys = new String[] { Boolean.FALSE.toString(), Boolean.TRUE.toString() };
    String[] startPageValues = new String[] { translate("no"), translate("yes") };

    if (startPageConfig == null) startPageConfig = Boolean.FALSE; // default

    startPage = new StaticSingleSelectionElement(DISPLAY_CONFIG, startPageKeys, startPageValues);
    startPage.select(startPageConfig.toString(), true);
    addFormElement("startPage", startPage);

  }
View Full Code Here

      FormElement ui = userPropertyHandler.getFormElement(getLocale(), null, USERPROPERTIES_FORM_IDENTIFYER, false);
      addFormElement(userPropertyHandler.getName(), ui);
    }
    // second the user language
    Map<String, String> languages = I18nManager.getInstance().getEnabledLanguagesTranslated();
    StaticSingleSelectionElement singleSelection = new StaticSingleSelectionElement("user.language", StringHelper
        .getMapKeysAsStringArray(languages), StringHelper.getMapValuesAsStringArray(languages));
    singleSelection.select(languageKey, true);
    addFormElement("lang", singleSelection);

    // third the login name and password
    addFormElement("space_username", new SpacerElement(true, true));
    addFormElement("usr_login", new TextElement("user.login", "", 128));
View Full Code Here

  /**
   * @see org.olat.user.propertyhandlers.UserPropertyHandler#getFormElement(java.util.Locale, org.olat.core.id.User, java.lang.String, boolean)
   */
  public FormElement getFormElement(Locale locale, User user, String usageIdentifyer, boolean isAdministrativeUser) {
    UserManager um = UserManager.getInstance();
    StaticSingleSelectionElement ui = new StaticSingleSelectionElement(i18nFormElementLabelKey(), keys, getTranslatedValues(locale));
    updateFormElementFromUser(ui, user);   
    if ( um.isUserViewReadOnly(usageIdentifyer, this) && ! isAdministrativeUser) {
      ui.setReadOnly(true);
    }
    if (um.isMandatoryUserProperty(usageIdentifyer, this)) {
      ui.setMandatory(true);
    }
    return ui;
  }
View Full Code Here

  /**
   * @see org.olat.user.propertyhandlers.UserPropertyHandler#isValid(org.olat.core.gui.formelements.FormElement)
   */
  public boolean isValid(FormElement ui, Map formContext) {
    if (ui.isMandatory()) {
      StaticSingleSelectionElement sse = (StaticSingleSelectionElement) ui;
      // when mandatory, the - must not be selected
      if (sse.getSelectedKey().equals("-")) {
        sse.setErrorKey("gender.error");
        return false;
      }
    }
    return true;
  }
View Full Code Here

TOP

Related Classes of org.olat.core.gui.formelements.StaticSingleSelectionElement

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.