Package org.olat.core.gui.components.form.flexible

Examples of org.olat.core.gui.components.form.flexible.FormUIFactory


   * (org.olat.core.gui.components.form.flexible.FormItemContainer,
   * org.olat.core.gui.control.Controller, org.olat.core.gui.UserRequest)
   */
  @Override
  protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
    FormUIFactory formFactory = FormUIFactory.getInstance();
    I18nManager i18nMgr = I18nManager.getInstance();
    Preferences guiPrefs = ureq.getUserSession().getGuiPreferences();
    this.flc.contextPut("referenceLanguageKey", referenceLocale.toString());
    this.flc.contextPut("referenceLanguage", i18nMgr.getLanguageTranslated(referenceLocale.toString(), false));
    // Add bundles and keys selection
    List<String> bundlesList = new ArrayList<String>();
    List<String> keysList = new ArrayList<String>();
    for (I18nItem item : i18nItems) {
      if (!bundlesList.contains(item.getBundleName())) {
        bundlesList.add(item.getBundleName());
      }
      if (currentItem.getBundleName().equals(item.getBundleName())) {
        keysList.add(item.getKey());
      }
    }
    String[] bundlesListArray = ArrayHelper.toArray(bundlesList);
    String[] keysListArray = ArrayHelper.toArray(keysList);
    bundlesSelection = formFactory.addDropdownSingleselect("bundlesSelection", this.flc, bundlesListArray, bundlesListArray, null);
    bundlesSelection.addActionListener(this, FormEvent.ONCHANGE);
    bundlesSelection.select(currentItem.getBundleName(), true);
    keysSelection = formFactory.addDropdownSingleselect("keysSelection", this.flc, keysListArray, keysListArray, null);
    keysSelection.addActionListener(this, FormEvent.ONCHANGE);
    keysSelection.select(currentItem.getKey(), true);
    // Add reference box
    referenceArea = formFactory.addTextAreaElement("referenceArea", "edit.referenceArea", -1, 1, -1, true, null, this.flc);
    referenceArea.setEnabled(false); // read only
    // Add compare box
    Boolean compareEnabledPrefs = (Boolean) guiPrefs.get(I18nModule.class, I18nModule.GUI_PREFS_COMPARE_LANG_ENABLED, Boolean.FALSE);
    compareArea = formFactory.addTextAreaElement("compareArea", "edit.compareArea", -1, 1, -1, true, null, this.flc);
    compareArea.setEnabled(false); // read only
    compareArea.setVisible(compareEnabledPrefs.booleanValue());
    compareSwitch = formFactory.addCheckboxesHorizontal("compareSwitch", null, this.flc, new String[] { KEYS_ENABLED },
        new String[] { KEYS_EMPTY }, null);//i18nLabel set to null -> disabled label
    compareSwitch.select(KEYS_ENABLED, compareEnabledPrefs.booleanValue());
    compareSwitch.addActionListener(listener, FormEvent.ONCLICK);
    formLayout.add(compareSwitch);
    this.flc.contextPut("compareSwitchEnabled", compareEnabledPrefs);
    // Add compare language selection
    Set<String> availableLangKeys = I18nModule.getAvailableLanguageKeys();
    String[] comparelangKeys = ArrayHelper.toArray(availableLangKeys);
    String[] compareLangValues = new String[comparelangKeys.length];
    for (int i = 0; i < comparelangKeys.length; i++) {
      String key = comparelangKeys[i];
      String explLang = i18nMgr.getLanguageInEnglish(key, customizingMode);
      String all = explLang;
      if (explLang != null && !explLang.equals(key)) all += " (" + key + ")";
      compareLangValues[i] = all;
    }
    ArrayHelper.sort(comparelangKeys, compareLangValues, false, true, false);
    // Build css classes for comparison languages
    String[] compareLangCssClasses = i18nMgr.createLanguageFlagsCssClasses(comparelangKeys, "b_with_small_icon_left");
    String comparePrefs = (String) guiPrefs.get(I18nModule.class, I18nModule.GUI_PREFS_PREFERRED_COMPARE_LANG, I18nModule
        .getDefaultLocale().toString());
    compareLocale = i18nMgr.getLocaleOrNull(comparePrefs);
    if (compareLocale == null) compareLocale = I18nModule.getDefaultLocale();
    compareLangSelection = formFactory.addDropdownSingleselect("compareLangSelection", this.flc, comparelangKeys, compareLangValues,
        compareLangCssClasses);
    compareLangSelection.select(i18nMgr.getLocaleKey(compareLocale), true);
    this.flc.contextPut("compareLanguageKey", i18nMgr.getLocaleKey(compareLocale));
    compareLangSelection.addActionListener(this, FormEvent.ONCHANGE);
    compareLangSelection.setEnabled(compareEnabledPrefs.booleanValue());
    // Add target box
    this.flc.contextPut("targetLanguageKey", i18nMgr.getLocaleKey(currentItem.getLocale()));
    this.flc.contextPut("targetLanguage", i18nMgr.getLanguageTranslated(i18nMgr.getLocaleKey(currentItem.getLocale()), false));     
    targetArea = formFactory.addTextAreaElement("targetArea", "edit.targetArea", -1, 1, -1, true, null, this.flc);
    // Add annotation box
    annotationArea = formFactory.addTextAreaElement("annotationArea", "edit.annotationArea", -1, 1, -1, true, null, this.flc);
    // Add progress bar
    // init with values
    progressBarBundle = new ProgressBar("progressBarBundle", 200, 1, bundlesList.size(), translate("generic.bundles"));
    progressBarBundle.setPercentagesEnabled(false);
    this.flc.put("progressBarBundle", progressBarBundle);
View Full Code Here


   * (org.olat.core.gui.components.form.flexible.FormItemContainer,
   * org.olat.core.gui.control.Controller, org.olat.core.gui.UserRequest)
   */
  @Override
  protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
    FormUIFactory formFactory = FormUIFactory.getInstance();
    I18nManager i18nMgr = I18nManager.getInstance();
    List<String> bundleNames = I18nModule.getBundleNamesContainingI18nFiles();
    String[] bundlesKeys = buildBundleArrayKeys(bundleNames, true);
    String[] bundlesValues = buildBundleArrayValues(bundleNames, true);
    // call init methods for each form part
View Full Code Here

    String brasatoSrcPath = WebappHelper.getBrasatoSourcePath();
    vc.contextPut("coreAsJar",brasatoSrcPath);
    //TODO RH: check for enabled debug-mode in order to prevent caching!
//    vc.contextPut("cachingDisabled", I18nModule.isCachingEnabled());
   
    FormUIFactory formFactory = FormUIFactory.getInstance();
   
//    formFactory.addTextElement(name, maxLen, initialValue, i18nLabel, formItemContainer)
    putInitialPanel(vc);
  }
View Full Code Here

    glossItemSynonyms = glossaryItem.getGlossSynonyms();
    createOrUpdateSynonymLayout(formLayout, glossItemSynonyms);
  }

  private void createOrUpdateSynonymLayout(FormItemContainer formLayout, ArrayList<String> glossItemSynonymsToUse){
    FormUIFactory formUIf = FormUIFactory.getInstance();
    FormItem synLay = formLayout.getFormComponent("synonymLayout");
    if (synLay != null) {
      formLayout.remove("synonymLayout");
    }
    FormLayoutContainer tmpLayout = FormLayoutContainer.createCustomFormLayout("synonymLayout", getTranslator(), velocity_root
        + "/editSynonym.html");
    formLayout.add(tmpLayout);
    tmpLayout.setLabel("glossary.term.synonym", null);
       
    Collections.sort(glossItemSynonymsToUse);
    tmpLayout.contextPut("glossItemSynonyms", glossItemSynonymsToUse);

    // add input fields with existing synonyms
    synonymTextElementList = new ArrayList<TextElement>(glossItemSynonymsToUse.size());
    for (int synNum = 1; synNum < glossItemSynonymsToUse.size() + 1; synNum++) {
      TextElement tmpSynonymTE = formUIf.addTextElement(SYNONYM_TEXT_ELEMENT + synNum, null, 100, glossItemSynonymsToUse.get(synNum - 1), tmpLayout);
      synonymTextElementList.add(tmpSynonymTE);
    }

    // add delete-links for existing synonyms
    for (int linkNum = 1; linkNum < glossItemSynonymsToUse.size() + 1; linkNum++) {
      FormLink tmpRemoveButton = formUIf.addFormLink(CMD_DELETE_SYNONYM + linkNum, tmpLayout, Link.BUTTON_XSMALL);
      tmpRemoveButton.setUserObject(glossItemSynonymsToUse.get(linkNum - 1));
      tmpRemoveButton.setI18nKey("synonym.link.delete");
    }

    // add input field for new synonym
    newSynonymField = formUIf.addTextElement("synonym.inputfield", "glossary.term.synonym", 100, "", tmpLayout);
    newSynonymField.setVisible(true);
    newSynonymField.setLabel("synonym.inputfield", null);   
   
    formUIf.addFormSubmitButton("form.submit", tmpLayout);
  }
View Full Code Here

 
  // adds or updates the list of already existing attachments with a delete
  // button for each
  @SuppressWarnings("unchecked")
  private void createOrUpdateAttachmentListLayout(FormItemContainer formLayout) {
    FormUIFactory formUIf = FormUIFactory.getInstance();
    FormItem attachLayout = formLayout.getFormComponent("attachLayout");

    List<VFSItem> attachments = new ArrayList<VFSItem>();
    // add already existing attachments:
    if (message.getKey() != null) {
      OlatRootFolderImpl msgContainer = fm.getMessageContainer(message.getForum().getKey(), message.getKey());
      attachments.addAll(msgContainer.getItems(exclFilter));
    }
    // add files from TempFolder
    attachments.addAll(getTempFolderFileList());
   
    Collections.sort(attachments, new Comparator(){
      final Collator c = Collator.getInstance(getLocale());
      public int compare(final Object o1, final Object o2) {
        return c.compare(((VFSItem)o1).getName(), ((VFSItem)o2).getName());
      }});   
   
    FormLayoutContainer tmpLayout;
    if (attachLayout == null) {
      tmpLayout = FormLayoutContainer.createCustomFormLayout("attachLayout", getTranslator(), Util.getPackageVelocityRoot(this.getClass())
          + "/attachments-editview.html");
      formLayout.add(tmpLayout);
    } else {
      tmpLayout = (FormLayoutContainer) attachLayout;
    }
    tmpLayout.contextPut("attachments", attachments);
    tmpLayout.contextPut("myself", this);

    // add delete links for each attachment if user is allowed to see them
    int attNr = 1;
    for (Iterator<VFSItem> iterator = attachments.iterator(); iterator.hasNext();) {
      VFSItem tmpFile = iterator.next();
      FormLink tmpLink = formUIf.addFormLink(CMD_DELETE_ATTACHMENT + attNr, tmpLayout, Link.BUTTON_XSMALL);
      if (!(forumCallback.mayEditMessageAsModerator() || ((userIsMsgCreator) && (msgHasChildren == false)))) {
        tmpLink.setEnabled(false)
        tmpLink.setVisible(false);
      }
      tmpLink.setUserObject(tmpFile);
View Full Code Here

  protected void initForm(FormItemContainer formLayout, @SuppressWarnings("unused") Controller listener,
      @SuppressWarnings("unused") UserRequest ureq) {
    setFormTitle("config.fieldset.view");
    setFormContextHelp("org.olat.course.nodes.st", "ced-st-overview.html", "help.st.design");
    //
    FormUIFactory formFact = FormUIFactory.getInstance();
    // Display type
    String[] values_displayType = new String[] { translate("form.system"), translate("form.peekview"), translate("form.self") };
    displayTypeRadios = formFact.addRadiosVertical("selforsystemoverview", formLayout, keys_displayType, values_displayType);
    displayTypeRadios.addActionListener(this, FormEvent.ONCLICK);
    if (displayConfig.equals(STCourseNodeEditController.CONFIG_VALUE_DISPLAY_FILE)) {
      displayTypeRadios.select("file", true);
    } else if (displayConfig.equals(STCourseNodeEditController.CONFIG_VALUE_DISPLAY_PEEKVIEW)) {
      displayTypeRadios.select("peekview", true);
    } else {
      displayTypeRadios.select("system", true);
    }
    // Peekview details configuration - allow only MAX_PEEKVIEW_CHILD_NODES
    // peekviews to be selected
    if (selectedPeekviewChildKeys.length > 0) {
      SpacerElement spacerChild = formFact.addSpacerElement("spacerChild", formLayout, true);
      selectedPeekviewChildren = formFact.addCheckboxesVertical("selectedPeekviewChildren", formLayout, selectedPeekviewChildKeys,
          selectedPeekviewChildValues, selectedPeekviewChildCssClasses, 1);
      selectedPeekviewChildren.setLabel("selectedPeekviewChildren",
          new String[] { STCourseNodeConfiguration.MAX_PEEKVIEW_CHILD_NODES + "" });
      // visibility rules for peekview children selection
      RulesFactory.createHideRule(displayTypeRadios, "file", selectedPeekviewChildren, formLayout);
      RulesFactory.createHideRule(displayTypeRadios, "system", selectedPeekviewChildren, formLayout);
      RulesFactory.createShowRule(displayTypeRadios, "peekview", selectedPeekviewChildren, formLayout);
      RulesFactory.createHideRule(displayTypeRadios, "file", spacerChild, formLayout);
      RulesFactory.createHideRule(displayTypeRadios, "system", spacerChild, formLayout);
      RulesFactory.createShowRule(displayTypeRadios, "peekview", spacerChild, formLayout);
      // Pre-select configured keys. Discard configured selections that are not
      // found (e.g. deleted or moved nodes)
      String[] preSelectedChildNodes = (selectedPeekviewChildNodesConfig == null ? new String[0] : selectedPeekviewChildNodesConfig
          .split(","));
      for (String preSelectedNode : preSelectedChildNodes) {
        for (String selectableNode : selectedPeekviewChildKeys) {
          if (preSelectedNode.equals(selectableNode)) {
            selectedPeekviewChildren.select(selectableNode, true);
            break;
          }
        }
      }
      // Allow only MAX_PEEKVIEW_CHILD_NODES child nodes to be enabled
      if (selectedPeekviewChildren.getSelectedKeys().size() >= STCourseNodeConfiguration.MAX_PEEKVIEW_CHILD_NODES) {
        for (int i = 0; i < selectedPeekviewChildKeys.length; i++) {
          if (!selectedPeekviewChildren.isSelected(i)) {
            selectedPeekviewChildren.setEnabled(selectedPeekviewChildKeys[i], false);
          }
        }
      }
      // Pre-select the first MAX_PEEKVIEW_CHILD_NODES child nodes if none is
      // selected to reflect meaningfull default configuration
      if (selectedPeekviewChildren.getSelectedKeys().size() == 0) {
        for (int i = 0; i < selectedPeekviewChildKeys.length; i++) {
          if (i < STCourseNodeConfiguration.MAX_PEEKVIEW_CHILD_NODES) {
            selectedPeekviewChildren.select(selectedPeekviewChildKeys[i], true);
          } else {
            selectedPeekviewChildren.setEnabled(selectedPeekviewChildKeys[i], false);
          }
        }
      }
      // Add as listener for any changes
      selectedPeekviewChildren.addActionListener(this, FormEvent.ONCLICK);
    }
    //
    // Number of rows (only available in system or peekview type)
    SpacerElement spacerCols = formFact.addSpacerElement("spacerCols", formLayout, true);
    displayTwoColumns = formFact
        .addCheckboxesVertical("displayTwoColumns", formLayout, new String[] { "on" }, new String[] { "" }, null, 1);
    displayTwoColumns.setLabel("displayTwoColumns", null);
    if (columnsConfig == 2) {
      displayTwoColumns.selectAll();
    }
    if (displayConfig.equals(STCourseNodeEditController.CONFIG_VALUE_DISPLAY_FILE)) {
      displayTwoColumns.setVisible(false);
    }
    //
    // Visibility rules for display columns switch
    RulesFactory.createHideRule(displayTypeRadios, "file", displayTwoColumns, formLayout);
    RulesFactory.createShowRule(displayTypeRadios, "peekview", displayTwoColumns, formLayout);
    RulesFactory.createShowRule(displayTypeRadios, "system", displayTwoColumns, formLayout);
    RulesFactory.createHideRule(displayTypeRadios, "file", spacerCols, formLayout);
    RulesFactory.createShowRule(displayTypeRadios, "peekview", spacerCols, formLayout);
    RulesFactory.createShowRule(displayTypeRadios, "system", spacerCols, formLayout);
    //
    formFact.addFormSubmitButton("submit", formLayout);
  }
View Full Code Here

   */
  @Override
  protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
    setFormTitle("inline.editing.flexiform");
    setFormDescription("inline.editing.flexiform.rem");
    FormUIFactory formUIf = FormUIFactory.getInstance();
    int i=0;
    for (; i < elements.length; i++) {
      elements[i] = formUIf.addInlineTextElement("inline.label.text"+i, "some", formLayout, this);
      elements[i].setLabel("inline.label.text", null);
      elements[i].setNotLongerThanCheck(5, "text.element.error.notlongerthan");
      if(i%2 == 0){
        elements[i].setEnabled(false);
      }
    }
    int ii = 0;
    for (; ii < intelems.length; ii++) {
      intelems[ii] = formUIf.addInlineIntegerElement("inline.label.int"+i+ii, i+ii, formLayout, this);
      intelems[ii].setLabel("inline.label.integer", null);
      if(ii%2 == 0){
        intelems[ii].setEnabled(false);
      }
    }
   
    // test for inline editable label field
    // the inlineLable is used as Label for the addStaticTextElement
    // Avoid translation error by setting i18nLabel key null first and then set the LabelComponent, and also you need to call showLabel(true)
    inlineLabel = formUIf.addInlineTextElement("inline.label.int"+i+ii+1, "mytext"+i+ii+1, formLayout, null);
    StaticTextElement theElement = formUIf.addStaticTextElement("inline.label.text"+i+ii,  null,"my bony", formLayout);
    theElement.setLabelComponent(inlineLabel, formLayout).showLabel(true);
   
   
  }
View Full Code Here

TOP

Related Classes of org.olat.core.gui.components.form.flexible.FormUIFactory

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.