dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #42167
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 21535: tracker/event-capture: printing custom and default forms
------------------------------------------------------------
revno: 21535
committer: Abyot Asalefew Gizaw <abyota@xxxxxxxxx>
branch nick: dhis2
timestamp: Mon 2015-12-28 15:53:48 +0100
message:
tracker/event-capture: printing custom and default forms
removed:
dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/styles/bootstrap.min.css
dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/styles/screen.css
added:
dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/main-dataentry-form.html
modified:
dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-capture/styles/style.css
dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/dataentry-controller.js
dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/dataentry-print.html
dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/dataentry.html
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/event-details.html
dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/index.html
dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/styles/print.css
dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/styles/style.css
dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/javascripts/dhis2/dhis2.angular.services.js
--
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/styles/style.css'
--- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-capture/styles/style.css 2015-12-24 12:26:41 +0000
+++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-capture/styles/style.css 2015-12-28 14:53:48 +0000
@@ -449,15 +449,4 @@
.custom-form-completed {
width: 35%
-}
-
-
-
-/*.file-input input[readonly] {
- background-color: white !important;
- cursor: text !important;
-}*/
-
-/*input[type='file'] {
- opacity:0
-}*/
\ No newline at end of file
+}
\ No newline at end of file
=== modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/dataentry-controller.js'
--- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/dataentry-controller.js 2015-12-21 13:28:07 +0000
+++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/dataentry-controller.js 2015-12-28 14:53:48 +0000
@@ -26,6 +26,8 @@
EventCreationService,
$q) {
+ $scope.printForm = false;
+ $scope.printEmptyForm = false;
$scope.eventPageSize = 4;
$scope.maxOptionSize = 30;
$scope.dashboardReady = false;
@@ -117,22 +119,26 @@
}
}
$scope.model= {};
-
+
$scope.print = function(divName){
- $scope.showProgramReportDetailsDiv = false;
- var printContents = document.getElementById(divName).innerHTML;
- //var popupWin = window.open('', '_blank', 'resizable=1,scrollbars=no,width=500,height=200');
+ $scope.printForm = true;
+ $scope.printEmptyForm = true;
+ var printContents = document.getElementById(divName).innerHTML;
var popupWin = window.open('', '_blank', 'fullscreen=1');
popupWin.document.open();
popupWin.document.write('<html>\n\
- <head>\n\
- <link rel="stylesheet" type="text/css" href="styles/bootstrap.min.css" media="print"/>\n\
- <link rel="stylesheet" type="text/css" href="styles/print.css" media="print"/>\n\
- </head>\n\
- <body onload="window.print()">' + printContents +
+ <head>\n\
+ <link rel="stylesheet" type="text/css" href="../dhis-web-commons/bootstrap/css/bootstrap.min.css" />\n\
+ <link type="text/css" rel="stylesheet" href="../dhis-web-commons/javascripts/angular/plugins/select.css">\n\
+ <link type="text/css" rel="stylesheet" href="../dhis-web-commons/javascripts/angular/plugins/select2.css">\n\
+ <link rel="stylesheet" type="text/css" href="styles/style.css" />\n\
+ <link rel="stylesheet" type="text/css" href="styles/print.css" />\n\
+ </head>\n\
+ <body onload="window.print()">' + printContents +
'</html>');
popupWin.document.close();
-
+ $scope.printForm = false;
+ $scope.printEmptyForm = false;
};
var processRuleEffect = function(event){
=== modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/dataentry-print.html'
--- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/dataentry-print.html 2015-12-16 14:39:12 +0000
+++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/dataentry-print.html 2015-12-28 14:53:48 +0000
@@ -1,120 +1,55 @@
<div id="print-div" class="not-for-screen">
-
- <!-- For personal data-->
- <div style="overflow:visible">
-
- <div class="section">Personal Details</div>
-
- <table class="table table-bordered">
- <tbody>
- <tr ng-repeat="attribute in selectedTei.attributes" ng-show="attribute.show">
- <td class="bold attritbute-name">
- {{attribute.displayName}}
- </td>
- <td>
- <input type="text" value={{attribute.value}} class="form-control">
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <!-- For personal data -->
-
-
- <!-- For Enrollment-->
-
- <div style="overflow:visible">
-
- <div class="section">Enrollment</div>
-
- <table class="table table-bordered">
-
- <tbody>
- <tr>
- <td class="bold attritbute-name">
- {{'enrolling_orgunit' | translate}}
- </td>
- <td>
- <input type="text" value={{selectedEnrollment.orgUnitName}} class="form-control">
- </td>
- </tr>
- <tr>
- <td class="bold attritbute-name">
- {{selectedProgram.enrollmentDateLabel}}
- </td>
- <td>
- <input type="text" value= {{selectedEnrollment.enrollmentDate}} class="form-control">
- </td>
- </tr>
- <tr>
- <td class="bold attritbute-name">
- {{selectedProgram.incidentDateLabel}}
- </td>
- <td>
- <input type="text" value={{selectedEnrollment.incidentDate}} class="form-control">
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <!-- For Enrollment-->
-
- <table class="table table-bordered" ng-if='currentEvent && !currentStage.programStageSections.length'>
- <thead>
- <tr>
- <th ng-bind="dataElementLabel">
- </th>
- <th class="align-center" ng-bind="valueLabel">
- </th>
- </th>
- </tr>
- </thead>
- <tbody>
- <tr ng-repeat="prStDe in currentStage.programStageDataElements">
- <td class="bold attritbute-name">
- {{prStDe.dataElement.formname ? prStDe.dataElement.formname : prStDe.dataElement.name}}
- </td>
- <td>
- <input type="text" value={{currentEvent[prStDe.dataElement.id]}} class="form-control">
- </td>
- </tr>
- </tbody>
- </table>
-
- <div ng-if='currentEvent && currentStage.programStageSections.length'>
-
- <div ng-repeat='section in currentStage.programStageSections'
- ng-if="!hiddenSections[section.id]" style="overflow:visible">
-
- <div class="section">{{section.name}}</div>
-
- <table class="table table-bordered" ng-if="section.programStageDataElements && section.programStageDataElements.length > 0">
- <thead>
- <tr>
- <th ng-bind="dataElementLabel">
- </th>
- <th class="align-center" ng-bind="valueLabel">
- </th>
- <th class="align-center" ng-if="allowProvidedElsewhereExists[currentStage.id]" ng-bind="providedElsewhereLabel">
- </th>
- </tr>
- </thead>
- <tbody id="list">
- <tr ng-repeat="de in section.programStageDataElements">
- <td class="bold attritbute-name">
- {{prStDes[de.dataElement.id].dataElement.formName ? prStDes[de.dataElement.id].dataElement.formName : prStDes[de.dataElement.id].dataElement.name}}
- </td>
- <td>
- <input type="text" value={{currentEvent[prStDes[de.dataElement.id].dataElement.id]}} class="form-control">
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
-
- </div>
- </div>
- </div>
-</div>
+ <div class="col-sm-12">
+ <h3>{{'profile'| translate}}</h3>
+ </div>
+ <table class="dhis2-list-table-striped dhis2-table-hover">
+ <tbody>
+ <tr ng-repeat="attribute in selectedTei.attributes" ng-show="attribute.show">
+ <td class="col-sm-6">
+ {{attribute.displayName}}
+ </td>
+ <td class="col-sm-6">
+ <input type="text" value={{attribute.value}} class="form-control">
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="col-sm-12">
+ <h3>{{'enrollment'| translate}}</h3>
+ </div>
+ <table class="dhis2-list-table-striped dhis2-table-hover">
+ <tbody>
+ <tr>
+ <td class="col-sm-6">
+ {{'enrolling_orgunit'| translate}}
+ </td>
+ <td class="col-sm-6">
+ <input type="text" value={{selectedEnrollment.orgUnitName}} class="form-control">
+ </td>
+ </tr>
+ <tr>
+ <td class="col-sm-6">
+ {{selectedProgram.enrollmentDateLabel}}
+ </td>
+ <td class="col-sm-6">
+ <input type="text" value= {{selectedEnrollment.enrollmentDate}} class="form-control">
+ </td>
+ </tr>
+ <tr>
+ <td class="col-sm-6">
+ {{selectedProgram.incidentDateLabel}}
+ </td>
+ <td class="col-sm-6">
+ <input type="text" value={{selectedEnrollment.incidentDate}} class="form-control">
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="col-sm-12">
+ <h3>{{'dataentry'| translate}}</h3>
+ <div ng-include="'components/dataentry/main-dataentry-form.html'"></div>
+ </div>
+</div>
\ No newline at end of file
=== modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/dataentry.html'
--- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/dataentry.html 2015-12-21 13:28:07 +0000
+++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/dataentry.html 2015-12-28 14:53:48 +0000
@@ -39,24 +39,7 @@
<div ng-if="!selectedEnrollment || !selectedEnrollment.enrollment" class="alert alert-danger">{{notEnrolledLabel}}</div>
- <form name="outerForm" novalidate>
- <div ng-if="currentEvent">
- <div ng-include="'components/dataentry/event-details.html'"></div>
- <!-- data entry form begins -->
- <div ng-if="currentEvent.eventDate">
- <div class="clear vertical-spacing" ng-if="displayCustomForm === 'CUSTOM'" ng-include="'../dhis-web-commons/angular-forms/custom-form.html'"></div>
- <div class="clear vertical-spacing" ng-if="displayCustomForm === 'DEFAULT'" ng-include="'components/dataentry/default-form.html'"></div>
- </div>
- <!-- the table form is insensitive to the event date being present. In this situation the eventdate is set inside the table form -->
- <div class="clear vertical-spacing" ng-if="displayCustomForm === 'TABLE'" ng-include="'components/dataentry/table-entry-form.html'"></div>
- <!-- data entry form ends -->
-
- <!-- data entry/event buttons begins -->
- <div ng-include="'components/dataentry/dataentry-buttons.html'"></div>
- <!-- data entry/event buttons ends -->
-
- </div>
- </form>
+ <div ng-include="'components/dataentry/main-dataentry-form.html'"></div>
<div ng-if="displayCustomForm !== 'TABLE'">
<div ng-include="'components/dataentry/dataentry-notes.html'"></div>
=== 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-12-17 15:00:48 +0000
+++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/default-form.html 2015-12-28 14:53:48 +0000
@@ -1,5 +1,5 @@
<form name="outerForm" novalidate>
- <table class="dhis2-list-table-striped default-form-table" ng-if='currentEvent && !currentStage.programStageSections.length'>
+ <table class="dhis2-list-table-striped dhis2-table-hover" ng-if='currentEvent && !currentStage.programStageSections.length'>
<thead>
<tr>
<th ng-bind="dataElementLabel">
@@ -13,47 +13,37 @@
<tr class="col-md-12" ng-repeat="prStDe in currentStage.programStageDataElements" ng-if="!isHidden(prStDe.dataElement.id, currentEvent)">
<td>
<span ng-bind="prStDe.dataElement.formName ? prStDe.dataElement.formName : prStDe.dataElement.name"></span>
- <a ng-if="prStDe.dataElement.description" Title="{{prStDe.dataElement.description}}" ng-init="showHelpText[prStDe.dataElement.id] = false;" ng-click="showHelpText[prStDe.dataElement.id] = !showHelpText[prStDe.dataElement.id]">
- <span class="glyphicon glyphicon-info-sign" ></span>
- <span ng-show="showHelpText[prStDe.dataElement.id]" ><br>{{prStDe.dataElement.description}}</span>
- </a>
- <span ng-if="otherValuesLists[prStDe.dataElement.id] && currentStage.id !== 'PUZaKR0Jh2k'" ng-repeat="altValue in otherValuesLists[prStDe.dataElement.id] track by $index">
- <span class="label label-default">{{altValue | translate}}</span>
- </span>
-
+ <span class="hideInPrint">
+ <a ng-if="prStDe.dataElement.description" Title="{{prStDe.dataElement.description}}" ng-init="showHelpText[prStDe.dataElement.id] = false;" ng-click="showHelpText[prStDe.dataElement.id] = !showHelpText[prStDe.dataElement.id]">
+ <span class="glyphicon glyphicon-info-sign" ></span>
+ <span ng-show="showHelpText[prStDe.dataElement.id]" ><br>{{prStDe.dataElement.description}}</span>
+ </a>
+ <span ng-if="otherValuesLists[prStDe.dataElement.id] && currentStage.id !== 'PUZaKR0Jh2k'" ng-repeat="altValue in otherValuesLists[prStDe.dataElement.id] track by $index">
+ <span class="label label-default">{{altValue | translate}}</span>
+ </span>
+ </span>
</td>
<td>
<ng-form name="innerForm">
<div ng-if="prStDe.dataElement.optionSetValue">
- <div ng-if="!selectedProgram.dataEntryMethod || optionSets[prStDe.dataElement.optionSet.id].options.length >= 7">
- <ui-select ng-model="currentEvent[prStDe.dataElement.id]"
- theme="select2"
- ng-required={{prStDe.compulsory}}
- ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed || assignedFields[currentEvent.event][prStDe.dataElement.id]"
- name="foo"
- on-select="saveDatavalue(prStDe, innerForm.foo)"
- style="width:100%;">
- <ui-select-match allow-clear="true" ng-class="getInputNotifcationClass(prStDe.dataElement.id, true)" class="form-control-ui-select" placeholder="{{'select_or_search' | translate}}">{{$select.selected.name || $select.selected}}</ui-select-match>
- <ui-select-choices repeat="option.name as option in optionSets[prStDe.dataElement.optionSet.id].options | filter: $select.search | limitTo:maxOptionSize">
- <span ng-bind-html="option.name | highlight: $select.search"></span>
- </ui-select-choices>
- </ui-select>
- </div>
- <div ng-if="selectedProgram.dataEntryMethod && optionSets[prStDe.dataElement.optionSet.id].options.length < 7">
- <label>
- <input type="radio"
- class="form-control"
- ng-class="getInputNotifcationClass(prStDe.dataElement.id,false, currentEvent)"
- name={{prStDe.dataElement.id}}
- ng-required={{prStDe.compulsory}}
- ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed || assignedFields[currentEvent.event][prStDe.dataElement.id]"
- ng-model="currentEvent[prStDe.dataElement.id]"
- ng-change="saveDatavalue(prStDe, innerForm.foo)"
- value=""> {{'no_value' | translate}}<br>
- </label><br>
- <span ng-repeat="option in optionSets[prStDe.dataElement.optionSet.id].options">
- <label>
- <input type="radio"
+ <div class="hideInPrint">
+ <div ng-if="!selectedProgram.dataEntryMethod || optionSets[prStDe.dataElement.optionSet.id].options.length >= 7">
+ <ui-select ng-model="currentEvent[prStDe.dataElement.id]"
+ theme="select2"
+ ng-required={{prStDe.compulsory}}
+ ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed || assignedFields[currentEvent.event][prStDe.dataElement.id]"
+ name="foo"
+ on-select="saveDatavalue(prStDe, innerForm.foo)"
+ style="width:100%;">
+ <ui-select-match allow-clear="true" ng-class="getInputNotifcationClass(prStDe.dataElement.id, true)" class="form-control-ui-select" placeholder="{{'select_or_search' | translate}}">{{$select.selected.name || $select.selected}}</ui-select-match>
+ <ui-select-choices repeat="option.name as option in optionSets[prStDe.dataElement.optionSet.id].options | filter: $select.search | limitTo:maxOptionSize">
+ <span ng-bind-html="option.name | highlight: $select.search"></span>
+ </ui-select-choices>
+ </ui-select>
+ </div>
+ <div ng-if="selectedProgram.dataEntryMethod && optionSets[prStDe.dataElement.optionSet.id].options.length < 7">
+ <label>
+ <input type="radio"
class="form-control"
ng-class="getInputNotifcationClass(prStDe.dataElement.id,false, currentEvent)"
name={{prStDe.dataElement.id}}
@@ -61,38 +51,65 @@
ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed || assignedFields[currentEvent.event][prStDe.dataElement.id]"
ng-model="currentEvent[prStDe.dataElement.id]"
ng-change="saveDatavalue(prStDe, innerForm.foo)"
- value={{option.name}}> {{option.name}}
+ value=""> {{'no_value' | translate}}<br>
</label><br>
- </span>
- </div>
+ <span ng-repeat="option in optionSets[prStDe.dataElement.optionSet.id].options">
+ <label>
+ <input type="radio"
+ class="form-control"
+ ng-class="getInputNotifcationClass(prStDe.dataElement.id,false, currentEvent)"
+ name={{prStDe.dataElement.id}}
+ ng-required={{prStDe.compulsory}}
+ ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed || assignedFields[currentEvent.event][prStDe.dataElement.id]"
+ ng-model="currentEvent[prStDe.dataElement.id]"
+ ng-change="saveDatavalue(prStDe, innerForm.foo)"
+ value={{option.name}}> {{option.name}}
+ </label><br>
+ </span>
+ </div>
+ </div>
+ <div class="not-for-screen">
+ <input type="text" class="form-control" value={{currentEvent[prStDe.dataElement.id]}}>
+ </div>
</div>
<div ng-if="!prStDe.dataElement.optionSetValue" ng-switch="prStDe.dataElement.valueType">
<div ng-switch-when="NUMBER">
- <input type="number"
- number-type={{prStDe.dataElement.valueType}}
- class="form-control"
- ng-class="getInputNotifcationClass(prStDe.dataElement.id,false, currentEvent)"
- ng-model="currentEvent[prStDe.dataElement.id]"
- d2-number-validator
- ng-required={{prStDe.compulsory}}
- ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed || assignedFields[currentEvent.event][prStDe.dataElement.id]"
- ng-blur="saveDatavalue(prStDe, innerForm.foo)"
- name="foo"/>
+ <div class="hideInPrint">
+ <input type="number"
+ number-type={{prStDe.dataElement.valueType}}
+ class="form-control"
+ ng-class="getInputNotifcationClass(prStDe.dataElement.id,false, currentEvent)"
+ ng-model="currentEvent[prStDe.dataElement.id]"
+ d2-number-validator
+ ng-required={{prStDe.compulsory}}
+ ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed || assignedFields[currentEvent.event][prStDe.dataElement.id]"
+ ng-blur="saveDatavalue(prStDe, innerForm.foo)"
+ name="foo"/>
+ </div>
+ <div class="not-for-screen">
+ <input type="text" class="form-control" value={{currentEvent[prStDe.dataElement.id]}}>
+ </div>
</div>
<div ng-switch-when="INTEGER">
- <input type="number"
- number-type={{prStDe.dataElement.valueType}}
- class="form-control"
- ng-class="getInputNotifcationClass(prStDe.dataElement.id,false, currentEvent)"
- ng-model="currentEvent[prStDe.dataElement.id]"
- d2-number-validator
- ng-required={{prStDe.compulsory}}
- ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed || assignedFields[currentEvent.event][prStDe.dataElement.id]"
- ng-blur="saveDatavalue(prStDe, innerForm.foo)"
- name="foo"/>
+ <div class="hideInPrint">
+ <input type="number"
+ number-type={{prStDe.dataElement.valueType}}
+ class="form-control"
+ ng-class="getInputNotifcationClass(prStDe.dataElement.id,false, currentEvent)"
+ ng-model="currentEvent[prStDe.dataElement.id]"
+ d2-number-validator
+ ng-required={{prStDe.compulsory}}
+ ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed || assignedFields[currentEvent.event][prStDe.dataElement.id]"
+ ng-blur="saveDatavalue(prStDe, innerForm.foo)"
+ name="foo"/>
+ </div>
+ <div class="not-for-screen">
+ <input type="text" class="form-control" value={{currentEvent[prStDe.dataElement.id]}}>
+ </div>
</div>
<div ng-switch-when="INTEGER_POSITIVE">
- <input type="number"
+ <div class="hideInPrint">
+ <input type="number"
number-type={{prStDe.dataElement.valueType}}
class="form-control"
ng-class='getInputNotifcationClass(prStDe.dataElement.id,false)'
@@ -102,9 +119,14 @@
ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed || assignedFields[currentEvent.event][prStDe.dataElement.id]"
ng-blur="saveDatavalue(prStDe, innerForm.foo)"
name="foo"/>
+ </div>
+ <div class="not-for-screen">
+ <input type="text" class="form-control" value={{currentEvent[prStDe.dataElement.id]}}>
+ </div>
</div>
<div ng-switch-when="INTEGER_NEGATIVE">
- <input type="number"
+ <div class="hideInPrint">
+ <input type="number"
number-type={{prStDe.dataElement.valueType}}
class="form-control"
ng-class="getInputNotifcationClass(prStDe.dataElement.id,false, currentEvent)"
@@ -114,9 +136,14 @@
ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed || assignedFields[currentEvent.event][prStDe.dataElement.id]"
ng-blur="saveDatavalue(prStDe, innerForm.foo)"
name="foo"/>
+ </div>
+ <div class="not-for-screen">
+ <input type="text" class="form-control" value={{currentEvent[prStDe.dataElement.id]}}>
+ </div>
</div>
<div ng-switch-when="INTEGER_ZERO_OR_POSITIVE">
- <input type="number"
+ <div class="hideInPrint">
+ <input type="number"
number-type={{prStDe.dataElement.valueType}}
class="form-control"
ng-class="getInputNotifcationClass(prStDe.dataElement.id,false, currentEvent)"
@@ -126,39 +153,60 @@
ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed || assignedFields[currentEvent.event][prStDe.dataElement.id]"
ng-blur="saveDatavalue(prStDe, innerForm.foo)"
name="foo"/>
+ </div>
+ <div class="not-for-screen">
+ <input type="text" class="form-control" value={{currentEvent[prStDe.dataElement.id]}}>
+ </div>
</div>
<div ng-switch-when="LONG_TEXT">
- <textarea rows="3"
- ng-class="getInputNotifcationClass(prStDe.dataElement.id,false, currentEvent)"
- class="form-control"
- ng-model="currentEvent[prStDe.dataElement.id]"
- ng-required={{prStDe.compulsory}}
- ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed || assignedFields[currentEvent.event][prStDe.dataElement.id]"
- ng-blur="saveDatavalue(prStDe, innerForm.foo)"
- name="foo">
- </textarea>
+ <div class="hideInPrint">
+ <textarea rows="3"
+ ng-class="getInputNotifcationClass(prStDe.dataElement.id,false, currentEvent)"
+ class="form-control"
+ ng-model="currentEvent[prStDe.dataElement.id]"
+ ng-required={{prStDe.compulsory}}
+ ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed || assignedFields[currentEvent.event][prStDe.dataElement.id]"
+ ng-blur="saveDatavalue(prStDe, innerForm.foo)"
+ name="foo">
+ </textarea>
+ </div>
+ <div class="not-for-screen">
+ <textarea rows="3" class="form-control" value={{currentEvent[prStDe.dataElement.id]}}></textarea>
+ </div>
</div>
<div ng-switch-when="TEXT">
- <input type="text"
+ <div class="hideInPrint">
+ <input type="text"
ng-class="getInputNotifcationClass(prStDe.dataElement.id,false, currentEvent)"
class="form-control"
ng-model="currentEvent[prStDe.dataElement.id]"
ng-required={{prStDe.compulsory}}
ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed || assignedFields[currentEvent.event][prStDe.dataElement.id]"
ng-blur="saveDatavalue(prStDe, innerForm.foo)"
- name="foo"/>
+ name="foo"/>
+ </div>
+ <div class="not-for-screen">
+ <input type="text" class="form-control" value={{currentEvent[prStDe.dataElement.id]}}>
+ </div>
</div>
<div ng-switch-when="BOOLEAN">
- <dhis2-radio-button
- dh-required="prStDe.compulsory"
- dh-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed || assignedFields[currentEvent.event][prStDe.dataElement.id] === true"
- dh-value="currentEvent[prStDe.dataElement.id]"
- dh-name="foo"
- dh-click="saveDataValueForRadio(prStDe, currentEvent, value)">
- </dhis2-radio-button>
+ <div class="hideInPrint">
+ <dhis2-radio-button
+ dh-required="prStDe.compulsory"
+ dh-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed || assignedFields[currentEvent.event][prStDe.dataElement.id] === true"
+ dh-value="currentEvent[prStDe.dataElement.id]"
+ dh-name="foo"
+ dh-click="saveDataValueForRadio(prStDe, currentEvent, value)">
+ </dhis2-radio-button>
+ </div>
+ <div class="not-for-screen">
+ <label class="radio-inline"><input type="radio" ng-checked="{{currentEvent[prStDe.dataElement.id] === 'true'}}">{{'yes' | translate}}</label>
+ <label class="radio-inline"><input type="radio" ng-checked="{{currentEvent[prStDe.dataElement.id] === 'false'}}">{{'no' | translate}}</label>
+ </div>
</div>
<div ng-switch-when="DATE">
- <input type="text"
+ <div class="hideInPrint">
+ <input type="text"
placeholder="{{dhis2CalendarFormat.keyDateFormat}}"
d2-date
d2-date-validator
@@ -170,9 +218,14 @@
ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed || assignedFields[currentEvent.event][prStDe.dataElement.id]"
blur-or-change="saveDatavalue(prStDe, innerForm.foo)"
name="foo"/>
+ </div>
+ <div class="not-for-screen">
+ <input type="text" class="form-control" value={{currentEvent[prStDe.dataElement.id]}}>
+ </div>
</div>
<div ng-switch-when="TRUE_ONLY">
- <input type="checkbox"
+ <div class="hideInPrint">
+ <input type="checkbox"
class="form-control"
ng-class="getInputNotifcationClass(prStDe.dataElement.id,false, currentEvent)"
ng-model="currentEvent[prStDe.dataElement.id]"
@@ -180,40 +233,48 @@
ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed || assignedFields[currentEvent.event][prStDe.dataElement.id]"
ng-change="saveDatavalue(prStDe, innerForm.foo)"
name="foo"/>
- </div>
-
+ </div>
+ <div class="not-for-screen">
+ <input type="text" class="form-control" ng-checked={{currentEvent[prStDe.dataElement.id]}}>
+ </div>
+ </div>
<div ng-switch-when="MULTI_SELECT_GROUP">
- <ui-select ng-model="currentEvent[prStDe.dataElement.id].selections"
- id="multiSelectGroup"
- ng-init="initMultiSelect(currentEvent)"
- theme="select2"
- ng-required={{prStDe.compulsory}}
- ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed"
- name="foo"
- multiple
- on-remove="saveMultiSelectState($item,currentEvent,prStDe,false)"
- on-select="saveMultiSelectState($item,currentEvent,prStDe,true)"
- style="width:100%; overflow:visible">
- <ui-select-match allow-clear="true" ng-class={{getInputNotifcationClass(prStDe.dataElement.id,false)}} class="form-control-ui-select" placeholder="{{'select_or_search' | translate}}" >{{$item.dataElement.formName ? $item.dataElement.formName : $item.dataElement.name }}</ui-select-match>
- <ui-select-choices repeat="prStDe.dataElement as prStDe in currentStage.multiSelectGroups[prStDe.dataElement.id].dataElements | filter: $select.search | limitTo:maxOptionSize">
- <span ng-bind-html="prStDe.dataElement.formName ? prStDe.dataElement.formName : prStDe.dataElement.name | highlight: $select.search"></span>
- </ui-select-choices>
- <!--<ui-select-choices repeat="option.nameo.name as option in optionsTest | filter: $select.search | limitTo:maxOptionSize">
- <span ng-bind-html="option.nameo.name | highlight: $select.search"></span>
- </ui-select-choices>-->
- </ui-select>
- </div>
-
-
+ <div class="hideInPrint">
+ <ui-select ng-model="currentEvent[prStDe.dataElement.id].selections"
+ id="multiSelectGroup"
+ ng-init="initMultiSelect(currentEvent)"
+ theme="select2"
+ ng-required={{prStDe.compulsory}}
+ ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed"
+ name="foo"
+ multiple
+ on-remove="saveMultiSelectState($item,currentEvent,prStDe,false)"
+ on-select="saveMultiSelectState($item,currentEvent,prStDe,true)"
+ style="width:100%; overflow:visible">
+ <ui-select-match allow-clear="true" ng-class={{getInputNotifcationClass(prStDe.dataElement.id,false)}} class="form-control-ui-select" placeholder="{{'select_or_search' | translate}}" >{{$item.dataElement.formName ? $item.dataElement.formName : $item.dataElement.name }}</ui-select-match>
+ <ui-select-choices repeat="prStDe.dataElement as prStDe in currentStage.multiSelectGroups[prStDe.dataElement.id].dataElements | filter: $select.search | limitTo:maxOptionSize">
+ <span ng-bind-html="prStDe.dataElement.formName ? prStDe.dataElement.formName : prStDe.dataElement.name | highlight: $select.search"></span>
+ </ui-select-choices>
+ </ui-select>
+ </div>
+ <div class="not-for-screen">
+ <input type="text" class="form-control" value={{currentEvent[prStDe.dataElement.id]}}>
+ </div>
+ </div>
<div ng-switch-default>
- <input type="text"
- class="form-control"
- ng-class="getInputNotifcationClass(prStDe.dataElement.id,false, currentEvent)"
- ng-model="currentEvent[prStDe.dataElement.id]"
- ng-required={{prStDe.compulsory}}
- ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed || assignedFields[currentEvent.event][prStDe.dataElement.id]"
- ng-blur="saveDatavalue(prStDe, innerForm.foo)"
- name="foo"/>
+ <div class="hideInPrint">
+ <input type="text"
+ class="form-control"
+ ng-class="getInputNotifcationClass(prStDe.dataElement.id,false, currentEvent)"
+ ng-model="currentEvent[prStDe.dataElement.id]"
+ ng-required={{prStDe.compulsory}}
+ ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed || assignedFields[currentEvent.event][prStDe.dataElement.id]"
+ ng-blur="saveDatavalue(prStDe, innerForm.foo)"
+ name="foo"/>
+ </div>
+ <div class="not-for-screen">
+ <input type="text" class="form-control" value={{currentEvent[prStDe.dataElement.id]}}>
+ </div>
</div>
</div>
@@ -240,7 +301,6 @@
</td>
</tr>
</table>
-
<div ng-if='currentEvent && currentStage.programStageSections.length'>
<accordion close-others='false'>
<!-- The inline style was needed to override overflow:hidden in the css. Can possibly be replaced with a CSS update. -->
@@ -250,7 +310,7 @@
<div class="alert alert-warning">{{'section'| translate}} {{section.name}} {{'has_no_dataelements'| translate}}</div>
</div>
- <table class="dhis2-list-table-striped default-form-table" ng-if="section.programStageDataElements && section.programStageDataElements.length > 0">
+ <table class="dhis2-list-table-striped dhis2-table-hover" ng-if="section.programStageDataElements && section.programStageDataElements.length > 0">
<thead>
<tr>
<th ng-bind="dataElementLabel">
@@ -265,61 +325,69 @@
<tr ng-repeat="de in section.programStageDataElements" ng-if="!isHidden(de.dataElement.id)">
<td>
<span ng-bind="prStDes[de.dataElement.id].dataElement.formName ? prStDes[de.dataElement.id].dataElement.formName : prStDes[de.dataElement.id].dataElement.name"></span>
- <a ng-if="prStDes[de.dataElement.id].dataElement.description" Title="{{prStDes[de.dataElement.id].dataElement.description}}" ng-init="showHelpText[de.dataElement.id] = false;" ng-click="showHelpText[de.dataElement.id] = !showHelpText[de.dataElement.id]">
- <span class="glyphicon glyphicon-info-sign" ></span>
- <span ng-show="showHelpText[de.dataElement.id]" ><br>{{prStDes[de.dataElement.id].dataElement.description}}</span>
- </a>
- <span ng-if="otherValuesLists[de.dataElement.id]" ng-repeat="altValue in otherValuesLists[de.dataElement.id]">
- <span class="label label-default">{{altValue | translate}}</span>
- </span>
+ <span class="hideInPrint">
+ <a ng-if="prStDes[de.dataElement.id].dataElement.description" Title="{{prStDes[de.dataElement.id].dataElement.description}}" ng-init="showHelpText[de.dataElement.id] = false;" ng-click="showHelpText[de.dataElement.id] = !showHelpText[de.dataElement.id]">
+ <span class="glyphicon glyphicon-info-sign" ></span>
+ <span ng-show="showHelpText[de.dataElement.id]" ><br>{{prStDes[de.dataElement.id].dataElement.description}}</span>
+ </a>
+ <span ng-if="otherValuesLists[de.dataElement.id]" ng-repeat="altValue in otherValuesLists[de.dataElement.id]">
+ <span class="label label-default">{{altValue | translate}}</span>
+ </span>
+ </span>
</td>
<td>
<ng-form name="innerForm">
- <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">
- <ui-select ng-model="currentEvent[prStDes[de.dataElement.id].dataElement.id]"
- theme="select2"
- ng-required={{prStDes[de.dataElement.id].compulsory}}
- ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed || assignedFields[currentEvent.event][de.dataElement.id]"
- name="foo"
- on-select="saveDatavalue(prStDes[de.dataElement.id], innerForm.foo)"
- style="width:100%;">
- <ui-select-match allow-clear="true" ng-class="getInputNotifcationClass(prStDes[de.dataElement.id].dataElement.id,true, currentEvent)" class="form-control-ui-select" placeholder="{{'select_or_search' | translate}}">{{$select.selected.name || $select.selected}}</ui-select-match>
- <ui-select-choices repeat="option.name as option in optionSets[prStDes[de.dataElement.id].dataElement.optionSet.id].options | filter: $select.search | limitTo:maxOptionSize">
- <span ng-bind-html="option.name | highlight: $select.search"></span>
- </ui-select-choices>
- </ui-select>
- </div>
- <div ng-if="selectedProgram.dataEntryMethod && optionSets[prStDes[de.dataElement.id].dataElement.optionSet.id].options.length < 7">
- <label>
- <input type="radio"
- class="form-control"
- ng-class="getInputNotifcationClass(prStDes[de.dataElement.id].dataElement.id,false, currentEvent)"
- name={{currentEvent[prStDes[de.dataElement.id].dataElement.id]}}
- ng-required={{prStDes[de.dataElement.id].compulsory}}
- ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed || assignedFields[currentEvent.event][de.dataElement.id]"
- 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>
+ <div ng-if="prStDes[de.dataElement.id].dataElement.optionSetValue">
+ <div class="hideInPrint">
+ <div ng-if="!selectedProgram.dataEntryMethod || optionSets[prStDes[de.dataElement.id].dataElement.optionSet.id].options.length >= 7">
+ <ui-select ng-model="currentEvent[prStDes[de.dataElement.id].dataElement.id]"
+ theme="select2"
+ ng-required={{prStDes[de.dataElement.id].compulsory}}
+ ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed || assignedFields[currentEvent.event][de.dataElement.id]"
+ name="foo"
+ on-select="saveDatavalue(prStDes[de.dataElement.id], innerForm.foo)"
+ style="width:100%;">
+ <ui-select-match allow-clear="true" ng-class="getInputNotifcationClass(prStDes[de.dataElement.id].dataElement.id,true, currentEvent)" class="form-control-ui-select" placeholder="{{'select_or_search' | translate}}">{{$select.selected.name || $select.selected}}</ui-select-match>
+ <ui-select-choices repeat="option.name as option in optionSets[prStDes[de.dataElement.id].dataElement.optionSet.id].options | filter: $select.search | limitTo:maxOptionSize">
+ <span ng-bind-html="option.name | highlight: $select.search"></span>
+ </ui-select-choices>
+ </ui-select>
+ </div>
+ <div ng-if="selectedProgram.dataEntryMethod && optionSets[prStDes[de.dataElement.id].dataElement.optionSet.id].options.length < 7">
+ <label>
<input type="radio"
- class="form-control"
+ class="form-control"
ng-class="getInputNotifcationClass(prStDes[de.dataElement.id].dataElement.id,false, currentEvent)"
name={{currentEvent[prStDes[de.dataElement.id].dataElement.id]}}
ng-required={{prStDes[de.dataElement.id].compulsory}}
ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed || assignedFields[currentEvent.event][de.dataElement.id]"
ng-model="currentEvent[prStDes[de.dataElement.id].dataElement.id]"
ng-change="saveDatavalue(prStDes[de.dataElement.id])"
- value={{option.name}}> {{option.name}}
+ value=""> {{'no_value' | translate}}<br>
</label><br>
- </span>
- </div>
+ <span ng-repeat="option in optionSets[prStDes[de.dataElement.id].dataElement.optionSet.id].options">
+ <label>
+ <input type="radio"
+ class="form-control"
+ ng-class="getInputNotifcationClass(prStDes[de.dataElement.id].dataElement.id,false, currentEvent)"
+ name={{currentEvent[prStDes[de.dataElement.id].dataElement.id]}}
+ ng-required={{prStDes[de.dataElement.id].compulsory}}
+ ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed || assignedFields[currentEvent.event][de.dataElement.id]"
+ 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 class="not-for-screen">
+ <input type="text" class="form-control" value={{currentEvent[prStDes[de.dataElement.id].dataElement.id]}}>
+ </div>
</div>
<div ng-if="!prStDes[de.dataElement.id].dataElement.optionSetValue" ng-switch="prStDes[de.dataElement.id].dataElement.valueType">
<div ng-switch-when="NUMBER">
- <input type="number"
+ <div class="hideInPrint">
+ <input type="number"
d2-number-validator
number-type={{prStDes[de.dataElement.id].dataElement.valueType}}
class="form-control"
@@ -329,9 +397,14 @@
ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed || assignedFields[currentEvent.event][de.dataElement.id]"
ng-blur="saveDatavalue(prStDes[de.dataElement.id], innerForm.foo)"
name="foo"/>
+ </div>
+ <div class="not-for-screen">
+ <input type="text" class="form-control" value={{currentEvent[prStDes[de.dataElement.id].dataElement.id]}}>
+ </div>
</div>
<div ng-switch-when="INTEGER">
- <input type="number"
+ <div class="hideInPrint">
+ <input type="number"
d2-number-validator
number-type={{prStDes[de.dataElement.id].dataElement.valueType}}
class="form-control"
@@ -341,9 +414,14 @@
ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed || assignedFields[currentEvent.event][de.dataElement.id]"
ng-blur="saveDatavalue(prStDes[de.dataElement.id], innerForm.foo)"
name="foo"/>
+ </div>
+ <div class="not-for-screen">
+ <input type="text" class="form-control" value={{currentEvent[prStDes[de.dataElement.id].dataElement.id]}}>
+ </div>
</div>
<div ng-switch-when="INTEGER_POSITIVE">
- <input type="number"
+ <div class="hideInPrint">
+ <input type="number"
d2-number-validator
number-type={{prStDes[de.dataElement.id].dataElement.valueType}}
class="form-control"
@@ -353,9 +431,14 @@
ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed || assignedFields[currentEvent.event][de.dataElement.id]"
ng-blur="saveDatavalue(prStDes[de.dataElement.id], innerForm.foo)"
name="foo"/>
+ </div>
+ <div class="not-for-screen">
+ <input type="text" class="form-control" value={{currentEvent[prStDes[de.dataElement.id].dataElement.id]}}>
+ </div>
</div>
<div ng-switch-when="INTEGER_NEGATIVE">
- <input type="number"
+ <div class="hideInPrint">
+ <input type="number"
d2-number-validator
number-type={{prStDes[de.dataElement.id].dataElement.valueType}}
class="form-control"
@@ -365,9 +448,14 @@
ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed || assignedFields[currentEvent.event][de.dataElement.id]"
ng-blur="saveDatavalue(prStDes[de.dataElement.id], innerForm.foo)"
name="foo"/>
+ </div>
+ <div class="not-for-screen">
+ <input type="text" class="form-control" value={{currentEvent[prStDes[de.dataElement.id].dataElement.id]}}>
+ </div>
</div>
<div ng-switch-when="INTEGER_ZERO_OR_POSITIVE">
- <input type="number"
+ <div class="hideInPrint">
+ <input type="number"
d2-number-validator
number-type={{prStDes[de.dataElement.id].dataElement.valueType}}
class="form-control"
@@ -377,20 +465,30 @@
ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed || assignedFields[currentEvent.event][de.dataElement.id]"
ng-blur="saveDatavalue(prStDes[de.dataElement.id], innerForm.foo)"
name="foo"/>
+ </div>
+ <div class="not-for-screen">
+ <input type="text" class="form-control" value={{currentEvent[prStDes[de.dataElement.id].dataElement.id]}}>
+ </div>
</div>
<div ng-switch-when="BOOLEAN">
- <dhis2-radio-button
- dh-required="prStDes[de.dataElement.id].compulsory"
- dh-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed || assignedFields[currentEvent.event][de.dataElement.id] === true"
- dh-value="currentEvent[prStDes[de.dataElement.id].dataElement.id]"
- dh-name="foo"
- dh-click="saveDataValueForRadio(prStDes[de.dataElement.id], currentEvent, value)">
- </dhis2-radio-button>
-
+ <div class="hideInPrint">
+ <dhis2-radio-button
+ dh-required="prStDes[de.dataElement.id].compulsory"
+ dh-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed || assignedFields[currentEvent.event][de.dataElement.id] === true"
+ dh-value="currentEvent[prStDes[de.dataElement.id].dataElement.id]"
+ dh-name="foo"
+ dh-click="saveDataValueForRadio(prStDes[de.dataElement.id], currentEvent, value)">
+ </dhis2-radio-button>
+ </div>
+ <div class="not-for-screen">
+ <label class="radio-inline"><input type="radio" ng-checked="{{currentEvent[prStDes[de.dataElement.id].dataElement.id] === 'true'}}">{{'yes' | translate}}</label>
+ <label class="radio-inline"><input type="radio" ng-checked="{{currentEvent[prStDes[de.dataElement.id].dataElement.id] === 'false'}}">{{'no' | translate}}</label>
+ </div>
</div>
<div ng-switch-when="DATE">
- <input type="text"
+ <div class="hideInPrint">
+ <input type="text"
placeholder="{{dhis2CalendarFormat.keyDateFormat}}"
d2-date
d2-date-validator
@@ -402,9 +500,14 @@
ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed || assignedFields[currentEvent.event][de.dataElement.id]"
blur-or-change="saveDatavalue(prStDes[de.dataElement.id])"
name="foo"/>
+ </div>
+ <div class="not-for-screen">
+ <input type="text" class="form-control" value={{currentEvent[prStDes[de.dataElement.id].dataElement.id]}}>
+ </div>
</div>
<div ng-switch-when="TRUE_ONLY">
- <input type="checkbox"
+ <div class="hideInPrint">
+ <input type="checkbox"
class="form-control"
ng-class="getInputNotifcationClass(prStDes[de.dataElement.id].dataElement.id,false, currentEvent)"
ng-model="currentEvent[prStDes[de.dataElement.id].dataElement.id]"
@@ -412,39 +515,56 @@
ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed || assignedFields[currentEvent.event][de.dataElement.id]"
ng-change="saveDatavalue(prStDes[de.dataElement.id], innerForm.foo)"
name="foo"/>
+ </div>
+ <div class="not-for-screen">
+ <input type="checkbox" class="form-control" ng-checked={{currentEvent[prStDes[de.dataElement.id].dataElement.id]}}>
+ </div>
</div>
<div ng-switch-when="LONG_TEXT">
- <textarea rows="3"
+ <div class="hideInPrint">
+ <textarea rows="3"
class="form-control"
ng-class="getInputNotifcationClass(prStDes[de.dataElement.id].dataElement.id,false, currentEvent)"
ng-model="currentEvent[prStDes[de.dataElement.id].dataElement.id]"
ng-required={{prStDes[de.dataElement.id].compulsory}}
ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed || assignedFields[currentEvent.event][de.dataElement.id]"
ng-blur="saveDatavalue(prStDes[de.dataElement.id], innerForm.foo)"
- name="foo">
- </textarea>
+ name="foo"></textarea>
+ </div>
+ <div class="not-for-screen">
+ <textarea rows="3" class="form-control" value={{currentEvent[prStDes[de.dataElement.id].dataElement.id]}}></textarea>
+ </div>
</div>
<div ng-switch-when="TEXT">
- <input type="text"
+ <div class="hideInPrint">
+ <input type="text"
class="form-control"
ng-class="getInputNotifcationClass(prStDes[de.dataElement.id].dataElement.id,false, currentEvent)"
ng-model="currentEvent[prStDes[de.dataElement.id].dataElement.id]"
ng-required={{prStDes[de.dataElement.id].compulsory}}
ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed || assignedFields[currentEvent.event][de.dataElement.id]"
ng-blur="saveDatavalue(prStDes[de.dataElement.id], innerForm.foo)"
- name="foo"/>
+ name="foo"/>
+ </div>
+ <div class="not-for-screen">
+ <input type="text" class="form-control" value={{currentEvent[prStDes[de.dataElement.id].dataElement.id]}}>
+ </div>
</div>
<div ng-switch-default>
- <input type="text"
- class="form-control"
- ng-class="getInputNotifcationClass(prStDes[de.dataElement.id].dataElement.id,false, currentEvent)"
- ng-model="currentEvent[prStDes[de.dataElement.id].dataElement.id]"
- ng-required={{prStDes[de.dataElement.id].compulsory}}
- ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed || assignedFields[currentEvent.event][de.dataElement.id]"
- ng-blur="saveDatavalue(prStDes[de.dataElement.id])"
- name="foo"/>
- </div>
-
+ <div class="hideInPrint">
+ <input type="text"
+ class="form-control"
+ ng-class="getInputNotifcationClass(prStDes[de.dataElement.id].dataElement.id,false, currentEvent)"
+ ng-model="currentEvent[prStDes[de.dataElement.id].dataElement.id]"
+ ng-required={{prStDes[de.dataElement.id].compulsory}}
+ ng-disabled="selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed || assignedFields[currentEvent.event][de.dataElement.id]"
+ ng-blur="saveDatavalue(prStDes[de.dataElement.id])"
+ name="foo"/>
+ </div>
+ <div class="not-for-screen">
+ <input type="text" class="form-control" value={{currentEvent[prStDes[de.dataElement.id].dataElement.id]}}>
+ </div>
+ </div>
<div ng-messages="innerForm.foo.$error" ng-if="interacted(innerForm.foo, outerForm)" class="required" ng-messages-include="../dhis-web-commons/angular-forms/error-messages.html">
</div>
<div class="alert alert-warning alert-dismissible" role="alert" ng-if="warningMessages[currentEvent.event][de.dataElement.id]">
=== modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/event-details.html'
--- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/event-details.html 2015-12-17 16:15:10 +0000
+++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/event-details.html 2015-12-28 14:53:48 +0000
@@ -5,7 +5,7 @@
{{currentEvent.excecutionDateLabel}}
<input type="text"
placeholder="{{dhis2CalendarFormat.keyDateFormat}}"
- class="form-control"
+ class="form-control hideInPrint"
ng-class="{'input-success': eventDateSaved}"
d2-date
max-date="0"
@@ -14,6 +14,10 @@
ng-disabled="currentEvent.status === 'SKIPPED' || selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed"
ng-required="true"
blur-or-change="saveEventDate()"/>
+ <input type="text"
+ class="form-control not-for-screen"
+ ng-class="{'input-success': eventDateSaved}"
+ value={{currentEvent.eventDate}}>
<span ng-if="invalidDate === currentEvent.event" class="error">{{'date_required'| translate}}</span>
</div>
<div ng-if="!currentStage.hideDueDate || !currentEvent.eventDate && currentEvent.status !== 'SKIPPED'" class="col-md-6">
=== added file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/main-dataentry-form.html'
--- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/main-dataentry-form.html 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/main-dataentry-form.html 2015-12-28 14:53:48 +0000
@@ -0,0 +1,17 @@
+<form name="outerForm" novalidate>
+ <div ng-if="currentEvent">
+ <div ng-include="'components/dataentry/event-details.html'"></div>
+ <!-- data entry form begins -->
+ <div ng-if="currentEvent.eventDate">
+ <div class="clear vertical-spacing" ng-if="displayCustomForm === 'CUSTOM'" ng-include="'../dhis-web-commons/angular-forms/custom-form.html'"></div>
+ <div class="clear vertical-spacing" ng-if="displayCustomForm === 'DEFAULT'" ng-include="'components/dataentry/default-form.html'"></div>
+ </div>
+ <!-- the table form is insensitive to the event date being present. In this situation the eventdate is set inside the table form -->
+ <div class="clear vertical-spacing" ng-if="displayCustomForm === 'TABLE'" ng-include="'components/dataentry/table-entry-form.html'"></div>
+ <!-- data entry form ends -->
+
+ <!-- data entry/event buttons begins -->
+ <div ng-include="'components/dataentry/dataentry-buttons.html'"></div>
+ <!-- data entry/event buttons ends -->
+ </div>
+</form>
\ No newline at end of file
=== modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/index.html'
--- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/index.html 2015-12-23 08:56:16 +0000
+++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/index.html 2015-12-28 14:53:48 +0000
@@ -124,7 +124,6 @@
<link type="text/css" rel="stylesheet" href="../dhis-web-commons/javascripts/angular/plugins/select2.css">
<link type="text/css" rel="stylesheet" href="styles/style.css">
- <link type="text/css" rel="stylesheet" media="screen" href="styles/screen.css">
<link type="text/css" rel="stylesheet" media="print" href="styles/print.css">
<script type="text/javascript" src="../main.js"></script>
=== removed file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/styles/bootstrap.min.css'
--- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/styles/bootstrap.min.css 2015-12-16 13:52:38 +0000
+++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/styles/bootstrap.min.css 1970-01-01 00:00:00 +0000
@@ -1,14 +0,0 @@
-/*!
- * Bootstrap v3.3.5 (http://getbootstrap.com)
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */
-
-/*!
- * Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=04c66795bd1a555a8572)
- * Config saved to config.json and https://gist.github.com/04c66795bd1a555a8572
- *//*!
- * Bootstrap v3.3.6 (http://getbootstrap.com)
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:hover,a:focus{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:0.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{border:0;background-color:transparent}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type="date"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:34px}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm,.input-group-sm input[type="date"],.input-group-sm input[type="time"],.input-group-sm input[type="datetime-local"],.input-group-sm input[type="month"]{line-height:30px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg,.input-group-lg input[type="date"],.input-group-lg input[type="time"],.input-group-lg input[type="datetime-local"],.input-group-lg input[type="month"]{line-height:46px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0;min-height:34px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.clearfix:before,.clearfix:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after{content:" ";display:table}.clearfix:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}
\ No newline at end of file
=== modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/styles/print.css'
--- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/styles/print.css 2015-12-24 12:02:01 +0000
+++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/styles/print.css 2015-12-28 14:53:48 +0000
@@ -24,93 +24,14 @@
display: none !important;
}
-.dhis2-table-striped-border {
- width: 100%;
- border-collapse: collapse;
- cursor: pointer;
- table-layout: fixed;
-}
-
-.dhis2-table-striped-border tr th {
- border: 1px solid #cad5e5;
-}
-
-.dhis2-table-striped-border tr td {
- border: 1px solid #cad5e5;
-}
-
-.dhis2-table-striped-border > tbody > tr:nth-child(odd)> td, .dhis2-table-striped > tbody > tr:nth-child(odd)> th {
- background-color: #ebf0f6
-}
-
-.dhis2-table-striped>thead>tr,
-.dhis2-table-striped>tbody>tr,
-.dhis2-table-striped>tfoot>tr,
-.dhis2-table-striped>thead>tr,
-.dhis2-table-striped>tbody>tr,
-.dhis2-table-striped>tfoot>tr {
- border-bottom: 1px solid #cad5e5;
-}
-
-.dhis2-table-striped > tbody > tr:nth-child(odd)> td, .dhis2-table-striped > tbody > tr:nth-child(odd)> th {
- background-color: #ebf0f6
-}
-
-.dhis2-list-table-striped {
- width: 100%;
- padding: 5px 10px;
- table-layout: fixed;
-}
-
-.dhis2-list-table-striped>thead>tr,
-.dhis2-list-table-striped>tbody>tr,
-.dhis2-list-table-striped>tfoot>tr,
-.dhis2-list-table-striped>thead>tr,
-.dhis2-list-table-striped>tbody>tr,
-.dhis2-list-table-striped>tfoot>tr {
- border: none;
-}
-
-.dhis2-list-table-striped > tbody > tr:nth-child(odd)> td, .dhis2-table-striped > tbody > tr:nth-child(odd)> th {
- background-color: #ebf0f6
-}
-
-table.table-striped tr.selected > td {
- background-color: #d9edf7;;
-}
-
-table.table-striped tr td.optionset {
- padding-left: 0px;
- padding-right: 0px;
-}
-
-.vertical-spacing{
- margin-top: 50px;
- margin-bottom: 50px;
-}
-
-
-.align-center {
- text-align: center;
-}
-
-.alert {
- padding: 15px;
- margin-bottom: 20px;
- border: 1px solid transparent;
- border-radius: 4px
-}
-
-.alert-warning {
- color: #c09853;
- background-color: #fcf8e3;
- border-color: #faebcc
-}
-
-.section {
- font-size: 20px;
-}
-
-.attritbute-name {
- width:50%;
+span.select2-chosen.ng-binding.ng-hide {
+ display: none !important;
+}
+
+.select2-arrow, .ui-select-toggle {
+ display: none !important;
+}
+
+.dhis2-list-table-striped > thead > tr > th, .dhis2-list-table-striped > tbody > tr > th, .dhis2-list-table-striped > tfoot > tr > th, .dhis2-list-table-striped > thead > tr > td, .dhis2-list-table-striped > tbody > tr > td, .dhis2-list-table-striped > tfoot > tr > td {
+ border: 1px solid #ddd
}
\ No newline at end of file
=== removed file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/styles/screen.css'
--- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/styles/screen.css 2015-03-06 10:08:41 +0000
+++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/styles/screen.css 1970-01-01 00:00:00 +0000
@@ -1,11 +0,0 @@
-html, body {
- height:100%;
- margin: 0;
- padding: 0;
- background-color: white;
- font-size: 10pt;
-}
-
-.not-for-screen {
- display: none;
-}
\ No newline at end of file
=== modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/styles/style.css'
--- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/styles/style.css 2015-12-28 12:37:51 +0000
+++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/styles/style.css 2015-12-28 14:53:48 +0000
@@ -11,14 +11,16 @@
}
@media print {
- .not-for-screen {
- display: block;
- }
+
body, html {
width: 100% !important;
height: auto !important;
}
-
+
+ .not-for-screen {
+ display: block;
+ }
+
::-webkit-input-placeholder { /* WebKit browsers */
color: white !important;
}
@@ -32,15 +34,15 @@
color: white !important;
}
- .select2-chosen {
- color: white !important;
- }
-
#header, #leftBar, .hideInPrint {
display: none !important;
- }
+ }
+
+ span.select2-chosen.ng-binding.ng-hide {
+ display: none !important;
+ }
- .select2-arrow, .ui-select-toggle {
+ .select2-arrow, .ui-select-toggle, .select2-chosen {
display: none !important;
}
}
@@ -225,12 +227,7 @@
div.ui-select-dropdown.select2-drop.select2-with-searchbox.select2-drop-active{
min-width: 200px;
}
-ul.select2-choices {
- /*overflow: visible !important;*/
-}
-span.form-control-ui-select.ui-select-match {
- padding:1px;
-}
+
.container-heading {
color: white;
}
@@ -256,8 +253,6 @@
border-color: #aaa29a;
}
-
-
.stick {
font-weight: bolder;
color: #000000;
=== modified file 'dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/javascripts/dhis2/dhis2.angular.services.js'
--- dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/javascripts/dhis2/dhis2.angular.services.js 2015-12-28 12:24:24 +0000
+++ dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/javascripts/dhis2/dhis2.angular.services.js 2015-12-28 14:53:48 +0000
@@ -362,7 +362,7 @@
attributes['name'] = fieldId;
}
- newInputField = '<input type="text" ' +
+ newInputField = '<span class="hideInPrint"><input type="text" ' +
this.getAttributesAsString(attributes) +
' ng-model="currentEvent.' + fieldId + '"' +
' input-field-id="' + fieldId + '"' +
@@ -372,7 +372,7 @@
' placeholder="{{dhis2CalendarFormat.keyDateFormat}}" ' +
' ng-class="getInputNotifcationClass(prStDes.' + fieldId + '.dataElement.id,true)"' +
' blur-or-change="saveDatavalue(prStDes.' + fieldId + ')"' +
- ' ng-required="{{true}}">';
+ ' ng-required="{{true}}"></span><span class="not-for-screen"><input type="text" value={{currentEvent.' + fieldId + '}}></span>';
}
else {
fieldId = attributes['id'].substring(4, attributes['id'].length - 1).split("-")[1];
@@ -395,13 +395,13 @@
//check if dataelement has optionset
if (prStDe.dataElement.optionSetValue) {
var optionSetId = prStDe.dataElement.optionSet.id;
- newInputField = '<ui-select style="width:100%;" theme="select2" ' + commonInputFieldProperty + ' on-select="saveDatavalue(prStDes.' + fieldId + ', outerForm.' + fieldId + ')" >' +
+ newInputField = '<span class="hideInPrint"><ui-select style="width:100%;" theme="select2" ' + commonInputFieldProperty + ' on-select="saveDatavalue(prStDes.' + fieldId + ', outerForm.' + fieldId + ')" >' +
'<ui-select-match style="width:100%;" ng-class="getInputNotifcationClass(prStDes.' + fieldId + '.dataElement.id, true)" allow-clear="true" placeholder="' + $translate.instant('select_or_search') + '">{{$select.selected.name || $select.selected}}</ui-select-match>' +
'<ui-select-choices ' +
' repeat="option.name as option in optionSets.' + optionSetId + '.options | filter: $select.search | limitTo:maxOptionSize">' +
'<span ng-bind-html="option.name | highlight: $select.search"></span>' +
'</ui-select-choices>' +
- '</ui-select>';
+ '</ui-select></span><span class="not-for-screen"><input type="text" value={{currentEvent.' + fieldId + '}}></span>';
}
else {
//check data element type and generate corresponding angular input field
@@ -410,46 +410,48 @@
prStDe.dataElement.valueType === "INTEGER_POSITIVE" ||
prStDe.dataElement.valueType === "INTEGER_NEGATIVE" ||
prStDe.dataElement.valueType === "INTEGER_ZERO_OR_POSITIVE") {
- newInputField = '<input type="number" ' +
+ newInputField = '<span class="hideInPrint"><input type="number" ' +
' d2-number-validator ' +
' ng-class="{{getInputNotifcationClass(prStDes.' + fieldId + '.dataElement.id, true)}}" ' +
' number-type="' + prStDe.dataElement.valueType + '" ' +
' ng-blur="saveDatavalue(prStDes.' + fieldId + ', outerForm.' + fieldId + ')"' +
- commonInputFieldProperty + ' >';
+ commonInputFieldProperty + '></span><span class="not-for-screen"><input type="text" value={{currentEvent.' + fieldId + '}}></span>';
}
else if (prStDe.dataElement.valueType === "BOOLEAN") {
- newInputField = '<label class="radio-inline"><input type="radio" ng-change="saveDatavalue()" ' + commonInputFieldProperty + ' value="">{{\'no_value\'| translate}}</label>' +
- '<label class="radio-inline"><input type="radio" ng-change="saveDatavalue()" ' + commonInputFieldProperty + ' value="true">{{\'yes\'| translate}}</label>' +
- '<label class="radio-inline"><input type="radio" ng-change="saveDatavalue()" ' + commonInputFieldProperty + ' value="false">{{\'no\'| translate}}</label>';
+ newInputField = '<span class="hideInPrint"><label class="radio-inline"><input type="radio" ng-change="saveDatavalue()" ' + commonInputFieldProperty + ' value="">{{\'no_value\'| translate}}</label>' +
+ '<label class="radio-inline"><input type="radio" ng-change="saveDatavalue(prStDes.' + fieldId + ', outerForm.' + fieldId + ')" ' + commonInputFieldProperty + ' value="true">{{\'yes\'| translate}}</label>' +
+ '<label class="radio-inline"><input type="radio" ng-change="saveDatavalue(prStDes.' + fieldId + ', outerForm.' + fieldId + ')" ' + commonInputFieldProperty + ' value="false">{{\'no\'| translate}}</label></span>' +
+ '<span class="not-for-screen"><label class="radio-inline"><input type="radio" ng-checked="{{\'true\' === currentEvent.' + fieldId + '}}">{{\'yes\'| translate}}</label>' +
+ '<label class="radio-inline"><input type="radio" ng-checked="{{\'false\' === currentEvent.' + fieldId + '}}">{{\'no\'| translate}}</label></span>';
}
else if (prStDe.dataElement.valueType === "DATE") {
var maxDate = prStDe.allowFutureDate ? '' : 0;
- newInputField = '<input type="text" ' +
+ newInputField = '<span class="hideInPrint"><input type="text" ' +
' placeholder="{{dhis2CalendarFormat.keyDateFormat}}" ' +
' ng-class="{{getInputNotifcationClass(prStDes.' + fieldId + '.dataElement.id, true)}}" ' +
' d2-date ' +
' d2-date-validator ' +
' max-date="' + maxDate + '"' +
' blur-or-change="saveDatavalue(prStDes.' + fieldId + ', outerForm.' + fieldId + ')"' +
- commonInputFieldProperty + ' >';
+ commonInputFieldProperty + ' ></span><span class="not-for-screen"><input type="text" value={{currentEvent.' + fieldId + '}}></span>';
}
else if (prStDe.dataElement.valueType === "TRUE_ONLY") {
- newInputField = '<input type="checkbox" ' +
+ newInputField = '<span class="hideInPrint"><input type="checkbox" ' +
' ng-class="{{getInputNotifcationClass(prStDes.' + fieldId + '.dataElement.id, true)}}" ' +
' ng-change="saveDatavalue(prStDes.' + fieldId + ', outerForm.' + fieldId + ')"' +
- commonInputFieldProperty + ' >';
+ commonInputFieldProperty + ' ></span><span class="not-for-screen"><input type="checkbox" ng-checked={{currentEvent.' + fieldId + '}}></span>';
}
else if (prStDe.dataElement.valueType === "LONG_TEXT") {
- newInputField = '<textarea row ="3" ' +
+ newInputField = '<textarea row="3" ' +
' ng-class="{{getInputNotifcationClass(prStDes.' + fieldId + '.dataElement.id, true)}}" ' +
' ng-blur="saveDatavalue(prStDes.' + fieldId + ', outerForm.' + fieldId + ')"' +
- commonInputFieldProperty + '></textarea>';
+ commonInputFieldProperty + '></textarea></span><span class="not-for-screen"><textarea row="3" value={{currentEvent.' + fieldId + '}}></span>';
}
else {
- newInputField = '<input type="text" ' +
+ newInputField = '<span class="hideInPrint"><input type="text" ' +
' ng-class="{{getInputNotifcationClass(prStDes.' + fieldId + '.dataElement.id, true)}}" ' +
' ng-blur="saveDatavalue(prStDes.' + fieldId + ', outerForm.' + fieldId + ')"' +
- commonInputFieldProperty + ' >';
+ commonInputFieldProperty + ' ></span><span class="not-for-screen"><input type="text" value={{currentEvent.' + fieldId + '}}></span>';
}
}
}