mirror of
https://github.com/ansible/awx.git
synced 2026-04-07 02:59:21 -02:30
Add debounce function to preview list to reduce overhead
This commit is contained in:
@@ -308,6 +308,27 @@ export default ['$filter', '$state', '$stateParams', '$http', 'Wait',
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let previewList = _.debounce(function(req) {
|
||||||
|
$http.post('/api/v2/schedules/preview/', {'rrule': req})
|
||||||
|
.then(({data}) => {
|
||||||
|
$scope.preview_list = data;
|
||||||
|
for (let tz in data) {
|
||||||
|
$scope.preview_list.isEmpty = data[tz].length === 0;
|
||||||
|
$scope.preview_list[tz] = data[tz].map(function(date) {
|
||||||
|
date = date.replace(/Z/, '');
|
||||||
|
return moment.parseZone(date).format("MM-DD-YYYY HH:mm:ss");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}, 300);
|
||||||
|
|
||||||
|
$scope.$on("setPreviewPane", (event) => {
|
||||||
|
let rrule = event.currentScope.rrule.toString();
|
||||||
|
let req = RRuleToAPI(rrule, $scope);
|
||||||
|
previewList(req);
|
||||||
|
});
|
||||||
|
|
||||||
scheduler.inject('form-container', false);
|
scheduler.inject('form-container', false);
|
||||||
scheduler.injectDetail('occurrences', false);
|
scheduler.injectDetail('occurrences', false);
|
||||||
scheduler.clear();
|
scheduler.clear();
|
||||||
@@ -316,22 +337,6 @@ export default ['$filter', '$state', '$stateParams', '$http', 'Wait',
|
|||||||
$scope.$on("formUpdated", function() {
|
$scope.$on("formUpdated", function() {
|
||||||
$rootScope.$broadcast("loadSchedulerDetailPane");
|
$rootScope.$broadcast("loadSchedulerDetailPane");
|
||||||
});
|
});
|
||||||
$scope.$on("setPreviewPane", (event) => {
|
|
||||||
let rrule = event.currentScope.rrule.toString();
|
|
||||||
let req = RRuleToAPI(rrule, $scope);
|
|
||||||
|
|
||||||
$http.post('/api/v2/schedules/preview/', {'rrule': req})
|
|
||||||
.then(({data}) => {
|
|
||||||
$scope.preview_list = data;
|
|
||||||
for (let tz in data) {
|
|
||||||
$scope.preview_list.isEmpty = data[tz].length === 0;
|
|
||||||
$scope.preview_list[tz] = data[tz].map(function(date) {
|
|
||||||
date = date.replace(/Z/, '');
|
|
||||||
return moment.parseZone(date).format("MM-DD-YYYY HH:mm:ss");
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
$scope.$watchGroup(["schedulerName",
|
$scope.$watchGroup(["schedulerName",
|
||||||
"schedulerStartDt",
|
"schedulerStartDt",
|
||||||
"schedulerStartHour",
|
"schedulerStartHour",
|
||||||
|
|||||||
@@ -85,10 +85,7 @@ function($filter, $state, $stateParams, Wait, $scope, moment,
|
|||||||
callSelect2();
|
callSelect2();
|
||||||
});
|
});
|
||||||
|
|
||||||
$scope.$on("setPreviewPane", (event) => {
|
let previewList = _.debounce(function(req) {
|
||||||
let rrule = event.currentScope.rrule.toString();
|
|
||||||
let req = RRuleToAPI(rrule, $scope);
|
|
||||||
|
|
||||||
$http.post('/api/v2/schedules/preview/', {'rrule': req})
|
$http.post('/api/v2/schedules/preview/', {'rrule': req})
|
||||||
.then(({data}) => {
|
.then(({data}) => {
|
||||||
$scope.preview_list = data;
|
$scope.preview_list = data;
|
||||||
@@ -100,6 +97,12 @@ function($filter, $state, $stateParams, Wait, $scope, moment,
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
}, 300);
|
||||||
|
|
||||||
|
$scope.$on("setPreviewPane", (event) => {
|
||||||
|
let rrule = event.currentScope.rrule.toString();
|
||||||
|
let req = RRuleToAPI(rrule, $scope);
|
||||||
|
previewList(req);
|
||||||
});
|
});
|
||||||
|
|
||||||
Wait('start');
|
Wait('start');
|
||||||
|
|||||||
@@ -28,12 +28,6 @@
|
|||||||
name="schedulerName"
|
name="schedulerName"
|
||||||
id="schedulerName"
|
id="schedulerName"
|
||||||
ng-model="schedulerName" required
|
ng-model="schedulerName" required
|
||||||
ng-model-options="{
|
|
||||||
'updateOn': 'default blur',
|
|
||||||
'debounce': {
|
|
||||||
'default': 300,
|
|
||||||
'blur': 0
|
|
||||||
}}"
|
|
||||||
ng-disabled="!(schedule_obj.summary_fields.user_capabilities.edit || canAdd)"
|
ng-disabled="!(schedule_obj.summary_fields.user_capabilities.edit || canAdd)"
|
||||||
placeholder="Schedule name">
|
placeholder="Schedule name">
|
||||||
<div class="error"
|
<div class="error"
|
||||||
|
|||||||
Reference in New Issue
Block a user