Skip to content
This repository has been archived by the owner on Jan 17, 2024. It is now read-only.

Commit

Permalink
Merge pull request #99 from AppliedIS/ui-components
Browse files Browse the repository at this point in the history
Ui components
  • Loading branch information
jefferey committed Nov 3, 2016
2 parents bb45661 + 2bfb955 commit 0db60b0
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 148 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -44,54 +44,6 @@ module.exports = function(ngModule) {
let questionKeys = [ 'PrevailingWageMethod' ];
responsesService.getQuestionResponses(questionKeys).then((responses) => { $scope.responses = responses; });

this.onStudySelected = function(fileinput) {
if(fileinput.files.length > 0){
apiService.uploadAttachment(stateService.access_token, stateService.ein, fileinput.files[0]).then(function (result){
$scope.formData[$scope.modelPrefix()].Attachment = result.data[0];
fileinput.value = '';
}, function(error){
//TODO: Display error
fileinput.value = '';
})
}
}

this.onHourlyDeterminationSelected = function(fileinput) {
if(fileinput.files.length > 0){
apiService.uploadAttachment(stateService.access_token, stateService.ein, fileinput.files[0]).then(function (result){
$scope.formData[$scope.modelPrefix()].mostRecentPrevailingWageSurvey.hourlyDeterminationAttachment = result.data[0];
fileinput.value = '';
}, function(error){
//TODO: Display error
fileinput.value = '';
})
}
}

this.onSCAWageDeterminationSelected = function(fileinput) {
if(fileinput.files.length > 0){
apiService.uploadAttachment(stateService.access_token, stateService.ein, fileinput.files[0]).then(function (result){
$scope.formData[$scope.modelPrefix()].scaWageDeterminationAttachment = result.data[0];
fileinput.value = '';
}, function(error){
//TODO: Display error
fileinput.value = '';
})
}
}

this.onPieceRateDocumentSelected = function(fileinput) {
if(fileinput.files.length > 0){
apiService.uploadAttachment(stateService.access_token, stateService.ein, fileinput.files[0]).then(function (result){
$scope.formData[$scope.modelPrefix()].Attachment = result.data[0];
fileinput.value = '';
}, function(error){
//TODO: Display error
fileinput.value = '';
})
}
}

this.addSourceEmployer = function() {
//vm.activeSourceEmployer.contactDate = moment(vm.activeSourceEmployer.contactDate.year + '-' + vm.activeSourceEmployer.contactDate.month + '-' + vm.activeSourceEmployer.contactDate.day).format();
if (vm.activeSourceEmployerIndex > -1) {
Expand Down Expand Up @@ -119,30 +71,5 @@ module.exports = function(ngModule) {
this.deleteSourceEmployer = function(index) {
$scope.formData[$scope.modelPrefix].mostRecentPrevailingWageSurvey.sourceEmployers.splice(index, 1);
}

this.deleteHourlyDeterminationAttachment = function(id){
apiService.deleteAttachment(stateService.access_token, stateService.ein, id).then(function (result){
$scope.formData[$scope.modelPrefix()].mostRecentPrevailingWageSurvey.hourlyDeterminationAttachment = undefined;
}, function(error){
//TODO: Display error
$scope.formData[$scope.modelPrefix()].mostRecentPrevailingWageSurvey.hourlyDeterminationAttachment = undefined;
})
}
this.deleteScaWageDeterminationAttachment = function(id){
apiService.deleteAttachment(stateService.access_token, stateService.ein, id).then(function (result){
$scope.formData[$scope.modelPrefix()].scaWageDeterminationAttachment = undefined;
}, function(error){
//TODO: Display error
$scope.formData[$scope.modelPrefix()].scaWageDeterminationAttachment = undefined;
})
}
this.deletePrevailingWageSurveyAttachment = function(id){
apiService.deleteAttachment(stateService.access_token, stateService.ein, id).then(function (result){
$scope.formData[$scope.modelPrefix()].Attachment = undefined;
}, function(error){
//TODO: Display error
$scope.formData[$scope.modelPrefix()].Attachment = undefined;
})
}
});
}
Original file line number Diff line number Diff line change
Expand Up @@ -149,20 +149,7 @@

<label>Date of Contact</label>
<fieldset>
<div class="usa-date-of-birth">
<div class="usa-form-group usa-form-group-month">
<label for="dateOfContactMonth">Month</label>
<input class="usa-input-inline" aria-describedby="dobHint" class="usa-form-control" id="dateOfContactMonth" name="dateOfContactMonth" pattern="0?[1-9]|1[012]" type="number" min="1" max="12" value="" ng-model="vm.activeSourceEmployer.contactDate.month">
</div>
<div class="usa-form-group usa-form-group-day">
<label for="dateOfContactDay">Day</label>
<input class="usa-input-inline" aria-describedby="dobHint" class="usa-form-control" id="dateOfContactDay" name="dateOfContactDay" pattern="0?[1-9]|1[0-9]|2[0-9]|3[01]" type="number" min="1" max="31" value="" ng-model="vm.activeSourceEmployer.contactDate.day">
</div>
<div class="usa-form-group usa-form-group-year">
<label for="dateOfContactYear">Year</label>
<input class="usa-input-inline" aria-describedby="dobHint" class="usa-form-control" id="dateOfContactYear" name="dateOfContactYear" pattern="[0-9]{4}" type="number" min="1900" max="3000" value="" ng-model="vm.activeSourceEmployer.contactDate.year">
</div>
</div>
<date-field date-val="vm.activeSourceEmployer.contactDate" />
</fieldset>

<label for="sourceEmployerJobDescription">Brief Description of Job/Task</label>
Expand Down Expand Up @@ -197,15 +184,7 @@
</tbody>
</table>
<label>If needed, attach an additional sheet headed "Prevailing Wage Determination-{{ paytype === 'hourly' ? 'Hourly' : 'Piece Rate'}}"</label>
<div ng-show="formData[modelPrefix()].mostRecentPrevailingWageSurvey.Attachment == undefined">
<input id="hourlyDeterminationFileInput" class="upload-file-input" type="file" ng-hide="true" onchange="angular.element(this).scope().vm.onHourlyDeterminationSelected(this)" accept=".doc,.docx,.xls,.xlsx,.pdf,.jpg,.jpeg,.png">
<label for="hourlyDeterminationFileInput" class="upload-label usa-button-primary">Browse</label><input id="attachedHourlyDetermination" name="attachedHourlyDetermination" class="upload-input" type="text" disabled>
<label class="underlabel" for="attachedWorkMeasurement">File types accepted: PDF, Word, Excel, JPG, PNG</label>
</div>
<div ng-show="formData[modelPrefix()].mostRecentPrevailingWageSurvey.Attachment != undefined">
<a ng-href="{{vm.attachmentApiURL}}/{{formData[modelPrefix()].mostRecentPrevailingWageSurvey.Attachment.id}}?access_token={{vm.access_token}}">{{formData[modelPrefix()].mostRecentPrevailingWageSurvey.Attachment.originalFileName}}</a>
<button class="usa-button-secondary" ng-click="vm.deleteHourlyDeterminationAttachment(formData[modelPrefix()].mostRecentPrevailingWageSurvey.Attachment.id)">Delete</button>
</div>
<attachment-field attachment-id="formData[modelPrefix()].mostRecentPrevailingWageSurvey.attachmentId" attachment-name="formData[modelPrefix()].mostRecentPrevailingWageSurvey.attachmentName" />
</div>
</div>
</div>
Expand All @@ -226,20 +205,7 @@

<label>Date data retrieved</label>
<fieldset>
<div class="usa-date-of-birth">
<div class="usa-form-group usa-form-group-month">
<label for="dateRetrievedMonth">Month</label>
<input class="usa-input-inline" aria-describedby="dobHint" class="usa-form-control" id="dateRetrievedMonth" name="dateRetrievedMonth" pattern="0?[1-9]|1[012]" type="number" min="1" max="12" value="" ng-model="formData[modelPrefix()].alternateWageData.dateRetrieved.month">
</div>
<div class="usa-form-group usa-form-group-day">
<label for="dateRetrievedDay">Day</label>
<input class="usa-input-inline" aria-describedby="dobHint" class="usa-form-control" id="dateRetrievedDay" name="dateRetrievedDay" pattern="0?[1-9]|1[0-9]|2[0-9]|3[01]" type="number" min="1" max="31" value="" ng-model="formData[modelPrefix()].alternateWageData.dateRetrieved.day">
</div>
<div class="usa-form-group usa-form-group-year">
<label for="dateRetrievedYear">Year</label>
<input class="usa-input-inline" aria-describedby="dobHint" class="usa-form-control" id="dateRetrievedYear" name="dateRetrievedYear" pattern="[0-9]{4}" type="number" min="1900" max="3000" value="" ng-model="formData[modelPrefix()].alternateWageData.dateRetrieved.year">
</div>
</div>
<date-field date-val="formData[modelPrefix()].alternateWageData.dataRetrieved" />
<label class="example">Example: 04 30 2016</label>
</fieldset>

Expand All @@ -250,15 +216,7 @@
<div class="form-question-group em-block" ng-show="formData[modelPrefix()].prevailingWageMethod === 26">
<div class="form-question-block">
<div class="form-question-text">Attach the applicable SCA Wage Determination</div>
<div class="form-question-answer" ng-show="formData[modelPrefix()].scaWageDeterminationAttachment == undefined">
<input id="scaWageDeterminationInput" class="upload-file-input" type="file" ng-hide="true" onchange="angular.element(this).scope().vm.onSCAWageDeterminationSelected(this)" accept=".doc,.docx,.xls,.xlsx,.pdf,.jpg,.jpeg,.png">
<label for="scaWageDeterminationInput" class="upload-label usa-button-primary">Browse</label><input id="attachedSCAWageDetermination" name="attachedSCAWageDetermination" class="upload-input" type="text" disabled>
<label class="underlabel" for="attachedSCAWageDetermination">File types accepted: PDF, Word, Excel, JPG, PNG</label>
</div>
<div class="form-question-answer" ng-show="formData[modelPrefix()].scaWageDeterminationAttachment != undefined">
<a ng-href="{{vm.attachmentApiURL}}/{{formData[modelPrefix()].scaWageDeterminationAttachment.id}}?access_token={{vm.access_token}}">{{formData[modelPrefix()].scaWageDeterminationAttachment.originalFileName}}</a>
<button class="usa-button-secondary" ng-click="vm.deleteScaWageDeterminationAttachment(formData[modelPrefix()].scaWageDeterminationAttachment.id)">Delete</button>
</div>
<attachment-field attachment-id="formData[modelPrefix()].scaWageDeterminationAttachmentId" attachment-name="formData[modelPrefix()].scaWageDeterminationAttachmentName" />
</div>
</div>

Expand All @@ -280,16 +238,7 @@
<helplink></helplink>
<helptext>This is the help text.</helptext>
</div>
<div class="form-question-answer" ng-show="formData[modelPrefix()].Attachment == undefined">
<input id="workMeasurementFileInput" class="upload-file-input" type="file" ng-hide="true" onchange="angular.element(this).scope().vm.onStudySelected(this)" accept=".doc,.docx,.xls,.xlsx,.pdf,.jpg,.jpeg,.png">
<label for="workMeasurementFileInput" class="upload-label usa-button-primary">Browse</label><input id="attachedWorkMeasurement" name="attachedWorkMeasurement" class="upload-input" type="text" disabled>

<label class="underlabel" for="attachedWorkMeasurement">File types accepted: PDF, Word, Excel, JPG, PNG</label>
</div>
<div class="form-question-answer" ng-show="formData[modelPrefix()].Attachment != undefined">
<a ng-href="{{vm.attachmentApiURL}}/{{formData[modelPrefix()].Attachment.id}}?access_token={{vm.access_token}}">{{formData[modelPrefix()].Attachment.originalFileName}}</a>
<button class="usa-button-secondary" ng-click="vm.deletePrevailingWageSurveyAttachment(formData[modelPrefix()].Attachment.id)">Delete</button>
</div>
<attachment-field attachment-id="formData[modelPrefix()].attachmentId" attachment-name="formData[modelPrefix()].attachmentName" />
</div>
</div>

Expand All @@ -315,15 +264,7 @@
<div class="form-question-text">Attach all documents of the methods used to determine the standard productivity and the piece rate.</div>
<div class="form-question-answer">
<span>Examples include detailed task analysis(including quality and quantity measures), and productivity of an experienced worker who is not disabled for the work performing the same job (i.e. "standard setter").</span>
<div ng-show="formData[modelPrefix()].Attachment == undefined">
<input id="pieceRateDocumentationInput" class="upload-file-input" type="file" ng-hide="true" onchange="angular.element(this).scope().vm.onPieceRateDocumentSelected(this)" accept=".doc,.docx,.xls,.xlsx,.pdf,.jpg,.jpeg,.png">
<label for="pieceRateDocumentationInput" class="upload-label usa-button-primary">Browse</label><input id="attachedPieceRateDocument" name="attachedPieceRateDocument" class="upload-input" type="text" disabled>
<label class="underlabel" for="attachedPieceRateDocument">File types accepted: PDF, Word, Excel, JPG, PNG</label>
</div>
<div ng-show="formData[modelPrefix()].Attachment != undefined">
<a ng-href="{{vm.attachmentApiURL}}/{{formData[modelPrefix()].Attachment.id}}?access_token={{vm.access_token}}">{{formData[modelPrefix()].Attachment.originalFileName}}</a>
<button class="usa-button-secondary" ng-click="vm.deletePrevailingWageSurveyAttachment(formData[modelPrefix()].Attachment.id)">Delete</button>
</div>
<attachment-field attachment-id="formData[modelPrefix()].attachmentId" attachment-name="formData[modelPrefix()].attachmentName" />
</div>
</div>
</div>
Expand Down
14 changes: 4 additions & 10 deletions DOL.WHD.Section14c.Web/src/modules/services/validationService.js
Original file line number Diff line number Diff line change
Expand Up @@ -143,12 +143,6 @@ module.exports = function(ngModule) {
return undefined;
}

this.checkRequiredDate = function(monthPath, dayPath, yearPath) {
let month = this.checkRequiredNumber(monthPath, "Please enter a valid month", 1, 12);
this.checkRequiredNumber(dayPath, "Please enter a valid day", 1, month && month === 2 ? 28 : month && !includes(months31, month) ? 30 : 31);
this.checkRequiredNumber(yearPath, "Please enter a valid year", 1900);
}

this.checkRequiredDateComponent = function(propPath) {
let val = this.checkRequiredValue(propPath);
if(!this.validateDate(val)) {
Expand Down Expand Up @@ -327,7 +321,7 @@ module.exports = function(ngModule) {

this.checkRequiredString(subprefix + ".contactName");
this.checkRequiredString(subprefix + ".contactTitle");
this.checkRequiredDate(subprefix + ".contactDate.month", subprefix + ".contactDate.day", subprefix + ".contactDate.year");
this.checkRequiredDateComponent(subprefix + ".contactDate");
this.checkRequiredString(subprefix + ".jobDescription");
this.checkRequiredNumber(subprefix + ".experiencedWorkerWageProvided", undefined, 0);
this.checkRequiredString(subprefix + ".conclusionWageRateNotBasedOnEntry");
Expand All @@ -338,10 +332,10 @@ module.exports = function(ngModule) {
this.checkRequiredString(prefix + ".alternateWageData.alternateWorkDescription");
this.checkRequiredString(prefix + ".alternateWageData.alternateDataSourceUsed");
this.checkRequiredNumber(prefix + ".alternateWageData.prevailingWageProvidedBySource");
this.checkRequiredDate(prefix + ".alternateWageData.dateRetrieved.month", prefix + ".alternateWageData.dateRetrieved.day", prefix + ".alternateWageData.dateRetrieved.year");
this.checkRequiredDateComponent(prefix + ".alternateWageData.dataRetrieved");
}
else if (prevailingWageMethod === _constants.responses.prevailingWageMethod.sca) {
this.checkRequiredValue(prefix + ".scaWageDeterminationAttachment", "Please upload the applicable documentation");
this.checkRequiredValue(prefix + ".scaWageDeterminationAttachmentId", "Please upload the applicable documentation");
}
}

Expand All @@ -358,7 +352,7 @@ module.exports = function(ngModule) {
this.validateWageDataPayType(prefix);

this.checkRequiredValue(prefix + ".workMeasurementFrequency");
this.checkRequiredValue(prefix + ".Attachment", "Please upload a work measurement or time study");
this.checkRequiredValue(prefix + ".attachmentId", "Please upload a work measurement or time study");
}

if (isPieceRate) {
Expand Down

0 comments on commit 0db60b0

Please sign in to comment.