diff options
author | talasila <talasila@research.att.com> | 2017-02-08 10:13:29 -0500 |
---|---|---|
committer | talasila <talasila@research.att.com> | 2017-02-08 10:15:00 -0500 |
commit | f8a8d5192b1e5013d9e2f699be54b072ef39d5f0 (patch) | |
tree | b7a65bb0a7d70a9dc24c064113868e5f3b8e6a09 /dcae_dmaapbc_webapp/src/main/webapp/app/dbcapp/datarouter/dr-feed-popup-controller.js | |
parent | 72a80fbff7120630576ccd5aa67c20818c2943c7 (diff) |
Initial OpenECOMP UI/DMaapBC commit
Change-Id: Ia492e1b88311b9bed4c31f593b28deaaad73b7e4
Signed-off-by: talasila <talasila@research.att.com>
Diffstat (limited to 'dcae_dmaapbc_webapp/src/main/webapp/app/dbcapp/datarouter/dr-feed-popup-controller.js')
-rw-r--r-- | dcae_dmaapbc_webapp/src/main/webapp/app/dbcapp/datarouter/dr-feed-popup-controller.js | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/dcae_dmaapbc_webapp/src/main/webapp/app/dbcapp/datarouter/dr-feed-popup-controller.js b/dcae_dmaapbc_webapp/src/main/webapp/app/dbcapp/datarouter/dr-feed-popup-controller.js new file mode 100644 index 0000000..4efef98 --- /dev/null +++ b/dcae_dmaapbc_webapp/src/main/webapp/app/dbcapp/datarouter/dr-feed-popup-controller.js @@ -0,0 +1,125 @@ +/*- + * ================================================================================ + * DCAE DMaaP Bus Controller Web Application + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file 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. + * ================================================================================ + */ +app.controller('feedPopupCtrl', function($scope, $log, $modalInstance, modalService, message, DRFeedService) { + 'use strict'; + + // this object holds all app data and functions + $scope.dbcapp = {}; + + // Set the label variable for the template + if (message.feed == null) { + $scope.dbcapp.label = 'Add Feed'; + // Must add publisher with a feed. + $scope.dbcapp.editFeed = + { + pubs: [ + { username: null } + ] + }; + } + else { + $scope.dbcapp.label = 'Edit Feed'; + $scope.dbcapp.editFeed = message.feed; + } + $scope.dbcapp.dcaeList = message.dcaeList; + + // for populating selection boxes on add and edit popup templates + $scope.dbcapp.asprClassificationList = [ + "unclassified", + "Non-Sensitive Customer Data", + "AT&T Proprietary (Internal Use Only)", + "AT&T Proprietary (Secure Restricted)", + "AT&T Proprietary (Restricted)", + "AT&T Proprietary (Sensitive Personal Information)", + "Customer Sensitive Data", + "Customer Data Conduit", + ]; + + /** + * Validates content of user-editable fields. + * Uses the list in message.feedList + * Returns null if all is well, + * a descriptive error message otherwise. + */ + $scope.dbcapp.validateFeed = function(feed) { + if (feed == null) + return "No data found.\nPlease enter some values."; + if (feed.feedName == null || feed.feedName.trim() == '') + return "Name is required.\nPlease enter a value."; + if (feed.feedVersion == null || feed.feedVersion.trim() == '') + return "Version is required.\nPlease enter a value."; + if (feed.feedDescription == null || feed.feedDescription.trim() == '') + return "Description is required.\nPlease enter a value."; + if (feed.asprClassification == null || feed.asprClassification.trim() == '') + return "ASPR Classification is required.\nPlease select a value."; + for (var x in message.feedList) { + // Ignore the one being edited. + if (message.feedList[x].feedId == feed.feedId) + continue; + if (message.feedList[x].feedName == feed.feedName) + return "Name " + feed.feedName + " exists.\n" + + "Please choose a different name."; + } + // Extra validation if adding a new feed - check first publisher + if (feed.feedId == null && feed.pubs != null && feed.pubs[0] != null) { + $log.info('validateFeed: pubs[0] is ' + JSON.stringify(feed.pubs[0])); + if (feed.pubs[0].dcaeLocationName == null) + return "DCAE Location is required.\nPlease select a value."; + // username, userpwd are optional + } + return null; + } + + $scope.dbcapp.saveFeed = function(feed) { + var validateMsg = $scope.dbcapp.validateFeed(feed); + if (validateMsg != null) { + modalService.showFailure("Invalid Content", validateMsg); + return; + } + + if (feed.feedId == null) { + // No id, so create a new one + DRFeedService.addFeed(feed) + .then(function(response) { + $modalInstance.close(response); + }, + function (error) { + $log.error('feedPopupCtrl: error while adding: ' + error); + } + ); + } + else { + // Has id, so update an existing one + DRFeedService.updateFeed(feed) + .then(function(response) { + $modalInstance.close(response); + }, + function (error) { + $log.error('feedPopupCtrl: error while updating: ' + error); + } + ); + } + + }; + + $scope.dbcapp.close = function() { + $modalInstance.close(); + }; +}); |