Login  Register

fr:autocomplete is showing the value in repeat in edit mode

Posted by lakshmipmandava on Dec 03, 2010; 11:47am
URL: https://discuss.orbeon.com/fr-autocomplete-is-showing-the-value-in-repeat-in-edit-mode-tp3070952.html

Hi All,

I implemented fr:autocomplete in xforms:repeat to populate autocomplete values. once i search the value and set and save the document. Later would like edit the values in repeat for the autocomplete value, but form displays empty value which was filled already.


                <xforms:case id="case-2">
                    <div>
                        <div class="case-item">

                            <div id="spacediv" />

                                                                                                                                                                                                                                                                                                                    <xforms:repeat id="consultation"
                                               model="clinicalExaminationModel"
                                               nodeset="instance('clinicalExamniationInstance')/consls/consl">
                                                                                                                                                                                                                                                                                                                                                   <xforms:setvalue ref="@modified" value="seconds-from-dateTime(now())" ev:event="xforms-value-changed"/>
                                </xforms:repeat>
                           
DateDoctor NameDiagnosed ConditionPrescribed Medicines<br/>(Name Dosage Duration)Prescribed TestsDetails
                                        <xforms:output ref="ConslDate"/>
                                   
                                        <xforms:output ref="Doc"/>

                                   
                                        <xforms:output ref="HP" class="item-amount" />
                                   
                                        <xforms:repeat nodeset="Medicines/Medicine">
                                                                                                 </xforms:repeat>
                                       
                                            <xforms:output ref="Name" class="item-amount" />
                                           
                                            <xforms:output ref="Dosage" class="item-amount" />
                                           
                                            <xforms:output ref="Duration" class="item-amount" />
                                           
                                   
                                        <xforms:repeat nodeset="Tests/test">
                                                                                    </xforms:repeat>
                                       
                                            <xforms:output ref="@name" class="item-amount" />
                                           
                                   
                                        <xforms:trigger appearance="minimal">
                                            <xforms:label>Details</xforms:label>
                                            <xforms:toggle case="c022"
                                                           ev:event="DOMActivate" />
                                            <xforms:action
                                                ev:event="DOMActivate">
                                                <xforms:setvalue
                                                    ref="instance('consl-num')/consl"
                                                    value="index('consultation')" />
                                                <xforms:toggle
                                                    case="case-3" />
                                            </xforms:action>
                                        </xforms:trigger>
                                        <xforms:trigger appearance="minimal">
                                            <xforms:label>Print</xforms:label>
                                             <xforms:action ev:event="DOMActivate">
                                                  <xforms:setvalue ref="instance('consl-num')/consl" value="index('consultation')"/>
                                                  <xforms:setvalue ref="instance('consultation1')" value="concat('/${pageContext.request.contextPath}/strts/printPrescription?department=general&amp;cardId=<%= request.getParameter("cardId") %>', instance('user-name'))"/>
                                                  <xforms:setvalue ref="instance('consultation1')" value="concat(instance('consultation1'), '&amp;conslDate=')"/>
                                                  <xforms:setvalue ref="instance('consultation1')" value="concat(instance('consultation1'), instance('clinicalExamniationInstance')/consls/consl[number(instance('consl-num')/consl)]/ConslDate)"/>
                                           <xforms:load ref="instance('consultation1')" show="new" ev:event="DOMActivate"/>
                                             </xforms:action>
                                      </xforms:trigger>
                                       
                                       

                                   
                            <br />
                            <xforms:trigger id="dtr">
                                <xforms:label>Add Consultation</xforms:label>
                                <xforms:action ev:event="DOMActivate">
                                    <xforms:insert position="after"
                                                   origin="instance('template-consl')"
                                                   nodeset="instance('clinicalExamniationInstance')/consls/consl[last()]" at="last()"/>
                                   
                                    <xforms:setvalue ref="instance('clinicalExamniationInstance')/consls/consl[last()]/ConslDate" value="''" />
                                    <xforms:setvalue ref="instance('clinicalExamniationInstance')/consls/consl[last()]/Doc" value="''" />
                                    <xforms:setvalue ref="instance('clinicalExamniationInstance')/consls/consl[last()]/@created" value="seconds-from-dateTime(now())"/>
                                    <xforms:setvalue ref="instance('clinicalExamniationInstance')/consls/consl[last()]/@modified" value="seconds-from-dateTime(now())"/>
                                    <xforms:setvalue ref="instance('consl-num')/consl" value="index('consultation')"/>
                                    <xforms:toggle case="case-3" />
                                </xforms:action>
                            </xforms:trigger>

                            <br />
                        </div>
                    </div>
                </xforms:case>
                <xforms:case id="case-3">
                    <div>
                        <div class="case-item">
                            <div class="datacontent_subtit">
                                Consultation
                            </div>
                                                                                                                                                                                                                                                                                                                                                                                                                           
Consultation DateDoctorDiagnosed Condition
                                            <xforms:input appearance="date" ref="instance('clinicalExamniationInstance')/consls/consl[number(instance('consl-num')/consl)]/ConslDate"/>
                                   
                                           
                                            <xforms:select1 ref="instance('clinicalExamniationInstance')/consls/consl[number(instance('consl-num')/consl)]/Doc" selection="open" appearance="xxforms:autocomplete" incremental="true">
                                                  <xforms:itemset nodeset="instance('suggest-resultsdoctors')/dc">
                                                      <xforms:label ref="dname"/>
                                                      <xforms:value ref="dname"/>
                                                  </xforms:itemset>
                                            </xforms:select1>

                                   
                                    <xforms:input  ref="instance('clinicalExamniationInstance')/consls/consl[number(instance('consl-num')/consl)]/HP"/>
                               
                        </div>
                        <div class="case-item">
                            <div class="datacontent_subtit">Prescribed Medicines</div>
                                                                                                                                                                                                                      <xforms:repeat id="medications-list" nodeset="instance('clinicalExamniationInstance')/consls/consl[number(instance('consl-num')/consl)]/Medicines/Medicine">
                                                                                                                                                                                                    
                                          <xforms:setvalue ref="@modified" value="seconds-from-dateTime(now())" ev:event="xforms-value-changed" />
                                                                       </xforms:repeat>
                           
Medicine NameDosageDuration(in days)
                                         

                                           <fr:autocomplete ref="Name" dynamic-itemset="false" value="Name">
                                                        <xforms:itemset nodeset="instance('suggest-resultsmedn')/medname">
                                                            <xforms:label ref="name"/>
                                                            <xforms:value ref="name"/>
                                                        </xforms:itemset>
                                                    </fr:autocomplete>
                                       
                                            <xforms:input ref="Dosage" incremental="true">
                                                    <xforms:setvalue ref="instance('consl-num')/mlno" value="index('medications-list')" ev:event="DOMFocusIn" />
                                            </xforms:input>
                                       
 <xforms:input ref="Duration" />
                            <xforms:trigger>
                                <xforms:label>Add Medicine</xforms:label>
                                <xforms:action ev:event="DOMActivate">
                                    <xforms:insert nodeset="instance('clinicalExamniationInstance')/consls/consl[number(instance('consl-num')/consl)]/Medicines/Medicine[last()]" position="after" at="last()" />
                                    <xforms:setvalue ref="instance('clinicalExamniationInstance')/consls/consl[number(instance('consl-num')/consl)]/Medicines/Medicine[last()]/Name" value="''" />
                                    <xforms:setvalue ref="instance('clinicalExamniationInstance')/consls/consl[number(instance('consl-num')/consl)]/Medicines/Medicine[last()]/Dosage" value="''" />
                                    <xforms:setvalue ref="instance('clinicalExamniationInstance')/consls/consl[number(instance('consl-num')/consl)]/Medicines/Medicine[last()]/Duration" value="''" />
                                </xforms:action>
                            </xforms:trigger>
                        </div>
                        <div class="case-item">
                            <div class="datacontent_subtit">Prescribed Tests</div>
                                                                                                                                                                                                 
                            <xforms:repeat id="m0022"
                                           model="clinicalExaminationModel"
                                           nodeset="instance('clinicalExamniationInstance')/consls/consl[number(instance('consl-num')/consl)]/Tests/test">

                                   
                                                                                                                                                                                                  </xforms:repeat>
                           
Test NameInstructions
                                    <xforms:input model="clinicalExaminationModel" ref="@name"/>
                                 
                                    <xforms:input model="clinicalExaminationModel" ref="Instruction"/>
                                 
                                    <xforms:repeat nodeset="result[1]">
                                        <xforms:trigger>
                                            <xforms:action ev:event="DOMActivate">
                                                <xforms:label>View Test Results</xforms:label>
                                                <xforms:setvalue ref="instance('consl-num')/test" value="index('m0022')" />
                                               
                                                <xforms:load resource="javascript:showDiv('case-4');"/>
                                            </xforms:action>
                                        </xforms:trigger>
                                    </xforms:repeat>
                               
                                                                                                                                                           
                                <xforms:trigger>
                                    <xforms:label>
                                                                                                Add Test
                                    </xforms:label>
                                    <xforms:action
                                        ev:event="DOMActivate">
                                        <xforms:insert
                                            origin="instance('template-test')"
                                            nodeset="instance('clinicalExamniationInstance')/consls/consl[number(instance('consl-num')/consl)]/Tests/test[last()]"
                                            at="last()" />
                                       
                                        <xforms:setvalue
                                            ref="instance('clinicalExamniationInstance')/consls/consl/Tests/test[last()]/Name"
                                            value="''" />
                                        <xforms:setvalue
                                            ref="instance('clinicalExamniationInstance')/consls/consl/Tests/test[last()]/Instruction"
                                            value="''" />
                                    </xforms:action>
                                </xforms:trigger>
                                <br />
                               

Please help me if any one has solution for this.

Thanks