Examples of UINode


Examples of org.apache.myfaces.trinidadinternal.ui.UINode

    }

    // get name
    String nameString = _getNameString(context, navBar);

    UINode backButton = null;
    UINode nextButton = null;

    // set up the back button
    if (showBackButton)
    {
      BoundValue buttonTextandAccessKeyBV =
                           new SkinTranslatedBoundValue( _SINGLE_BACK_TEXT_KEY);


      Object buttonTextBV = new AccessKeyBoundValue(buttonTextandAccessKeyBV,
                                                    false);

      Object buttonAccessKeyBV = new AccessKeyBoundValue(
                                                    buttonTextandAccessKeyBV,
                                                    true);
      // set the destination.
      if (formName == null)
      {
        backButton = createSingleItemURLButton(
                                    context,
                                    true,
                                    buttonTextBV,
                                    buttonAccessKeyBV,
                                    getSingleDestinationURL(context,
                                                            navBar,
                                                            eventKey,
                                                            sourceKey,
                                                            nameString,
                                                            valueKey,
                                                            currentValue-1));
      }
      else
      {
        if (supportsScripting)
        {
          backButton = createSingleItemSubmitButton(
                                  context,
                                  true,
                                  buttonTextBV,
                                  buttonAccessKeyBV,
                                  getSingleDestinationSubmit( context,
                                                              navBar,
                                                              formName,
                                                              eventKey,
                                                              sourceKey,
                                                              nameString,
                                                              valueKey,
                                                              currentValue - 1,
                                                              false));
        }
        else
        {
          backButton = createSubmitButton(context,
                                           buttonTextBV,
                                           buttonAccessKeyBV,
                                           null,
                                           formName,
                                           false,
                                           eventKey,
                                           sourceKey,
                                           nameString,
                                           valueKey,
                                           currentValue - 1,
                                           null,
                                           -1);
        }
      }
    }

    // set up the next button
    if (showNextButton)
    {

      String buttonTextKey = ((totalItems == 2)
                              ? _SINGLE_CONTINUE_TEXT_KEY
                              : _SINGLE_NEXT_TEXT_KEY);

      BoundValue buttonTextandAccessKeyBV =
                           new SkinTranslatedBoundValue(buttonTextKey);


      Object buttonTextBV = new AccessKeyBoundValue( buttonTextandAccessKeyBV,
                                                     false);

      Object buttonAccessKeyBV = new AccessKeyBoundValue(
                                                      buttonTextandAccessKeyBV,
                                                      true);

      // The navBar needs its initial focus to be on the Next button,
      // according to the BLAF. Render a special id on the Next button
      // if this navBar is to have the initial focus. (unless it needs
      // initial focus, the Next button does not have an id on it)
      String buttonID = _getIDForFocus(context, navBar);

      if (formName == null)
      {

        MutableUINode mutableNextButton =
            createSingleItemURLButton(
                                     context,
                                     false,
                                     buttonTextBV,
                                     buttonAccessKeyBV,
                                     getSingleDestinationURL(context,
                                                             navBar,
                                                             eventKey,
                                                             sourceKey,
                                                             nameString,
                                                             valueKey,
                                                             currentValue+1));
        if (buttonID != null)
        {
          mutableNextButton.setID(buttonID);
        }
        nextButton = mutableNextButton;
      }
      else
      {

        // set the destination
        if (supportsScripting)
        {
          MutableUINode mutableNextButton =
          createSingleItemSubmitButton(
                                       context,
                                       false,
                                       buttonTextBV,
                                       buttonAccessKeyBV,
                                       getSingleDestinationSubmit(
                                                  context,
                                                  navBar,
                                                  formName,
                                                  nameString,
                                                  currentValue + 1,
                                                  true));
          if (buttonID != null)
          {
            mutableNextButton.setID(buttonID);
          }
          nextButton = mutableNextButton;
        }
        else
        {

          nextButton = createSubmitButton(context,
                                           buttonTextBV,
                                           buttonAccessKeyBV,
                                           buttonID,
                                           formName,
                                           false,
                                           eventKey,
                                           sourceKey,
                                           nameString,
                                           valueKey,
                                           currentValue + 1,
                                           null,
                                           -1);
        }
      }
    }

    // start the rendering
    ResponseWriter writer = context.getResponseWriter();
    boolean renderAsTable = _renderAsTable(context, navBar);

    if (renderAsTable)
    {
      writer.startElement("table", navBar.getUIComponent());
      renderLayoutTableAttributes(context, "0", null);
      renderID(context, navBar);
      writer.startElement("tr", null);
    }
    // we only want to render the ID in the "td" if renderAsTable is false.
    // render the base ID the first time only, then we render the subIDs.
    _renderStartTableCell(context, navBar, writer, renderAsTable, true);

    // don't render back button on first step
    if (showBackButton)
    {
      backButton.render(context);
      writer.endElement("td");

      _renderSpacerCell(context);
      // we only want to render the ID in the "td" if renderAsTable is false.
      // render the subID.
      _renderStartTableCell(context, navBar, writer, renderAsTable, false);

    }

    //
    // create the label and render it
    //
    writer.writeAttribute(NOWRAP_ATTRIBUTE, Boolean.TRUE, null);

    // Now, we create one of two things.  Normally, we'll create
    // a simple range string.  But, when there are link children,
    // we create a ChoiceBean
    if ((childCount == 0) ||
        // No form when we require one means no choice
        ((formName == null) && requiresForm(context)) ||
        // No scripting also means no choice
        !supportsScripting(context))
    {
      // No "Step 1 of X" when there's 1 or two steps
      if (totalItems > 2)
      {
        // the string to be displayed between buttons
        String rangeString = _getRangeString(context,
                                             navBar,
                                             currentValue,
                                             SINGLE_STEP,
                                             totalItems,
                                             null);

        MarlinBean stepLabel = new MarlinBean(STYLED_TEXT_NAME);
        stepLabel.setAttributeValue(TEXT_ATTR, rangeString);
        stepLabel.setStyleClass(NAV_BAR_VIEW_STYLE_CLASS);
        stepLabel.render(context);
      }
    }
    else
    {
      // Gather the children
      DataObjectList links = LinkDataObject.getLinkDataList(context,
                                                            navBar);
      MarlinBean     choice = new MarlinBean(CHOICE_NAME);

      int maxVisited = (int) currentValue;
      Object maxVisitedObj = navBar.getAttributeValue(context,
                                                      MAX_VISITED_ATTR);
      if (maxVisitedObj instanceof Number)
        maxVisited = ((Number) maxVisitedObj).intValue();

      // Sanity check the "maxVisited" attribute
      maxVisited = Math.min(maxVisited,
                            links == null ? 0 : links.getLength());
      // Add one option per link, but only go up to the "maxVisited"
      // value.  (BTW, since maxVisited is 1-indexed, but i is 0-indexed,
      // this is an _inclusive_ range here)
      for (int i = 0; i < maxVisited; i++)
      {
        DataObject link = links.getItem(i);
        MarlinBean option = new MarlinBean(OPTION_NAME);
        option.setAttributeValue(TEXT_ATTR,
                                 link.selectValue(context, TEXT_ATTR));
        option.setAttributeValue(VALUE_ATTR, IntegerUtils.getString(i + 1));

        if (currentValue == i + 1)
          option.setAttributeValue(SELECTED_ATTR, Boolean.TRUE);
        choice.addIndexedChild(option);
      }

      if (choice.getIndexedChildCount(context) > 0)
      {
        String onChange;

        // get name
        String name = _getNameString(context, navBar);

        // Two options: formSubmitted mode and non-formSubmitted mode.
        // First, non-formSubmitted mode.
        if (formName == null)
        {
          onChange = _getChoiceOnChange(context,
                                        _getDestinationString(context, navBar),
                                        sourceKey,
                                        eventKey,
                                        name,
                                        null,
                                        null);
        }
        else
        {
          onChange = _getChoiceOnChangeFormSubmitted(context,
                                                     navBar,
                                                     formName,
                                                     eventKey,
                                                     sourceKey,
                                                     name,
                                                     partialTargetsKey,
                                                     null);
        }

        choice.setAttributeValue(ON_CHANGE_ATTR, onChange);
      }
      else
      {
        choice.setAttributeValue(READ_ONLY_ATTR, Boolean.TRUE);
      }

      choice.render(context);
    }

    // don't render the next button on last step
    if (showNextButton)
    {
      writer.endElement("td");

      _renderSpacerCell(context);

      _renderStartTableCell(context, navBar, writer, renderAsTable, false);

      nextButton.render(context);
    }

    writer.endElement("td");

    if (renderAsTable)
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.