From 91d04c64771832a0b8815ffbe1f0f9920320d94d Mon Sep 17 00:00:00 2001 From: Pamela Dragosh Date: Tue, 14 Feb 2017 19:41:00 -0500 Subject: Initial OpenECOMP policy/engine commit Change-Id: I7dbff37733b661643dd4d1caefa3d7dccc361b6e Signed-off-by: Pamela Dragosh --- .../policyApp/controller/editorTabController.js | 211 +++++++++++++++++++++ 1 file changed, 211 insertions(+) create mode 100644 ecomp-sdk-app/src/main/webapp/app/policyApp/controller/editorTabController.js (limited to 'ecomp-sdk-app/src/main/webapp/app/policyApp/controller/editorTabController.js') diff --git a/ecomp-sdk-app/src/main/webapp/app/policyApp/controller/editorTabController.js b/ecomp-sdk-app/src/main/webapp/app/policyApp/controller/editorTabController.js new file mode 100644 index 000000000..d9a6bbcc1 --- /dev/null +++ b/ecomp-sdk-app/src/main/webapp/app/policyApp/controller/editorTabController.js @@ -0,0 +1,211 @@ +/*- + * ============LICENSE_START======================================================= + * ECOMP Policy Engine + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============LICENSE_END========================================================= + */ + +/* +/!** + *!/ +(function(window, angular, $) { + 'use strict'; + app.controller('policyeditorTabController', [ + '$scope', '$translate', '$cookies', 'fileManagerConfig', 'item', 'fileNavigator', 'fileUploader', + function($scope, $translate, $cookies, fileManagerConfig, Item, FileNavigator, FileUploader) { + +/!*app.controller('policyeditorTabController', function ($scope, $translate, $cookies, fileManagerConfig, Item, FileNavigator, FileUploader){*!/ + $( "#dialog" ).hide(); + $scope.config = fileManagerConfig; + $scope.reverse = false; + $scope.predicate = ['model.type', 'model.name']; + $scope.order = function(predicate) { + $scope.reverse = ($scope.predicate[1] === predicate) ? !$scope.reverse : false; + $scope.predicate[1] = predicate; + }; + + $scope.query = ''; + $scope.temp = new Item(); + $scope.fileNavigator = new FileNavigator(); + $scope.fileUploader = FileUploader; + $scope.uploadFileList = []; + $scope.viewTemplate = $cookies.viewTemplate || 'main-table.html'; + + $scope.setTemplate = function(name) { + $scope.viewTemplate = $cookies.viewTemplate = name; + }; + + $scope.changeLanguage = function (locale) { + if (locale) { + return $translate.use($cookies.language = locale); + } + $translate.use($cookies.language || fileManagerConfig.defaultLang); + }; + + $scope.touch = function(item) { + item = item instanceof Item ? item : new Item(); + item.revert(); + $scope.temp = item; + }; + + $scope.smartClick = function(item) { + if (item.isFolder()) { + return $scope.fileNavigator.folderClick(item); + } + if (item.isImage()) { + return $scope.openImagePreview(item); + } + if (item.isEditable()) { + return $scope.openEditItem(item); + } + }; + + $scope.openImagePreview = function(item) { + item.inprocess = true; + $scope.modal('imagepreview') + .find('#imagepreview-target') + .attr('src', item.getUrl(true)) + .unbind('load error') + .on('load error', function() { + item.inprocess = false; + $scope.$apply(); + }); + return $scope.touch(item); + }; + + $scope.openEditItem = function(item) { + item.getContent(); + $scope.modal('edit'); + return $scope.touch(item); + }; + + $scope.modal = function(id, hide) { + return $('#' + id).modal(hide ? 'hide' : 'show'); + }; + + $scope.isInThisPath = function(path) { + var currentPath = $scope.fileNavigator.currentPath.join('/'); + return currentPath.indexOf(path) !== -1; + }; + + $scope.edit = function(item) { + item.edit().then(function() { + $scope.modal('edit', true); + }); + }; + + $scope.changePermissions = function(item) { + item.changePermissions().then(function() { + $scope.modal('changepermissions', true); + }); + }; + + $scope.copy = function(item) { + var samePath = item.tempModel.path.join() === item.model.path.join(); + if (samePath && $scope.fileNavigator.fileNameExists(item.tempModel.name)) { + item.error = $translate.instant('error_invalid_filename'); + return false; + } + item.copy().then(function() { + $scope.fileNavigator.refresh(); + $scope.modal('copy', true); + }); + }; + + $scope.compress = function(item) { + item.compress().then(function() { + $scope.fileNavigator.refresh(); + if (! $scope.config.compressAsync) { + return $scope.modal('compress', true); + } + item.asyncSuccess = true; + }, function() { + item.asyncSuccess = false; + }); + }; + + $scope.extract = function(item) { + item.extract().then(function() { + $scope.fileNavigator.refresh(); + if (! $scope.config.extractAsync) { + return $scope.modal('extract', true); + } + item.asyncSuccess = true; + }, function() { + item.asyncSuccess = false; + }); + }; + + $scope.remove = function(item) { + item.remove().then(function() { + $scope.fileNavigator.refresh(); + $scope.modal('delete', true); + }); + }; + + $scope.rename = function(item) { + var samePath = item.tempModel.path.join() === item.model.path.join(); + if (samePath && $scope.fileNavigator.fileNameExists(item.tempModel.name)) { + item.error = $translate.instant('error_invalid_filename'); + return false; + } + item.rename().then(function() { + $scope.fileNavigator.refresh(); + $scope.modal('rename', true); + }); + }; + + $scope.createFolder = function(item) { + var name = item.tempModel.name && item.tempModel.name.trim(); + item.tempModel.type = 'dir'; + item.tempModel.path = $scope.fileNavigator.currentPath; + if (name && !$scope.fileNavigator.fileNameExists(name)) { + item.createFolder().then(function() { + $scope.fileNavigator.refresh(); + $scope.modal('newfolder', true); + }); + } else { + item.error = $translate.instant('error_invalid_filename'); + return false; + } + }; + + $scope.uploadFiles = function() { + $scope.fileUploader.upload($scope.uploadFileList, $scope.fileNavigator.currentPath).then(function() { + $scope.fileNavigator.refresh(); + $scope.modal('uploadfile', true); + }, function(data) { + var errorMsg = data.result && data.result.error || $translate.instant('error_uploading_files'); + $scope.temp.error = errorMsg; + }); + }; + + $scope.getQueryParam = function(param) { + var found; + window.location.search.substr(1).split('&').forEach(function(item) { + if (param === item.split('=')[0]) { + found = item.split('=')[1]; + return false; + } + }); + return found; + }; + + $scope.changeLanguage($scope.getQueryParam('lang')); + $scope.isWindows = $scope.getQueryParam('server') === 'Windows'; + $scope.fileNavigator.refresh(); + }]); +})(window, angular, jQuery);*/ -- cgit 1.2.3-korg