summaryrefslogtreecommitdiffstats
path: root/ecomp-portal-FE-common/client/app/views/scheduler/scheduler.controller.js
diff options
context:
space:
mode:
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.js128
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);
+})();