added new fields to fact cleanup form

This commit is contained in:
John Mitchell 2015-06-15 15:14:21 -04:00
parent 6e07bfc779
commit 29cd31b3d4
4 changed files with 124 additions and 6 deletions

View File

@ -344,6 +344,40 @@ export default
};
scope.configureSchedule = function(id, name) {
if (id === 4) {
scope.isFactCleanup = true;
scope.keep_unit_choices = [{
"label" : "Days",
"value" : "d"
},
{
"label": "Weeks",
"value" : "w"
},
{
"label" : "Years",
"value" : "y"
}];
scope.granularity_keep_unit_choices = [{
"label" : "Days",
"value" : "d"
},
{
"label": "Weeks",
"value" : "w"
},
{
"label" : "Years",
"value" : "y"
}];
scope.prompt_for_days_facts_form.keep_amount.$setViewValue(30);
scope.prompt_for_days_facts_form.granularity_keep_amount.$setViewValue(1);
scope.keep_unit = scope.keep_unit_choices[0];
scope.granularity_keep_unit = scope.granularity_keep_unit_choices[1];
} else {
scope.isFactCleanup = false;
}
Rest.setUrl(scheduleUrl+id+'/schedules/');
Rest.get()
.success(function(data) {
@ -446,6 +480,32 @@ export default
container.show('slide', { direction: 'right' }, 300);
// scope.schedulerPurgeDays = (!Empty(scope.days)) ? Number(scope.days) : 30;
target.show();
scope.$watch('scheduler_form.keep_amount.$modelValue', function(newVal) {
if (!newVal && newVal !== 0) {
$('#configure-save-button').prop("disabled", true);
} else if (isNaN(newVal)) {
$('#configure-save-button').prop("disabled", true);
} else if (newVal < 0) {
$('#configure-save-button').prop("disabled", true);
} else if (newVal > 9999) {
$('#configure-save-button').prop("disabled", true);
} else {
$('#configure-save-button').prop("disabled", false);
}
});
scope.$watch('scheduler_form.granularity_keep_amount.$modelValue', function(newVal2) {
if (!newVal2 && newVal2 !== 0) {
$('#configure-save-button').prop("disabled", true);
} else if (isNaN(newVal2)) {
$('#configure-save-button').prop("disabled", true);
} else if (newVal2 < 0) {
$('#configure-save-button').prop("disabled", true);
} else if (newVal2 > 9999) {
$('#configure-save-button').prop("disabled", true);
} else {
$('#configure-save-button').prop("disabled", false);
}
});
if(mode==="add"){
scope.$apply(function(){
scope.schedulerPurgeDays = 30;

View File

@ -2000,3 +2000,33 @@ tr td button i {
.JobDetails-status {
margin-bottom: 12px;
}
.red-text {
color: @red;
}
.factDetailsNote {
margin-bottom: 10px;
}
.inputSpacer {
margin-bottom: 25px;
}
.cleanupStretcher {
margin: 0 -15px;
}
.factDaysToKeepCompacter {
margin-bottom: 15px;
}
.factDetailsHeader {
font-weight: bold;
}
@media (max-width: 991px) {
.inputCompactMobile {
margin-bottom: 15px;
}
}

View File

@ -22,11 +22,39 @@
<div class="error" ng-show="scheduler_form.schedulerName.$dirty && scheduler_form.schedulerName.$error.required">A schedule name is required.</div>
</div>
<div class="form-group" ng-show="cleanupJob">
<label><span class="red-text">*</span>Days of data to keep</label>
<input type="number" class="form-control input-sm" name="schedulerPurgeDays" id="schedulerPurgeDays" min="1" ng-model="schedulerPurgeDays" required placeholder="Days of data to keep">
<div class="error" ng-show="scheduler_form.schedulerPurgeDays.$dirty && scheduler_form.schedulerPurgeDays.$error.required">A value is required.</div>
<div class="error" ng-show="scheduler_form.schedulerPurgeDays.$error.number">This is not a valid number.</div>
<div class="factDetailsNote" ng-if="isFactCleanup"><span class="factDetailsHeader">Note:</span> For facts collected older than the time period specified, save one fact scan (snapshot) per time window (frequency). For example, facts older than 30 days are purged, while one weekly fact scan is kept.
Caution: Setting both numerical variables to "0" will delete all facts.</div>
<div class="form-group cleanupStretcher factDaysToKeepCompacter" ng-if="isFactCleanup">
<div class="col-md-12">
<label><span class="red-text">*</span> Select a time period after which to remove old facts</label>
</div>
<div class="col-md-6 inputSpacer inputCompactMobile">
<input type="number" id="keep_amount" name="keep_amount" ng-model="keep_amount" ng-required="true" class="form-control input-sm" aw-min=0 aw-max=9999 integer></input>
<div class="error" ng-show="scheduler_form.keep_amount.$dirty && scheduler_form.keep_amount.$error.required">Please enter the number of days you would like to keep this data.</div>
<div class="error survey_error" ng-show="scheduler_form.keep_amount.$error.number || scheduler_form.keep_amount.$error.integer" >Please enter a valid number.</div>
<div class="error survey_error" ng-show="scheduler_form.keep_amount.$error.awMin">Please enter a non-negative number.</div>
<div class="error survey_error" ng-show="scheduler_form.keep_amount.$error.awMax">Please enter a number smaller than 9999.</div>
</div>
<div class="col-md-6 inputSpacer">
<select id="keep_unit" name="keep_unit" ng-model="keep_unit" ng-options="type.label for type in keep_unit_choices track by type.value" ng-required="true" class="form-control input-sm"></select>
</div>
</div>
<div class="form-group cleanupStretcher" ng-if="isFactCleanup">
<div class="col-md-12">
<label><span class="red-text">*</span> Select a frequency for snapshot retention</label>
</div>
<div class="col-md-6 inputSpacer inputCompactMobile">
<input type="number" class="form-control input-sm" id="granularity_keep_amount" name="granularity_keep_amount" ng-model="granularity_keep_amount" ng-required="true" aw-min=0 aw-max=9999 >
<div class="error" ng-show="scheduler_form.granularity_keep_amount.$dirty && scheduler_form.granularity_keep_amount.$error.required">Please enter the number of days you would like to keep this data.</div>
<div class="error survey_error" ng-show="scheduler_form.granularity_keep_amount.$error.number || scheduler_form.granularity_keep_amount.$error.integer" >Please enter a valid number.</div>
<div class="error survey_error" ng-show="scheduler_form.granularity_keep_amount.$error.awMin">Please enter a non-negative number.</div>
<div class="error survey_error" ng-show="scheduler_form.granularity_keep_amount.$error.awMax">Please enter a number smaller than 9999.</div>
</div>
<div class="col-md-6 inputSpacer">
<select id="granularity_keep_unit" name="granularity_keep_unit" ng-model="granularity_keep_unit" ng-options="type.label for type in granularity_keep_unit_choices track by type.value" ng-required="true" class="form-control input-sm"></select>
</div>
</div>
<div class="row">

View File

@ -192,7 +192,7 @@
<div id="prompt-for-days-facts" style="display:none">
<form name="prompt_for_days_facts_form" id="prompt_for_days_facts_form">
<div style="padding-bottom:15px;">For facts collected older than the time period specified,
save one fact scan (snapshot) per time window (granularity).
save one fact scan (snapshot) per time window (frequency).
For example, facts older than 30 days are purged, while one
weekly fact scan is kept.<br>
Caution: Setting both numerical variables to "0" will delete all facts.<br></div>