diff --git a/awx/ui/client/src/scheduler/schedulerAdd.controller.js b/awx/ui/client/src/scheduler/schedulerAdd.controller.js index 56a5eff369..a32efb4553 100644 --- a/awx/ui/client/src/scheduler/schedulerAdd.controller.js +++ b/awx/ui/client/src/scheduler/schedulerAdd.controller.js @@ -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.injectDetail('occurrences', false); scheduler.clear(); @@ -316,22 +337,6 @@ export default ['$filter', '$state', '$stateParams', '$http', 'Wait', $scope.$on("formUpdated", function() { $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", "schedulerStartDt", "schedulerStartHour", diff --git a/awx/ui/client/src/scheduler/schedulerEdit.controller.js b/awx/ui/client/src/scheduler/schedulerEdit.controller.js index 468debfb0b..ff740b61a2 100644 --- a/awx/ui/client/src/scheduler/schedulerEdit.controller.js +++ b/awx/ui/client/src/scheduler/schedulerEdit.controller.js @@ -85,10 +85,7 @@ function($filter, $state, $stateParams, Wait, $scope, moment, callSelect2(); }); - $scope.$on("setPreviewPane", (event) => { - let rrule = event.currentScope.rrule.toString(); - let req = RRuleToAPI(rrule, $scope); - + let previewList = _.debounce(function(req) { $http.post('/api/v2/schedules/preview/', {'rrule': req}) .then(({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'); diff --git a/awx/ui/client/src/scheduler/schedulerForm.partial.html b/awx/ui/client/src/scheduler/schedulerForm.partial.html index 1d1655400a..bea1d9eade 100644 --- a/awx/ui/client/src/scheduler/schedulerForm.partial.html +++ b/awx/ui/client/src/scheduler/schedulerForm.partial.html @@ -28,12 +28,6 @@ name="schedulerName" id="schedulerName" 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)" placeholder="Schedule name">