Uploaded image for project: 'MyFaces Tomahawk'
  1. MyFaces Tomahawk
  2. TOMAHAWK-1678

Generation t:checkbox ID with layout='spread'

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 1.1.14
    • None
    • Extended SelectItems
    • None
    • GlassFish 4.1
      Tomohawk 1.1.14
      JSF 2.2
      Windows 7
      Primefaces 4.0

    Description

      I generate such blocks of two types: in the first case I use component t:selectOneMenu with property layout='spread' and in the second I use t:selectManyCheckbox. In both of them I hang handler f:ajax and generates t:radio and t:checkbox respectively. On page property id for input type="radio" (for t:radio) is generated in form 'j_idt ***', and property id for input type="'checkbox' is generated in the form id_selectManyCheckbox:index because of which the processing in the event onclick obtained here such line mojarra.ab ('id_selectManyCheckbox', event, 'change', 0, 'q-smc-div-2 q-smc-panel-2') and ajax request is not processed for t:selectManyCheckbox. For selectOneMenu line also looks mojarra.ab ('j_idt1757', event, 'change', 0, 'q-sor-div-34 q-sor-panel-34') and ajax request is executed.

      <c:forEach items="#

      {createTopicBean.currentTopic.questions}

      " var="ques" varStatus="loopQues">
      <c:if test="#

      {ques.type ne 4}

      ">
      <p:row>
      <p:column>
      <h:outputLabel value="#

      {ques.position}. #{ques.description}"/>
      <c:if test="#{ques.type eq 2 and ques.countAns eq 1}">
      <t:selectOneRadio id="q-sor-#{ques.position}

      -#

      {loopQues.index}" converter="#{selectOneAnsBean}"
      value="#{ques.selectedAnswer}" layout="spread" > <!-TODO required="true"->
      <f:selectItems value="#{ques.qSelectItem}" itemLabel="#{ans.description}" />
      <f:ajax event="change" render="q-sor-div-#{ques.position} :createinterviewform:q-sor-panel-#{ques.position}" />
      </t:selectOneRadio>
      </c:if>
      <c:if test="#{ques.type eq 2 and ques.countAns eq 2}">
      <t:selectManyCheckbox id="q-smc-#{ques.position}-#{loopQues.index}

      " converter="#

      {selectManyAnsBean}

      "
      value="#

      {ques.selectedAnswers}

      " layout="spread" forceId="true" > <!-TODO required="true"->
      <f:selectItems value="#

      {ques.qSelectItem}" itemLabel="#{ans.description}" />
      <f:ajax event="change" render="q-smc-div-#{ques.position} :createinterviewform:q-smc-panel-#{ques.position}" />
      </t:selectManyCheckbox>
      </c:if>
      </p:column>
      <p:column>
      <!-TODO Колонка для валидации ответов на вопрос->
      </p:column>
      </p:row>

      <!-BEGIN->
      <c:if test="#{ques.type eq 2 and ques.countAns eq 1}">
      <p:row>
      <p:column colspan="2">
      <p:outputPanel id="q-sor-div-#{ques.position}">
      <p:panelGrid id="q-sor-panel-#{ques.position}">
      <c:forEach items="#{ques.qSelectItem}

      " var="ans" varStatus="loopAns">
      <p:row>
      <p:column colspan="2" class="rightMarg" >
      <c:if test="#

      {ans ne null}">
      <t:radio for=":createinterviewform:q-sor-#{ques.position}-#{loopQues.index}" index="#{loopAns.index}" />
      </c:if>
      <c:if test="#{ques.selectedAnswer.id ne 999 and ques.selectedAnswer.id gt 980}">
      <p:outputPanel rendered="#{ans.value ne 999 and ans.value gt 980}" layout="inline">
      <p:inputText value="#{ques.userDescription}" style="width:140px;margin-left: 20px;" /> <!-TODO required="true"->
      </p:outputPanel>
      </c:if>
      </p:column>
      </p:row>
      </c:forEach>
      </p:panelGrid>
      </p:outputPanel>
      </p:column>
      </p:row>
      </c:if>
      <!-END->

      <!-BEGIN->
      <c:if test="#{ques.type eq 2 and ques.countAns eq 2}">
      <p:row>
      <p:column colspan="2">
      <p:outputPanel id="q-smc-div-#{ques.position}">
      <p:panelGrid id="q-smc-panel-#{ques.position}">
      <c:forEach items="#{ques.answers}" var="ans" varStatus="loopAns">
      <p:row>
      <p:column colspan="2" class="rightMarg" >
      <c:if test="#{ans ne null}

      ">
      <t:checkbox t:id="a-smc-#

      {ques.position}#{loopQues.index}#{loopAns.index}" for=":createinterviewform:q-smc-#{ques.position}

      -#

      {loopQues.index}

      " index="#

      {loopAns.index}

      " />
      </c:if>
      </p:column>
      </p:row>
      </c:forEach>
      </p:panelGrid>
      </p:outputPanel>
      </p:column>
      </p:row>
      </c:if>
      </c:forEach>

      Attachments

        Activity

          People

            Unassigned Unassigned
            Craike Alexey Poryadny
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: