← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 19273: tracker and event capture now present textarea for text data elements of type longText.

 

------------------------------------------------------------
revno: 19273
committer: Abyot Asalefew Gizaw <abyota@xxxxxxxxx>
branch nick: dhis2
timestamp: Wed 2015-06-03 14:18:22 +0200
message:
  tracker and event capture now present textarea for text data elements of type longText.
modified:
  dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-capture/views/defaultForm.html
  dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/default-form.html


--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk

Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-capture/views/defaultForm.html'
--- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-capture/views/defaultForm.html	2015-06-02 12:25:03 +0000
+++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-capture/views/defaultForm.html	2015-06-03 12:18:22 +0000
@@ -30,8 +30,7 @@
                            max-date='0'
                            ng-model="currentEvent.eventDate"
                            ng-disabled="editingEventInFull"    
-                           ng-required="true" 
-                           
+                           ng-required="true"                            
                            d2-date-validator
                            name="eventDate" 
                            input-field-id='eventDate' 
@@ -45,8 +44,7 @@
                     {{'latitude'| translate}}<span class="pull-right"><a href ng-click="showMap(currentEvent)" title="{{'get_from_map'| translate}}"><i class="fa fa-map-marker fa-2x"></i></a></span>
                 <td>
                     <input type="number" 
-                           ng-model="currentEvent.coordinate.latitude"   
-                           
+                           ng-model="currentEvent.coordinate.latitude"                              
                            name="latitude"
                            d2-coordinate-validator
                            ng-required="false"
@@ -61,8 +59,7 @@
                 </td>
                 <td>
                     <input type="number" 
-                           ng-model="currentEvent.coordinate.longitude"   
-                           
+                           ng-model="currentEvent.coordinate.longitude"                             
                            name="longitude" 
                            d2-coordinate-validator
                            ng-required="false"
@@ -128,7 +125,8 @@
                                         ng-required={{eventGridColumn.compulsory}}
                                         name="foo" 
                                         input-field-id={{eventGridColumn.id}} 
-                                        style="width:99%;"/>                  
+                                        style="width:99%;">
+                                    </textarea>
                                 </span>
                                 <span ng-if="eventGridColumn.textType!=='longText'">
                                     <input type="text"                                             
@@ -154,8 +152,7 @@
                                 <input type="text"                                                                
                                        placeholder="{{dhis2CalendarFormat.keyDateFormat}}"
                                        d2-date
-                                       max-date="prStDes[eventGridColumn.id].allowFutureDate ? '' : 0" 
-                                       
+                                       max-date="prStDes[eventGridColumn.id].allowFutureDate ? '' : 0"                                        
                                        d2-date-validator
                                        ng-model="currentEvent[eventGridColumn.id]"                                                               
                                        ng-required={{eventGridColumn.compulsory}}
@@ -170,6 +167,14 @@
                                        name="foo" 
                                        input-field-id={{eventGridColumn.id}} />
                             </div>
+                            <div ng-switch-default>
+                                <input type="text"                                             
+                                    ng-model="currentEvent[eventGridColumn.id]"                                        
+                                    ng-required={{eventGridColumn.compulsory}}
+                                    name="foo" 
+                                    input-field-id={{eventGridColumn.id}} 
+                                    style="width:99%;"/> 
+                            </div>
                         </div>                        
                         <div ng-messages="innerForm.foo.$error" ng-if="interacted(innerForm.foo)" class="required" ng-messages-include="../dhis-web-commons/angular-forms/error-messages.html">                                         
                         </div>
@@ -179,6 +184,8 @@
         </tbody>
     </table>    
 </div>
+
+
 <div ng-class="" ng-if='selectedProgramStage.programStageSections.length'>
     <table class="dhis2-list-table-striped">        
         <tbody>
@@ -201,8 +208,7 @@
                            max-date='0'
                            ng-model="currentEvent.eventDate"
                            ng-disabled="editingEventInFull"    
-                           ng-required="true" 
-                           
+                           ng-required="true"                            
                            d2-date-validator
                            name="eventDate" 
                            input-field-id='eventDate' 
@@ -217,8 +223,7 @@
                 </td>
                 <td>
                     <input type="number" 
-                           ng-model="currentEvent.coordinate.latitude"   
-                           
+                           ng-model="currentEvent.coordinate.latitude"                             
                            name="latitude"
                            d2-coordinate-validator
                            ng-required="false"
@@ -233,8 +238,7 @@
                 </td>
                 <td>
                     <input type="number" 
-                           ng-model="currentEvent.coordinate.longitude"   
-                           
+                           ng-model="currentEvent.coordinate.longitude"                              
                            name="longitude" 
                            d2-coordinate-validator
                            ng-required="false"
@@ -264,65 +268,71 @@
                             {{prStDes[de.dataElement.id].dataElement.formName ? prStDes[de.dataElement.id].dataElement.formName : prStDes[de.dataElement.id].dataElement.name}}<span ng-if="prStDes[de.dataElement.id].compulsory" class="required">*</span>                        </td>
                         <td >
                             <ng-form name="innerForm">
-                                <div ng-switch="prStDes[de.dataElement.id].dataElement.type">
+                                <div ng-if="prStDes[de.dataElement.id].dataElement.optionSetValue">
+                                    <span ng-if="!selectedProgram.dataEntryMethod || optionSets[prStDes[de.dataElement.id].dataElement.optionSet.id].options.length > 8">
+                                        <input type="text"
+                                               class="typeahead"
+                                               placeholder="&#xf0d7;&nbsp;&nbsp;"                                                         
+                                               ng-model="currentEvent[de.dataElement.id]"
+                                               typeahead="option.name as option.name for option in optionSets[prStDes[de.dataElement.id].dataElement.optionSet.id].options | filter:$viewValue | limitTo:20" 
+                                               typeahead-focus-first="false"  
+                                               typeahead-editable=false
+                                               ng-required={{prStDes[de.dataElement.id].compulsory}}
+                                               name="foo" 
+                                               input-field-id={{de.dataElement.id}} 
+                                               style="width:98%;"/>
+                                    </span>
+                                    <span ng-if="selectedProgram.dataEntryMethod && prStDes[de.dataElement.id].dataElement.optionSet.options.length < 7">                                    
+                                        <label>
+                                            <input type="radio" 
+                                                   name="foo"  
+                                                   input-field-id={{de.dataElement.id}} 
+                                                   ng-required={{prStDes[de.dataElement.id].compulsory}}
+                                                   ng-model="currentEvent[de.dataElement.id]"
+                                                   value=""> {{'no_value' | translate}}<br>
+                                        </label>                                    
+                                        <label ng-repeat="option in optionSets[prStDes[de.dataElement.id].dataElement.optionSet.id].options">
+                                            <input type="radio" 
+                                                   name={{de.dataElement.id}}   
+                                                   input-field-id={{de.dataElement.id}} 
+                                                   ng-required={{prStDes[de.dataElement.id].compulsory}}
+                                                   ng-model="currentEvent[de.dataElement.id]"
+                                                   value={{option.name}}> {{option.name}}<br>                                        
+                                        </label>
+                                    </span>
+                                </div>
+                                <div ng-if="!prStDes[de.dataElement.id].dataElement.optionSetValue" ng-switch="prStDes[de.dataElement.id].dataElement.type">
                                     <div ng-switch-when="int">
                                         <input type="number"                                                
                                                d2-number-validator 
                                                number-type={{prStDes[de.dataElement.id].dataElement.numberType}}
-                                               ng-model="currentEvent[de.dataElement.id]" 
-                                               
+                                               ng-model="currentEvent[de.dataElement.id]"                                                
                                                ng-required={{prStDes[de.dataElement.id].compulsory}}
                                                name="foo" 
                                                input-field-id={{de.dataElement.id}} 
                                                style="width:99%;"/>
                                     </div>
                                     <div ng-switch-when="string">
-                                        <div class="container-fluid" ng-if="prStDes[de.dataElement.id].dataElement.optionSet">                                
-                                            <div class="overflow-visible" ng-if="!selectedProgram.dataEntryMethod || optionSets[prStDes[de.dataElement.id].dataElement.optionSet.id].options.length > 8">
-                                                <input type="text"
-                                                       class="typeahead"
-                                                       placeholder="&#xf0d7;&nbsp;&nbsp;"                                                         
-                                                       ng-model="currentEvent[de.dataElement.id]"
-                                                       typeahead="option.name as option.name for option in optionSets[prStDes[de.dataElement.id].dataElement.optionSet.id].options | filter:$viewValue | limitTo:20" 
-                                                       typeahead-focus-first="false"  
-                                                       typeahead-editable=false
-                                                       ng-required={{prStDes[de.dataElement.id].compulsory}}
-                                                       name="foo" 
-                                                       input-field-id={{de.dataElement.id}} 
-                                                       style="width:98%;"/>
-                                            </div>
-                                            <span ng-if="selectedProgram.dataEntryMethod && prStDes[de.dataElement.id].dataElement.optionSet.options.length < 7">                                    
-                                                <label>
-                                                    <input type="radio" 
-                                                           name="foo"  
-                                                           input-field-id={{de.dataElement.id}} 
-                                                           ng-required={{prStDes[de.dataElement.id].compulsory}}
-                                                           ng-model="currentEvent[de.dataElement.id]"
-                                                           value=""> {{'no_value' | translate}}<br>
-                                                </label>                                    
-                                                <label ng-repeat="option in optionSets[prStDes[de.dataElement.id].dataElement.optionSet.id].options">
-                                                    <input type="radio" 
-                                                           name={{de.dataElement.id}}   
-                                                           input-field-id={{de.dataElement.id}} 
-                                                           ng-required={{prStDes[de.dataElement.id].compulsory}}
-                                                           ng-model="currentEvent[de.dataElement.id]"
-                                                           value={{option.name}}> {{option.name}}<br>                                        
-                                                </label>
-                                            </span>
-                                        </div>
-                                        <div ng-if="!prStDes[de.dataElement.id].dataElement.optionSet">
-                                            <input type="text"                                                  
-                                                ng-model="currentEvent[de.dataElement.id]"
-                                                
-                                                ng-required={{prStDes[de.dataElement.id].compulsory}}
-                                                name="foo" 
-                                                input-field-id={{de.dataElement.id}} 
-                                                style="width:99%;"/>
-                                        </div>
+                                        <span ng-if="prStDes[de.dataElement.id].dataElement.textType==='longText'">
+                                            <textarea rows="3"
+                                                ng-model="currentEvent[de.dataElement.id]"                                       
+                                                ng-required={{prStDes[de.dataElement.id].compulsory}}
+                                                name="foo" 
+                                                input-field-id={{de.dataElement.id}} 
+                                                style="width:99%;">
+                                            </textarea>
+                                        </span>
+                                        <span ng-if="prStDes[de.dataElement.id].dataElement.textType!=='longText'">
+                                            <input type="text"                                             
+                                                ng-model="currentEvent[de.dataElement.id]"                                   
+                                                ng-required={{prStDes[de.dataElement.id].compulsory}}
+                                                name="foo" 
+                                                input-field-id={{de.dataElement.id}} 
+                                                style="width:99%;"/>                  
+                                        </span>
                                     </div>
                                     <div ng-switch-when="bool">
-                                        <select ng-model="currentEvent[de.dataElement.id]"      
-                                                
+                                        <select ng-model="currentEvent[de.dataElement.id]"                                                 
                                                 ng-required={{prStDes[de.dataElement.id].compulsory}}
                                                 name="foo" 
                                                 input-field-id={{de.dataElement.id}} 
@@ -336,8 +346,7 @@
                                         <input type="text"                                                                
                                                placeholder="{{dhis2CalendarFormat.keyDateFormat}}"
                                                d2-date
-                                               max-date="prStDes[de.dataElement.id].allowFutureDate ? '' : 0"   
-                                               
+                                               max-date="prStDes[de.dataElement.id].allowFutureDate ? '' : 0"                                                  
                                                d2-date-validator
                                                ng-model="currentEvent[de.dataElement.id]"                                                               
                                                ng-required={{prStDes[de.dataElement.id].compulsory}}
@@ -352,6 +361,14 @@
                                                name="foo" 
                                                input-field-id={{de.dataElement.id}}/>
                                     </div>
+                                    <div ng-switch-default>
+                                        <input type="text"                                                  
+                                            ng-model="currentEvent[de.dataElement.id]"                                                 
+                                            ng-required={{prStDes[de.dataElement.id].compulsory}}
+                                            name="foo" 
+                                            input-field-id={{de.dataElement.id}} 
+                                            style="width:99%;"/>
+                                    </div>
                                 </div>
                                 <div ng-messages="innerForm.foo.$error" ng-if="interacted(innerForm.foo)" class="required" ng-messages-include="../dhis-web-commons/angular-forms/error-messages.html">                                         
                                 </div>
@@ -402,4 +419,4 @@
     </span>    
     <br><span ng-if="isFormInvalid()" class="horizontal-spacing red">{{'form_invalid' | translate}}</span>    
 </div>
-<!-- buttons for event registration / update ends -->
+<!-- buttons for event registration / update ends --

=== modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/default-form.html'
--- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/default-form.html	2015-06-02 19:07:17 +0000
+++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/default-form.html	2015-06-03 12:18:22 +0000
@@ -1,4 +1,5 @@
-<form name="outerForm" novalidate>                
+<form name="outerForm" novalidate>   
+    
     <table class="table-borderless table-striped" ng-if='currentEvent && !currentStage.programStageSections.length'>
         <thead>
             <tr class="col-md-12">
@@ -76,16 +77,17 @@
                                    name="foo"/>
                         </div>                        
                         <div ng-switch-when="string">
-                            <span ng-if="eventGridColumn.textType==='longText'">
+                            <span ng-if="prStDe.dataElement.textType==='longText'">
                                 <textarea rows="3"
                                     ng-class='getInputNotifcationClass(prStDe.dataElement.id,false)'
                                     ng-model="currentEvent[prStDe.dataElement.id]" 
                                     ng-required={{prStDe.compulsory}} 
                                     ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed" 
                                     ng-blur="saveDatavalue(prStDe, innerForm.foo)" 
-                                    name="foo"/>              
+                                    name="foo">
+                                </textarea>
                             </span>
-                            <span ng-if="eventGridColumn.textType!=='longText'">
+                            <span ng-if="prStDe.dataElement.textType!=='longText'">
                                 <input type="text"
                                     ng-class='getInputNotifcationClass(prStDe.dataElement.id,false)'
                                     ng-model="currentEvent[prStDe.dataElement.id]" 
@@ -114,8 +116,7 @@
                                    d2-date-validator
                                    max-date="prStDe.allowFutureDate ? '' : 0"
                                    ng-class='getInputNotifcationClass(prStDe.dataElement.id,false)'
-                                   ng-model="currentEvent[prStDe.dataElement.id]"
-                                   
+                                   ng-model="currentEvent[prStDe.dataElement.id]"                                    
                                    ng-required={{prStDe.compulsory}}  
                                    ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed" 
                                    blur-or-change="saveDatavalue(prStDe, innerForm.foo)"
@@ -130,11 +131,19 @@
                                    ng-change="saveDatavalue(prStDe, innerForm.foo)" 
                                    name="foo"/>
                         </div>
+                        <div ng-switch-default>
+                            <input type="text"
+                                ng-class='getInputNotifcationClass(prStDe.dataElement.id,false)'
+                                ng-model="currentEvent[prStDe.dataElement.id]" 
+                                ng-required={{prStDe.compulsory}} 
+                                ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed" 
+                                ng-blur="saveDatavalue(prStDe, innerForm.foo)" 
+                                name="foo"/> 
+                        </div>
                     </div>
                     <div ng-messages="innerForm.foo.$error" ng-if="interacted(innerForm.foo)" class="required" ng-messages-include="../dhis-web-commons/angular-forms/error-messages.html">                                         
                     </div>
-                </ng-form>
-                
+                </ng-form>                
             </td>
             <td class="col-md-2" ng-if="allowProvidedElsewhereExists">                
                 <div class="align-center" ng-show="prStDe.allowProvidedElsewhere">
@@ -175,68 +184,55 @@
                             </td>
                             <td class="col-md-5">
                                 <ng-form name="innerForm">
-                                    <div ng-switch="prStDes[de.dataElement.id].dataElement.type">
+                                    <div ng-if="prStDes[de.dataElement.id].dataElement.optionSetValue">                                        
+                                        <div ng-if="!selectedProgram.dataEntryMethod || optionSets[prStDes[de.dataElement.id].dataElement.optionSet.id].options.length >= 7">
+                                            <input type="text"
+                                                ng-class='getInputNotifcationClass(prStDes[de.dataElement.id].dataElement.id,false)'
+                                                ng-model="currentEvent[prStDes[de.dataElement.id].dataElement.id]" 
+                                                ng-required={{prStDes[de.dataElement.id].compulsory}} 
+                                                ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed" 
+                                                typeahead="option.name as option.name for option in optionSets[prStDes[de.dataElement.id].dataElement.optionSet.id].options | filter:$viewValue | limitTo:20" 
+                                                typeahead-focus-first="false"
+                                                typeahead-editable="false"
+                                                ng-blur="saveDatavalue(prStDes[de.dataElement.id])" 
+                                                name="foo"/>
+                                        </div>
+                                        <div ng-if="selectedProgram.dataEntryMethod && optionSets[prStDes[de.dataElement.id].dataElement.optionSet.id].options.length < 7">
+                                            <label>                                        
+                                                <input type="radio"
+                                                    ng-class='getInputNotifcationClass(prStDes[de.dataElement.id].dataElement.id,true)'
+                                                    name={{currentEvent[prStDes[de.dataElement.id].dataElement.id]}}
+                                                    ng-required={{prStDes[de.dataElement.id].compulsory}} 
+                                                    ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed" 
+                                                    ng-model="currentEvent[prStDes[de.dataElement.id].dataElement.id]"
+                                                    ng-change="saveDatavalue(prStDes[de.dataElement.id])" 
+                                                    value=""> {{'no_value' | translate}}<br>                                       
+                                            </label><br>
+                                            <span ng-repeat="option in optionSets[prStDes[de.dataElement.id].dataElement.optionSet.id].options">
+                                                <label>
+                                                    <input type="radio"
+                                                        ng-class='getInputNotifcationClass(prStDes[de.dataElement.id].dataElement.id,true)'
+                                                        name={{currentEvent[prStDes[de.dataElement.id].dataElement.id]}}
+                                                        ng-required={{prStDes[de.dataElement.id].compulsory}} 
+                                                        ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed" 
+                                                        ng-model="currentEvent[prStDes[de.dataElement.id].dataElement.id]"
+                                                        ng-change="saveDatavalue(prStDes[de.dataElement.id])" 
+                                                        value={{option.name}}> {{option.name}}
+                                                </label><br>
+                                            </span>
+                                        </div> 
+                                    </div>
+                                    <div ng-if="!prStDes[de.dataElement.id].dataElement.optionSetValue" ng-switch="prStDes[de.dataElement.id].dataElement.type">
                                         <div ng-switch-when="int">
                                             <input type="number"
                                                    d2-number-validator
                                                    number-type={{prStDe.dataElement.numberType}}
                                                    ng-class='getInputNotifcationClass(prStDes[de.dataElement.id].dataElement.id,false)'
-                                                   ng-model="currentEvent[prStDes[de.dataElement.id].dataElement.id]" 
-                                                   
+                                                   ng-model="currentEvent[prStDes[de.dataElement.id].dataElement.id]"                                                    
                                                    ng-required={{prStDes[de.dataElement.id].compulsory}}
                                                    ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed" 
                                                    ng-blur="saveDatavalue(prStDes[de.dataElement.id], innerForm.foo)" 
                                                    name="foo"/>
-                                        </div>                        
-                                        <div ng-switch-when="string">                            
-                                            <div ng-if="prStDes[de.dataElement.id].dataElement.optionSet">
-                                                <div ng-if="!selectedProgram.dataEntryMethod || optionSets[prStDes[de.dataElement.id].dataElement.optionSet.id].options.length >= 7">
-                                                    <input type="text"
-                                                        ng-class='getInputNotifcationClass(prStDes[de.dataElement.id].dataElement.id,false)'
-                                                        ng-model="currentEvent[prStDes[de.dataElement.id].dataElement.id]" 
-                                                        
-                                                        ng-required={{prStDes[de.dataElement.id].compulsory}} 
-                                                        ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed" 
-                                                        typeahead="option.name as option.name for option in optionSets[prStDes[de.dataElement.id].dataElement.optionSet.id].options | filter:$viewValue | limitTo:20" 
-                                                        typeahead-focus-first="false"
-                                                        typeahead-editable="false"
-                                                        ng-blur="saveDatavalue(prStDes[de.dataElement.id])" 
-                                                        name="foo"/>
-                                                </div>
-                                                <div ng-if="selectedProgram.dataEntryMethod && optionSets[prStDes[de.dataElement.id].dataElement.optionSet.id].options.length < 7">
-                                                    <label>                                        
-                                                        <input type="radio"
-                                                            ng-class='getInputNotifcationClass(prStDes[de.dataElement.id].dataElement.id,true)'
-                                                            name={{currentEvent[prStDes[de.dataElement.id].dataElement.id]}}
-                                                            ng-required={{prStDes[de.dataElement.id].compulsory}} 
-                                                            ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed" 
-                                                            ng-model="currentEvent[prStDes[de.dataElement.id].dataElement.id]"
-                                                            ng-change="saveDatavalue(prStDes[de.dataElement.id])" 
-                                                            value=""> {{'no_value' | translate}}<br>                                       
-                                                    </label><br>
-                                                    <span ng-repeat="option in optionSets[prStDes[de.dataElement.id].dataElement.optionSet.id].options">
-                                                        <label>
-                                                            <input type="radio"
-                                                                ng-class='getInputNotifcationClass(prStDes[de.dataElement.id].dataElement.id,true)'
-                                                                name={{currentEvent[prStDes[de.dataElement.id].dataElement.id]}}
-                                                                ng-required={{prStDes[de.dataElement.id].compulsory}} 
-                                                                ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed" 
-                                                                ng-model="currentEvent[prStDes[de.dataElement.id].dataElement.id]"
-                                                                ng-change="saveDatavalue(prStDes[de.dataElement.id])" 
-                                                                value={{option.name}}> {{option.name}}
-                                                        </label><br>
-                                                    </span>
-                                                </div>                                    
-                                            </div>
-                                            <div ng-if="!prStDes[de.dataElement.id].dataElement.optionSet">
-                                                <input type="text"
-                                                    ng-class='getInputNotifcationClass(prStDes[de.dataElement.id].dataElement.id,false)'
-                                                    ng-model="currentEvent[prStDes[de.dataElement.id].dataElement.id]" 
-                                                    ng-required={{prStDes[de.dataElement.id].compulsory}} 
-                                                    ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed" 
-                                                    ng-blur="saveDatavalue(prStDes[de.dataElement.id])" 
-                                                    name="foo"/>
-                                            </div>
                                         </div>
                                         <div ng-switch-when="bool">
                                             <select ng-class='getInputNotifcationClass(prStDes[de.dataElement.id].dataElement.id,false)'
@@ -249,7 +245,6 @@
                                                 <option value="false">{{'no'| translate}}</option>
                                                 <option value="true">{{'yes'| translate}}</option>
                                             </select>
-
                                         </div>
                                         <div ng-switch-when="date">
                                             <input type="text" 
@@ -258,8 +253,7 @@
                                                    d2-date-validator
                                                    max-date="prStDes[de.dataElement.id].allowFutureDate ? '' : 0"
                                                    ng-class='getInputNotifcationClass(prStDes[de.dataElement.id].dataElement.id,false)'
-                                                   ng-model="currentEvent[prStDes[de.dataElement.id].dataElement.id]"
-                                                   
+                                                   ng-model="currentEvent[prStDes[de.dataElement.id].dataElement.id]"                                                    
                                                    ng-required={{prStDes[de.dataElement.id].compulsory}}  
                                                    ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed" 
                                                    blur-or-change="saveDatavalue(prStDes[de.dataElement.id])"
@@ -274,6 +268,36 @@
                                                    ng-change="saveDatavalue(prStDes[de.dataElement.id], innerForm.foo)" 
                                                    name="foo"/>
                                         </div>
+                                        <div ng-switch-when="string">     
+                                            <span ng-if="prStDes[de.dataElement.id].dataElement.textType==='longText'">
+                                                <textarea rows="3"
+                                                    ng-class='getInputNotifcationClass(prStDes[de.dataElement.id].dataElement.id,false)'
+                                                    ng-model="currentEvent[prStDes[de.dataElement.id].dataElement.id]"                                                    
+                                                    ng-required={{prStDes[de.dataElement.id].compulsory}}
+                                                    ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed" 
+                                                    ng-blur="saveDatavalue(prStDes[de.dataElement.id], innerForm.foo)"
+                                                    name="foo">
+                                                </textarea>
+                                            </span>
+                                            <span ng-if="prStDes[de.dataElement.id].dataElement.textType!=='longText'">
+                                                <input type="text"                                             
+                                                    ng-class='getInputNotifcationClass(prStDes[de.dataElement.id].dataElement.id,false)'
+                                                    ng-model="currentEvent[prStDes[de.dataElement.id].dataElement.id]"                                                    
+                                                    ng-required={{prStDes[de.dataElement.id].compulsory}}
+                                                    ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed" 
+                                                    ng-blur="saveDatavalue(prStDes[de.dataElement.id], innerForm.foo)"
+                                                    name="foo"/>                  
+                                            </span>                                              
+                                        </div>                                        
+                                        <div ng-switch-default>
+                                            <input type="text"
+                                                ng-class='getInputNotifcationClass(prStDes[de.dataElement.id].dataElement.id,false)'
+                                                ng-model="currentEvent[prStDes[de.dataElement.id].dataElement.id]" 
+                                                ng-required={{prStDes[de.dataElement.id].compulsory}} 
+                                                ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed" 
+                                                ng-blur="saveDatavalue(prStDes[de.dataElement.id])" 
+                                                name="foo"/>
+                                        </div>
                                     </div>                                    
                                     <div ng-messages="innerForm.foo.$error" ng-if="interacted(innerForm.foo)" class="required" ng-messages-include="../dhis-web-commons/angular-forms/error-messages.html">                                         
                                     </div>