diff options
Diffstat (limited to 'ecomp-portal-FE-common/client/app/views/scheduler/scheduler.controller.js')
-rw-r--r-- | ecomp-portal-FE-common/client/app/views/scheduler/scheduler.controller.js | 128 |
1 files changed, 128 insertions, 0 deletions
diff --git a/ecomp-portal-FE-common/client/app/views/scheduler/scheduler.controller.js b/ecomp-portal-FE-common/client/app/views/scheduler/scheduler.controller.js new file mode 100644 index 00000000..fca0401c --- /dev/null +++ b/ecomp-portal-FE-common/client/app/views/scheduler/scheduler.controller.js @@ -0,0 +1,128 @@ +/*- + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * ECOMP is a trademark and service mark of AT&T Intellectual Property. + */ + +'use strict'; +(function () { + class SchedulerCtrl { + constructor($scope,$state,message,$modalInstance,widgetsCatalogService,$log,schedulerService,$filter,confirmBoxService,userProfileService,conf,$interval,$compile,$rootScope) { + $scope.parentData = message; + /****define fields****/ + $scope.widgetName= ''; + $scope.widgetData = []; + + + /**** Functions for widgets *****/ + $scope.getWidgetData =function(widgetId){ + $rootScope.showSpinner = true; + var script = document.createElement('script'); + script.src = conf.api.widgetCommon + "/" + widgetId + "/framework.js"; + script.async = true; + var entry = document.getElementsByTagName('script')[0]; + entry.parentNode.insertBefore(script, entry); + } + $scope.getUserWidgets = function(loginName){ + this.isCommError = false; + widgetsCatalogService.getUserWidgets(loginName).then(res => { + if(!(res instanceof Array)){ + $rootScope.showSpinner = false; + this.isCommError = true; + return; + } + for(var i = 0; i < res.length; i++){ + var widget_id = res[i][0]; + var widget_name = res[i][1]; + if(widget_name== $scope.widgetName){ + var data={ + attr:'data-'+widget_id, + value:'' + }; + $scope.widgetData.push(data); + $scope.getWidgetData(widget_id); + } + } + }).catch(err => { + $rootScope.showSpinner = false; + $log.error('WidgetCatalogCtrl::getUserWidgets caught error', err); + }) + }; + + + $rootScope.closeModal = function(){ + $modalInstance.dismiss('cancel'); + } + $scope.getUserIdAndWidget = function(){ + $rootScope.showSpinner = true; + userProfileService.getUserProfile() + .then(profile=> { + $scope.orgUserId = profile.orgUserId; + $scope.getUserWidgets($scope.orgUserId); + }) + } + + $scope.activateThis = function(ele){ + $compile(ele.contents())($scope); + $scope.$apply(); + }; + + /*Calling Scheduler UI controller in microservice*/ + $scope.submit = function(){ + $scope.$broadcast('submit',''); + } + + $scope.reject = function(){ + $scope.$broadcast('reject',''); + } + + $scope.schedule = function(){ + $scope.$broadcast('schedule',''); + } + + + /** init **/ + var init = function () { + $rootScope.showSpinner = false; + $scope.widgetName = message.id; + $scope.getUserIdAndWidget(); //get logged in user id, then widget data + + }; + init(); + } + } + SchedulerCtrl.$inject = ['$scope','$state','message','$modalInstance','widgetsCatalogService','$log', 'schedulerService','$filter','confirmBoxService','userProfileService','conf','$interval','$compile','$rootScope']; + angular.module('ecompApp').controller('SchedulerCtrl', SchedulerCtrl); +})(); |