summaryrefslogtreecommitdiffstats
path: root/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services
diff options
context:
space:
mode:
Diffstat (limited to 'ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services')
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/adminMenuService.js129
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/adminService.js453
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/ds2-modal/modalService.js38
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/ds2-profile/selfProfileService.js114
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/ds2-raptor-report/raptorReportFactory.js331
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/ds2-raptor-report/stepFormFactory.js198
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/ds2-sample-page/droolsService.js53
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/headerServiceDS2.js483
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/leftMenuServiceDS2.js110
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/manifestService.js24
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/modalService.js57
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/modalServiceDS2.js31
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/profileServiceDS2.js78
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/sampleService.js19
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/userInfoServiceDS2.js32
15 files changed, 2150 insertions, 0 deletions
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/adminMenuService.js b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/adminMenuService.js
new file mode 100644
index 00000000..86bf5cd4
--- /dev/null
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/adminMenuService.js
@@ -0,0 +1,129 @@
+appDS2.factory('AdminMenuService', function ($http, $q) {
+ return {
+ getRoleFunctionList: function() {
+ return $http.get('get_role_functions')
+ .then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ },
+
+getFnMenuItems: function(){
+
+ return $http.get('admin_fn_menu')
+ .then(function(response) {
+ if (typeof response.data === 'object') {
+
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ },
+ getCollaborateList: function() {
+ return $http.get('get_collaborate_list')
+ .then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ },
+/* saveRoleFunctionList: function(roleData) {
+ return $http.post('role_function_list/saveRoleFunction',{
+ roleData
+ })
+ .then(function(response) {
+ console.log(response);
+ if (response.status == 200) {
+ return response.data;
+ } else {
+ console.log('eror');
+ return $q.reject(response.data);
+ }
+ return response.data;
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ }*/
+ saveRoleFunctionList: function(roleData) {
+ return $http({
+ method: "POST",
+ url: "role_function_list/saveRoleFunction",
+ data:roleData
+
+ }).then(function(response) {
+ if (response.status == 200) {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+ return response.data;
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ },
+
+ delRoleFunctionList: function(roleData) {
+ return $http({
+ method: "POST",
+ url: "role_function_list/removeRoleFunction",
+ data:roleData
+
+ }).then(function(response) {
+ if (response.status == 200) {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+ return response.data;
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ },
+
+ clearAdminRegions: function() {
+ return $http({
+ method: "GET",
+ url: "jcs_admin/clearAll",
+
+ }).then(function(response) {
+ if (response.status == 200) {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+ return response.data;
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ }
+
+
+
+ };
+});
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/adminService.js b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/adminService.js
new file mode 100644
index 00000000..e92ebaf3
--- /dev/null
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/adminService.js
@@ -0,0 +1,453 @@
+appDS2.factory('AdminService', function ($http, $q) {
+ return {
+ getRole: function(roleId) {
+ return $http.get('get_role?role_id=' + roleId)
+ .then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ },
+ getCollaborateList: function() {
+ return $http.get('get_collaborate_list')
+ .then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ },
+
+ getCacheRegions: function() {
+ return $http.get('get_regions')
+ .then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ },
+
+ getUsageList: function() {
+ return $http.get('get_usage_list')
+ .then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ },
+
+getFnMenuItems: function(){
+
+ return $http.get('admin_fn_menu')
+ .then(function(response) {
+ if (typeof response.data === 'object') {
+
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ },
+
+/* saveRoleFunctionList: function(roleData) {
+ return $http.post('role_function_list/saveRoleFunction',{
+ roleData
+ })
+ .then(function(response) {
+ console.log(response);
+ if (response.status == 200) {
+ return response.data;
+ } else {
+ console.log('eror');
+ return $q.reject(response.data);
+ }
+ return response.data;
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ }*/
+
+ getRoleFunctionList: function() {
+ return $http.get('get_role_functions')
+ .then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ },
+ saveRoleFunctionList: function(roleData) {
+ return $http({
+ method: "POST",
+ url: "role_function_list/saveRoleFunction",
+ data:roleData
+
+ }).then(function(response) {
+ if (response.status == 200) {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+ return response.data;
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ },
+ addRoleFunctionList: function(roleData) {
+ return $http({
+ method: "POST",
+ url: "role_function_list/addRoleFunction",
+ data:roleData
+
+ }).then(function(response) {
+ if (response.status == 200) {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+ return response.data;
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ },
+ delRoleFunctionList: function(roleData) {
+ return $http({
+ method: "POST",
+ url: "role_function_list/removeRoleFunction",
+ data:roleData
+
+ }).then(function(response) {
+ if (response.status == 200) {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+ return response.data;
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ },
+ clearAdminRegions: function() {
+ return $http({
+ method: "GET",
+ url: "jcs_admin/clearAll"
+
+ }).then(function(response) {
+ if (response.status == 200) {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+ return response.data;
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ },
+
+ showRegionDetails: function(cacheName) {
+ return $http({
+ method: "GET",
+ url: "jcs_admin/showRegionDetails?cacheName="+cacheName,
+ contentType: 'application/json',
+ }).then(function(response) {
+ //var parsed = JSON.stringify(response);
+ var responseData = JSON.stringify(response);
+ if (response.status == 200) {
+ return response;
+ } else {
+ return $q.reject(response.data);
+ }
+ return response.data;
+
+ }, function(response) {
+ console.log('response'+response);
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ },
+
+ clearRegionFunction: function(cacheName) {
+ return $http({
+ method: "GET",
+ url: "jcs_admin/clearRegion?cacheName="+cacheName
+ }).then(function(response) {
+ if (response.status == 200) {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+ return response.data;
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ },
+
+ clearItemnFunction: function(cacheName, key) {
+ return $http({
+ method: "GET",
+ url: "jcs_admin/clearItem?keyName="+key+"&cacheName="+cacheName
+
+ }).then(function(response) {
+ if (response.status == 200) {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+ return response.data;
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ },
+
+ showItemDetails: function(cacheName, key) {
+ return $http({
+ method: "GET",
+ url: "jcs_admin/showItemDetails?keyName="+key+"&cacheName="+cacheName
+
+ }).then(function(response) {
+ if (response.status == 200) {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+ return response.data;
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ },
+
+ //role deletion
+ delRoleList: function(roleData) {
+ return $http({
+ method: "POST",
+ url: "role_list/removeRole",
+ data:JSON.stringify({role:roleData})
+
+ }).then(function(response) {
+ if (response.status == 200) {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+ return response.data;
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ },
+
+ // activate role
+ activateRole: function(selected,availableRole){
+ return $http({
+ method: "POST",
+ url: "role_list/toggleRole",
+ data:JSON.stringify({role:availableRole})
+
+ }).then(function(response) {
+ if (response.status == 200) {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+ return response.data;
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ },
+
+ // save Role
+ saveRole: function(role,roleId){
+ return $http({
+ method: "POST",
+ url: "role/saveRole.htm?role_id="+roleId,
+ data:JSON.stringify(role)
+
+ }).then(function(response) {
+ if (response.status == 200) {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+ return response.data;
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ },
+
+ // activate RoleFun Remove
+ confirmRoleFunRemove: function(selected,availableRole,id){
+ return $http({
+ method: "POST",
+ url: "role/removeRoleFunction.htm?role_id=" + id,
+ data:JSON.stringify({roleFunction:availableRole})
+
+ }).then(function(response) {
+ if (response.status == 200) {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+ return response.data;
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ },
+
+ // activate RoleFun Add
+ confirmRoleFunAdd: function(selected,availableRole,id){
+ return $http({
+ method: "POST",
+ url: "role/addRoleFunction.htm?role_id=" + id,
+ data:JSON.stringify({roleFunction:availableRole})
+
+ }).then(function(response) {
+ if (response.status == 200) {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+ return response.data;
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ },
+
+ // activate RoleChild Remove
+ confirmRoleChildRemove: function(selected,availableRole,id){
+ return $http({
+ method: "POST",
+ url: "role/removeChildRole.htm?role_id=" + roleId,
+ data:JSON.stringify({roleFunction:availableRole})
+
+ }).then(function(response) {
+ if (response.status == 200) {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+ return response.data;
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ },
+
+ // activate RoleChild Add
+ confirmRoleChildAdd: function(selected,availableRole,id){
+ return $http({
+ method: "POST",
+ url: "role/addChildRole.htm?role_id=" + roleId,
+ data:JSON.stringify({roleFunction:availableRole})
+
+ }).then(function(response) {
+ if (response.status == 200) {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+ return response.data;
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ },
+
+ //Role Function delete for associated role on Edit Role
+ removeRoleFunction: function(roleFunction,roleId){
+ return $http({
+ method: "POST",
+ url: "role/removeRoleFunction.htm?role_id=" + roleId,
+ data:JSON.stringify({roleFunction:roleFunction})
+
+ }).then(function(response) {
+ if (response.status == 200) {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+ return response.data;
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ }
+
+/* toggleProfileActiveFunction: function(profileId) {
+ return $http({
+ method: "GET",
+ url: "jcs_admin/clearRegion?cacheName="+cacheName
+ }).then(function(response) {
+ if (response.status == 200) {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+ return response.data;
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ }*/
+ };
+});
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/ds2-modal/modalService.js b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/ds2-modal/modalService.js
new file mode 100644
index 00000000..061d1ba2
--- /dev/null
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/ds2-modal/modalService.js
@@ -0,0 +1,38 @@
+angular.module("modalServices",[]).service('modalService', ['$modal', function ($modal) {
+ var ModalInstanceCtrl = function ($scope, $modalInstance, items,$rootScope) {
+ $scope.roleFun=items;
+ $scope.msg=items;
+
+ $scope.cancel = function () {
+ $modalInstance.dismiss('cancel');
+ };
+ };
+ this.errorPopUp = function (msg) {
+ var modalInstance = $modal.open({
+ templateUrl: 'app/fusion/scripts/DS2-modal/error_modal.html',
+ controller: ModalInstanceCtrl,
+ sizeClass: 'modal-small',
+ resolve: {
+ items: function () {
+ return msg;
+ }
+ }
+ });
+ };
+ this.successPopUp = function (msg) {
+ var modalInstance = $modal.open({
+ templateUrl: 'app/fusion/scripts/DS2-modal/success_modal.html',
+ controller: ModalInstanceCtrl,
+ sizeClass: 'modal-small',
+ resolve: {
+ items: function () {
+ var message = {
+ title: '',
+ text: msg
+ };
+ return message;
+ }
+ }
+ });
+ };
+ }]); \ No newline at end of file
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/ds2-profile/selfProfileService.js b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/ds2-profile/selfProfileService.js
new file mode 100644
index 00000000..bc18f2c8
--- /dev/null
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/ds2-profile/selfProfileService.js
@@ -0,0 +1,114 @@
+appDS2.factory('SelfProfileService', function ($http, $q) {
+ return {
+ getProfileDetail: function(profileId) {
+ return $http({
+ method: "GET",
+ url: "get_profile?profile_id=" + profileId,
+
+ }).then(function(response) {
+ if (response.status == 200) {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+ return response.data;
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ },
+
+ getSelfProfileDetail: function() {
+ return $http.get('get_self_profile')
+ .then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ },
+
+ addRole: function(roleData,profileId) {
+ return $http({
+ method: "POST",
+ url: "profile/addNewRole?profile_id=" + profileId,
+ data:roleData
+
+ }).then(function(response) {
+ if (response.status == 200) {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+ return response.data;
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ },
+ deRole: function(roleData,profileId) {
+ return $http({
+ method: "POST",
+ url: "profile/removeRole?profile_id=" + profileId,
+ data:roleData
+
+ }).then(function(response) {
+ if (response.status == 200) {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+ return response.data;
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ },
+ saveProfile: function(data,profileId) {
+ return $http({
+ method: "POST",
+ url: "profile/saveProfile?profile_id=" + profileId,
+ data:data
+
+ }).then(function(response) {
+ if (response.status == 200) {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+ return response.data;
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ },
+ removeRole: function(data,profileId) {
+ return $http({
+ method: "POST",
+ url: "profile/removeRole?profile_id=" + profileId,
+ data:data
+
+ }).then(function(response) {
+ if (response.status == 200) {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+ return response.data;
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ }
+ };
+});
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/ds2-raptor-report/raptorReportFactory.js b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/ds2-raptor-report/raptorReportFactory.js
new file mode 100644
index 00000000..06324d39
--- /dev/null
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/ds2-raptor-report/raptorReportFactory.js
@@ -0,0 +1,331 @@
+appDS2.factory('raptorReportFactory', function($http, $q) {
+ return {
+ getDefinitionByReportId: function(reportId) {
+ return $http({
+ method: "GET",
+ url: "report/wizard/retrieve_tab_wise_data/Def/"+reportId,
+ }).then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject("raptorReportFactory: getDefinitionByReportId did not return a valid JSON object.");
+ }
+ }, function(response) {
+ // something went wrong
+ return $q.reject("raptorReportFactory: getDefinitionByReportId callback failed");
+ });
+ },
+ getDefinitionInSession: function() {
+ return $http({
+ method: "GET",
+ url: "report/wizard/retrieve_tab_wise_data/Def/InSession",
+ }).then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject("raptorReportFactory: getDefinitionInSession did not return a valid JSON object.");
+ }
+ }, function(response) {
+ // something went wrong
+ return $q.reject("raptorReportFactory: getDefinitionInSession callback failed");
+ });
+ },
+
+ createNewDefinition: function() {
+ return $http({
+ method: "GET",
+ url: "report/wizard/retrieve_tab_wise_data/Def/Create",
+ }).then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject("raptorReportFactory: createNewDefinition did not return a valid JSON object.");
+ }
+ }, function(response) {
+ // something went wrong
+ return $q.reject("raptorReportFactory: createNewDefinition callback failed");
+ });
+ },
+ updateDefinition: function(updatedJson,isUpdate) {
+ return $http({
+ method: "POST",
+ url: (isUpdate?("report/wizard/save_def_tab_data/"+updatedJson.reportId):"report/wizard/save_def_tab_data/Create"),
+ data: updatedJson
+ }).then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject("raptorReportFactory: updateDefinition did not return a valid JSON object.");
+ }
+ return response.data;
+ }, function(response) {
+ // something went wrong
+ return $q.reject("raptorReportFactory: updateDefinition callback failed");
+ });
+ },
+ saveNewDefinition: function(updatedJson) {
+ return $http({
+ method: "POST",
+ url: "report/wizard/save_def_tab_data/InSession",
+ data: updatedJson
+ }).then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject("raptorReportFactory: saveNewDefinition did not return a valid JSON object.");
+ }
+ }, function(response) {
+ // something went wrong
+ return $q.reject("raptorReportFactory: saveNewDefinition callback failed");
+ });
+ },
+ getSqlInSession: function() {
+ return $http({
+ method: "GET",
+ url: "report/wizard/retrieve_tab_wise_data/Sql/InSession",
+ }).then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject("raptorReportFactory: getSqlInSession did not return a valid JSON object.");
+ }
+ }, function(response) {
+ // something went wrong
+ return $q.reject("raptorReportFactory: getSqlInSession callback failed");
+ });
+ },
+ testRunSQL: function(queryJSON) {
+ return $http({
+ method: "POST",
+ url: "report/wizard/retrieve_data/true",
+ data: queryJSON
+ }).then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject("raptorReportFactory: testRunSQL did not return a valid JSON object.");
+ }
+ return response.data;
+ }, function(response) {
+ // something went wrong
+ return $q.reject("raptorReportFactory: testRunSQL callback failed");
+ });
+ },
+ formFieldVerifySQL: function(queryJSON) {
+ return $http({
+ method: "POST",
+ url: "report/wizard/retrieve_data/false",
+ data: queryJSON
+ }).then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject("raptorReportFactory: formFieldVerifySQL did not return a valid JSON object.");
+ }
+ return response.data;
+ }, function(response) {
+ // something went wrong
+ return $q.reject("raptorReportFactory: formFieldVerifySQL callback failed");
+ });
+ },
+ getColumnList: function() {
+ return $http({
+ method: "GET",
+ url: "report/wizard/list_columns",
+ }).then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject("raptorReportFactory: getColumnList did not return a valid JSON object.");
+ }
+ return response.data;
+ }, function(response) {
+ // something went wrong
+ return $q.reject("raptorReportFactory: getColumnList callback failed");
+ });
+ },
+
+ getColumnEditInfoById: function(columnId){
+ return $http({
+ method: "GET",
+ url: "report/wizard/retrieve_tab_wise_data/ColEdit/"+columnId,
+ }).then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject("raptorReportFactory: getColumnEditInfoById did not return a valid JSON object.");
+ }
+ }, function(response) {
+ // something went wrong
+ return $q.reject("raptorReportFactory: getColumnEditInfoById callback failed");
+ });
+ },
+ saveColumnEditInfo: function(updatedColumnJson){
+ return $http({
+ method: "POST",
+ url: "report/wizard/save_col_tab_data",
+ data: updatedColumnJson
+ }).then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject("raptorReportFactory: saveColumnEditInfo did not return a valid JSON object.");
+ }
+ }, function(response) {
+ // something went wrong
+ return $q.reject("raptorReportFactory: saveColumnEditInfo callback failed");
+ });
+ },
+ postImportXml: function(importXMLJSON){
+ return $http({
+ method: "POST",
+ url: "report/wizard/import_report",
+ data: importXMLJSON
+ }).then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject("raptorReportFactory: importXml did not return a valid JSON object.");
+ }
+ }, function(response) {
+ // something went wrong
+ return $q.reject("raptorReportFactory: importXml callback failed");
+ });
+ },
+ copyReportById: function(reportId) {
+ return $http({
+ method: "GET",
+ url: "report/wizard/copy_report/"+reportId,
+ }).then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject("raptorReportFactory: copyReportById did not return a valid JSON object.");
+ }
+ }, function(response) {
+ // something went wrong
+ return $q.reject("raptorReportFactory: copyReportById callback failed");
+ });
+ },
+ saveFormFieldEditInfo: function(updatedFormFieldJson){
+ return $http({
+ method: "POST",
+ url: "report/wizard/save_formfield_tab_data",
+ data: updatedFormFieldJson
+ }).then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject("raptorReportFactory: saveFormFieldEditInfo did not return a valid JSON object.");
+ }
+ }, function(response) {
+ // something went wrong
+ return $q.reject("raptorReportFactory: saveFormFieldEditInfo callback failed");
+ });
+ },
+ getFormFieldList: function() {
+ return $http({
+ method: "GET",
+ url: "report/wizard/list_formfields",
+ }).then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject("raptorReportFactory: getFormFieldList did not return a valid JSON object.");
+ }
+ }, function(response) {
+ // something went wrong
+ return $q.reject("raptorReportFactory: getFormFieldList callback failed");
+ });
+ },
+ getFormFieldEditInfoById: function(fieldId){
+ return $http({
+ method: "GET",
+ url: "report/wizard/retrieve_tab_wise_data/FormEdit/"+fieldId,
+ }).then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject("raptorReportFactory: getColumnEditInfoById did not return a valid JSON object.");
+ }
+ return response.data;
+ }, function(response) {
+ // something went wrong
+ return $q.reject("raptorReportFactory: getFormFieldEditInfoById callback failed");
+ });
+ },
+ deleteFormFieldById: function(fieldId){
+ return $http({
+ method: "GET",
+ url: "report/wizard/retrieve_tab_wise_data/FormEdit/delete/"+fieldId,
+ }).then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject("raptorReportFactory: deleteFormFieldById did not return a valid JSON object.");
+ }
+ return response.data;
+ }, function(response) {
+ // something went wrong
+ return $q.reject("raptorReportFactory: deleteFormFieldById callback failed");
+ });
+ },
+ getColumns: function() {
+ return $http
+ .get('raptor.htm?action=report.search.execute&r_page=0')
+ .then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject("raptorReportFactory: getColumns did not return a valid JSON object.");
+ }
+ }, function(response) {
+ // something went wrong
+ return $q.reject("raptorReportFactory: getColumns callback failed");
+ });
+ },
+
+ getSearchData : function() {
+ return $http
+ .get('raptor.htm?action=report.search.execute&r_page=0')
+ .then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject("raptorReportFactory: getSearchData did not return a valid JSON object.");
+ }
+ }, function(response) {
+ // something went wrong
+ return $q.reject("raptorReportFactory: getSearchData callback failed");
+ });
+ },
+
+ getSearchDataAtPage : function(pageSearchParameter) {
+ return $http
+ .get('raptor.htm?action=report.search.execute&r_page='+pageSearchParameter)
+ .then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject("raptorReportFactory: getSearchDataAtPage did not return a valid JSON object.");
+ }
+ }, function(response) {
+ // something went wrong
+ return $q.reject("raptorReportFactory: getSearchDataAtPage callback failed");
+ });
+ },
+ getReportDeleteStatus : function(deleteUrl) {
+ return $http.get(deleteUrl).then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject("raptorReportFactory: getReportDeleteStatus did not return a valid JSON object.");
+ }
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject("raptorReportFactory: getReportDeleteStatus callback failed");
+ });
+ }
+ };
+});
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/ds2-raptor-report/stepFormFactory.js b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/ds2-raptor-report/stepFormFactory.js
new file mode 100644
index 00000000..5c711425
--- /dev/null
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/ds2-raptor-report/stepFormFactory.js
@@ -0,0 +1,198 @@
+(function(){
+ var stepFormFactory = function($http, $compile, $q, $log) {
+
+ var factory = {};
+
+ factory.getStepJSONData = function(jsonSrcName) {
+ $http({
+ method: "GET",
+ url: jsonSrcName,
+ }).then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ }
+
+
+ factory.renderColumnForm = function(scope) {
+
+ }
+ factory.renderForm = function(jsonSrcName, elem, scope) {
+ let defer = $q.defer();
+ var divStepForm = document.getElementById('stepView');
+ var textStyle = "width:300px"
+ var textAreaStyle = "width:300px"
+ if(divStepForm)
+ while(divStepForm && divStepForm.firstChild){
+ divStepForm.removeChild(divStepForm.firstChild);
+ }
+ $http({
+ method: 'GET',
+ url: jsonSrcName
+ }).then(function successCallback(response) {
+ // this callback will be called asynchronously
+ // when the response is available
+ if (typeof response.data === 'object') {
+ var json = response.data;
+ var step = json.step;
+ var div =d3.select(elem[0]);
+ var modelNameDict = {};
+
+ div.append("h1").attr({"class":"font-color:blue"}).text(json.content.title);
+ div.append("div").html(json.content.contentHtml);
+ var sections = json.content.sections;
+ sections.forEach(function(d, i) {
+ var sectionDiv = div.append("div");
+ sectionDiv.attr("id", "section_"+i);
+ if(d.title != "finalButton")
+ sectionDiv.append("h4").text(d.title);
+ var proj_id_hidden = sectionDiv.append("input");
+ proj_id_hidden.attr({"type":"hidden", "value":"", "name": "proj_id", "ng-model":"proj_id", "style": "" });
+
+ var elements = d.elements;
+ var buttons = d.buttons;
+ var elementTable ;
+ if(elements) {
+ elements.forEach(function(element, elementIndex) {
+
+ var elementBody ;
+ if(elementIndex == 0) {
+ elementTable = sectionDiv.append("table").attr({"border":"0", "cellpadding":"4", "cellspacing":"0"});
+ elementBody = elementTable.append("tbody");
+ } else {
+ elementBody = elementTable = sectionDiv.select("tbody");
+ }
+ if(element.input == 'hidden') {
+
+ } else {
+ var tr = elementBody.append("tr")
+ var cellWidthStyle = {"width":"50%"}
+
+ if (!(element.spanOverTwoColumns)){
+ var td = tr.append("td").attr({"width":"30%","class":"tdLeftColumn"});
+ if (element.input=="checkboxGroup") {
+ td = td.attr({"rowspan":element.checkboxes.length})
+ }
+ td.text(element.displayName);
+ var cellWidthStyle = {"width":"500px;"}
+ }
+ td = tr.append("td").attr(cellWidthStyle);
+ var model_name_appendix='';
+ if (element.name in modelNameDict) {
+ modelNameDict[element.name]=modelNameDict[element.name]+1
+ model_name_appendix ='_'+modelNameDict[element.name]
+ } else {
+ modelNameDict[element.name]=0
+ }
+ if(element.input == 'text') {
+ var inp_text = td.append("input");
+ inp_text.attr({"type":"text", "value":element.defaultValue, "name": element.name, "ng-model":element.name+model_name_appendix, "style": (element.style?element.style:textStyle) });
+ }
+ else if(element.input === 'checkbox') {
+ var temptd= td.append("label").attr({"class":"checkbox"});
+ var temptd2= temptd.append("input").attr({"type":"checkbox", "ng-model": element.checkbox.value});
+ var temptd3= temptd.append("i").attr({"class":"skin"})
+ var temptd3= temptd.append("span").text(element.checkbox.text);
+
+ } else if (element.input === 'radio') {
+ element.options.forEach(function(d,i) {
+ td.append("input").attr({"type":"radio", "id":element.name+"_"+d.id, "ng-model":element.name+model_name_appendix, "name": element.name, "value": d.id});
+ td.append("label").text(d.name);
+ })
+ } else if (element.input === 'checkboxGroup') {
+
+ element.checkboxes.forEach(function(d,i) {
+ if (i==0) {
+ var temptd= td.append("label").attr({"class":"checkbox"});
+ var temptd2= temptd.append("input").attr({"type":"checkbox", "ng-model": d.value});
+ var temptd3= temptd.append("i").attr({"class":"skin"})
+ var temptd3= temptd.append("span").text(d.text);
+ } else {
+ var tr = elementBody.append("tr")
+ td = tr.append("td").attr({"width":"50%"});
+ var temptd= td.append("label").attr({"class":"checkbox"});
+ var temptd2= temptd.append("input").attr({"type":"checkbox", "ng-model": d.value});
+ var temptd3= temptd.append("i").attr({"class":"skin"})
+ var temptd3= temptd.append("span").text(d.text);
+ }
+ })
+ } else if (element.input === 'textarea') {
+ td.append("textarea").attr({"rows":"4", "cols":"50", "ng-model":element.name+model_name_appendix, "name": element.name, "style": (element.style?element.style:textAreaStyle)});
+ }
+ else if (element.input === 'select') {
+ var select = td.append("select");
+ // need to store options into element name;
+ select
+ .attr({"name": element.name,"b2b-dropdown":"","ng-model":element.ngModelName,"style":"width:300px"})
+ .attr("placeholder-text","Select");
+
+
+ /* var data = ["Option 1", "Option 2", "Option 3"]*/
+ var options = select
+ .selectAll('option')
+ .data(element.options).enter()
+ .append('option').attr("value", function(d) {return d.value})
+ .attr("b2b-dropdown-list","")
+ .text(function (d) { return d.text; })
+ ;
+ } else if (element.input === 'tabletext') {
+ var colArray = element.columns.split(',');
+ var table = td.append("table");
+ table.attr("border", "1");
+
+ colArray.forEach(function(d) {
+ table.append("th").text(d);
+ })
+
+ }
+ }
+ })
+ if (buttons) {
+ buttons.forEach(function(button, buttonIndex) {
+ sectionDiv.append("input").attr({"type":"button", "value": button.text, "ng-click":button.ngFunction,"class":"btn btn-alt btn-small"});
+ })
+ sectionDiv.append("br");
+ }
+ }
+ else { //if elements
+ if((json.step != "1")&&(!json.hideBackButton))
+ sectionDiv.append("input").attr({"type":"button", "value": "Back", "ng-click":"previous()","class":"btn btn-alt btn-small"});
+ if((d.title == "finalButton")&(!json.hideSaveButton))
+ sectionDiv.append("input").attr({"type":"button", "value": "Save", "ng-click":"save()", "class":"btn btn-alt btn-small"});
+ if(!json.last_step)
+ sectionDiv.append("input").attr({"type":"button", "value": "Next", "ng-click":"next()", "class":"btn btn-alt btn-small"});
+
+ }
+ })
+ elem.html(div.html());
+ elem.removeAttr("step-form");
+ $compile(elem.contents())(scope);
+ defer.resolve();
+ } else {
+ $log.error
+ return $q.reject(response.data);
+ }
+ }, function errorCallback(response) {
+ // called asynchronously if an error occurs
+ // or server returns response with an error status.
+ $log.error("reponse data is not a valid JSON object");
+ defer.resolve();
+ });
+ //}
+ return defer.promise;
+ };
+
+ return factory;
+ };
+
+ stepFormFactory.$inject = ['$http', '$compile', '$q'];
+
+ appDS2.factory('stepFormFactory', stepFormFactory);
+
+}())
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/ds2-sample-page/droolsService.js b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/ds2-sample-page/droolsService.js
new file mode 100644
index 00000000..90c3d00d
--- /dev/null
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/ds2-sample-page/droolsService.js
@@ -0,0 +1,53 @@
+appDS2.factory('DroolsService', function ($http, $q) {
+ return {
+ getDroolsList: function() {
+ return $http.get('getDrools')
+ .then(function(response) {
+ console.log(response);
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ },
+
+ getDroolDetails: function(selectedFile) {
+ return $http.get('getDroolDetails'+'?selectedFile=' + selectedFile )
+ .then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ },
+ executeDrools:function(droolsData) {
+ return $http({
+ method: "POST",
+ url: "post_drools/execute",
+ data:droolsData
+ }).then(function(response) {
+ console.log(response);
+ if (response.status == 200) {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+ return response.data;
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ }
+ };
+});
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/headerServiceDS2.js b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/headerServiceDS2.js
new file mode 100644
index 00000000..92a99be0
--- /dev/null
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/headerServiceDS2.js
@@ -0,0 +1,483 @@
+appDS2.directive('qHeader', function () {
+
+ return {
+ restrict: 'A', //This menas that it will be used as an attribute and NOT as an element. I don't like creating custom HTML elements
+ replace: false,
+ templateUrl: "app/fusion/scripts/DS2-view-models/ds2Header.html",
+ controller: ['$scope', '$filter','$http','$timeout', '$log','UserInfoServiceDS2', '$window', '$cookies', function ($scope, $filter, $http, $timeout, $log,UserInfoServiceDS2, $window, $cookies) {
+
+ //alert("in header service")
+ /*Define fields*/
+ $scope.userName;
+ $scope.userFirstName;
+ $scope.redirectUrl;
+ $scope.contactUsUrl;
+ $scope.getAccessUrl;
+ $scope.childData=[];
+ $scope.parentData=[];
+ $scope.menuItems = [];
+ $scope.loadMenufail=false;
+ $scope.megaMenuDataObject=[];
+ $scope.activeClickSubMenu = {
+ x: ''
+ };
+ $scope.activeClickMenu = {
+ x: ''
+ };
+ $scope.favoritesMenuItems = [];
+ $scope.favoriteItemsCount = 0;
+ $scope.showFavorites = false;
+ $scope.emptyFavorites = false;
+ $scope.favoritesWindow = false;
+
+ /* Menu Structure
+ var menuStructureConvert = function(menuItems) {
+ console.log(menuItems);
+ $scope.megaMenuDataObjectTemp =
+ [
+ {
+ text: "ECOMP",
+ children: menuItems
+ },
+ {
+ text: "Help",
+ children: [
+ {
+ text:"Contact Us",
+ url:$scope.contactUsUrl
+ },
+ {
+ text:"Get Access",
+ url:$scope.getAccessUrl
+ }]
+ }
+ ];
+ return $scope.megaMenuDataObjectTemp;
+ };
+ */
+ /***************functions**************/
+ /*Put user info into fields*/
+ $scope.inputUserInfo = function(userInfo){
+ if (typeof(userInfo) != "undefined" && userInfo!=null && userInfo!=''){
+ if(typeof(userInfo.USER_FIRST_NAME) != "undefined" && userInfo.USER_FIRST_NAME!=null){
+ $scope.userFirstName = userInfo.USER_FIRST_NAME;
+ }
+ }
+ }
+ /*getting user info from session*/
+ $scope.getUserNameFromSession = function(){
+ UserInfoServiceDS2.getFunctionalMenuStaticDetailSession()
+ .then(function (res) {
+ $scope.contactUsUrl=res.contactUsLink;
+ $scope.userName = res.userName;
+ $scope.userFirstName = res.firstName;
+ $scope.redirectUrl = res.portalUrl;
+ $scope.getAccessUrl = res.getAccessUrl;
+ });
+ }
+ $scope.getTopMenuStaticInfo=function() {
+ var promise = UserInfoServiceDS2.getFunctionalMenuStaticDetailShareContext();
+ promise.then(
+ function(res) {
+ if(res==null || res==''){
+ $log.info('failed getting static User information');
+ $scope.getUserNameFromSession();
+ }else{
+ $log.info('Received static User information');
+
+ var resData = res;
+ console.log(resData);
+ $scope.inputUserInfo(resData);
+ $scope.userName = $scope.firstName+ ' '+ $scope.lastName;
+ }
+ },
+ function(err) {
+ $log.info('failed getting static User information');
+ }
+ );
+ }
+
+ $scope.returnToPortal=function(){
+ window.location.href = $scope.redirectUrl;
+ }
+
+ var unflatten = function( array, parent, tree ){
+ tree = typeof tree !== 'undefined' ? tree : [];
+ parent = typeof parent !== 'undefined' ? parent : { menuId: null };
+ var children = _.filter( array, function(child){ return child.parentMenuId == parent.menuId; });
+ if( !_.isEmpty( children ) ){
+ if( parent.menuId === null ){
+ tree = children;
+ }else{
+ parent['children'] = children
+ }
+ _.each( children, function( child ){ unflatten( array, child ) } );
+ }
+ return tree;
+ }
+
+ $scope.getMenu=function() {
+ $scope.getTopMenuStaticInfo();
+ $http({
+ method: "GET",
+ url: 'get_functional_menu',
+// TIMEOUT USED FOR LOCAL TESTING ONLY
+// timeout: 100
+ }).success(function (response) {
+
+ if (response == '101: Timeout') {
+ $log.debug('Timeout attempting to get_functional_menu');
+ $scope.megaMenuDataObject = menuStructureConvert("");
+// $scope.createErrorMenu();
+ //$scope.loadMenufail=true;
+ } else {
+ if(typeof response != 'undefined' && response.length!=0 && typeof response[0] != 'undefined' && typeof response[0].error!="undefined"){
+ $log.debug('Timeout attempting to get_functional_menu');
+ $scope.menuItems = unflatten( response);
+ $scope.megaMenuDataObject = menuStructureConvert($scope.menuItems);
+// $scope.createErrorMenu();
+ //$scope.loadMenufail=true;
+ }else{
+ $scope.loadMenufail=false;
+ $scope.contactUsURL = response.contactUsLink;
+ $log.debug('functional_menu',response);
+ $scope.megaMenuDataObject = menuStructureConvert("");
+ }
+ }
+ }).error(function (response){
+ $scope.megaMenuDataObject = menuStructureConvert("");
+// $scope.createErrorMenu();
+ //$scope.loadMenufail=true;
+ $log.debug('REST API failed get_functional_menu...');
+ });
+
+ }
+
+ /*$scope.adjustHeader=function() {
+ $scope.showHeader = ($cookies.show_app_header == undefined ? true : $cookies.show_app_header);
+
+ if($scope.showHeader == true) {
+ $scope.drawer_margin_top = 70;
+ $scope.drawer_custom_top = 54;
+ $scope.toggle_drawer_top = 55;
+ }
+ else {
+
+ $scope.drawer_margin_top = 60;
+ $scope.drawer_custom_top = 0;
+ $scope.toggle_drawer_top = 10;
+ }
+
+ }*/
+
+ $scope.getMenu();
+ // $scope.adjustHeader();
+
+/* **************************************************************************/
+/* Logic for the favorite menus is here */
+
+ $scope.loadFavorites = function () {
+ $log.debug('loadFavorites has happened.');
+ if ($scope.favoritesMenuItems == '') {
+ $scope.generateFavoriteItems();
+ $log.debug('loadFavorites is calling generateFavoriteItems()');
+ } else {
+ $log.debug('loadFavorites is NOT calling generateFavoriteItems()');
+ }
+ }
+
+ $scope.goToUrl = function (item) {
+ $log.info("goToUrl called")
+ $log.info(item);
+
+ var url = item.url;
+ var restrictedApp = item.restrictedApp;
+ $log.debug('Restricted app status is: ' + restrictedApp);
+ if (!url) {
+ $log.info('No url found for this application, doing nothing..');
+ return;
+ }
+ if (restrictedApp) {
+ $window.open(url, '_blank');
+ } else {
+ $window.open(url, '_self');
+ }
+
+ }
+
+ $scope.submenuLevelAction = function(index, column) {
+ if ($scope.favoritesMenuItems == '') {
+ $scope.generateFavoriteItems();
+ $log.debug('submenuLevelAction is calling generateFavoriteItems()');
+ }
+ $log.debug('item hovered/clicked: ' + index + '; column = ' + column);
+ if (column == 2) { // 2 is Design
+ $scope.favoritesWindow = false;
+ $scope.showFavorites = false;
+ $scope.emptyFavorites = false;
+ }
+ if (index=='Favorites' && $scope.favoriteItemsCount != 0) {
+ $log.debug('Showing Favorites window');
+ $scope.favoritesWindow = true;
+ $scope.showFavorites = true;
+ $scope.emptyFavorites = false;
+ }
+ if (index=='Favorites' && $scope.favoriteItemsCount == 0) {
+ $log.debug('Hiding Favorites window in favor of No Favorites Window');
+ $scope.favoritesWindow = true;
+ $scope.showFavorites = false;
+ $scope.emptyFavorites = true;
+ }
+ if (column > 2) {
+ $scope.favoritesWindow = false;
+ $scope.showFavorites = false;
+ $scope.emptyFavorites = false;
+ }
+ };
+
+ $scope.hideFavoritesWindow = function() {
+ $log.debug('$scope.hideFavoritesWindow has been called');
+ $scope.showFavorites = false;
+ $scope.emptyFavorites = false;
+ }
+
+ $scope.isUrlFavorite = function (menuId) {
+// $log.debug('array objects in menu favorites = ' + $scope.favoriteItemsCount + '; menuId=' + menuId);
+ var jsonMenu = JSON.stringify($scope.favoritesMenuItems);
+ var isMenuFavorite = jsonMenu.indexOf('menuId\":' + menuId);
+ if (isMenuFavorite==-1) {
+ return false;
+ } else {
+ return true;
+ }
+
+ }
+
+ $scope.generateFavoriteItems = function() {
+ $http({
+ method: "GET",
+ url: 'get_favorites',
+// TIMEOUT USED FOR LOCAL TESTING ONLY
+// timeout: 100
+ }).success(function (response) {
+ if (response == '101: Timeout') {
+ $log.error('Timeout attempting to get_favorites_menu');
+ } else {
+ if(typeof response != 'undefined' && response.length!=0 && typeof response[0] != 'undefined' && typeof response[0].error!="undefined"){
+ $log.error('REST API failed get_favorites' + response);
+ }else{
+ $log.debug('get_favorites = ' + JSON.stringify(response));
+ $scope.favoritesMenuItems = response;
+ $scope.favoriteItemsCount = Object.keys($scope.favoritesMenuItems).length;
+ $log.info('number of favorite menus: ' + $scope.favoriteItemsCount);
+ }
+ }
+ }).error(function (response){
+ $log.error('REST API failed get_favorites' + response);
+//createFavoriteErrorMenu() USED FOR LOCAL TESTING ONLY
+// $scope.createFavoriteErrorMenu();
+ });
+ }
+
+ $scope.createFavoriteErrorMenu=function() {
+ $scope.favoritesMenuItems = [];
+ $scope.favoriteItemsCount = Object.keys($scope.favoritesMenuItems).length;
+ $log.info('number of favorite menus: ' + $scope.favoriteItemsCount);
+ }
+
+ /* end of Favorite Menu code */
+ /* **************************************************************************/
+
+
+ /* **************************************************************************/
+ // THIS IS USED FOR LOCAL TESTING ONLY
+ /* **************************************************************************/
+ $scope.createErrorMenu=function() {
+ $log.debug('Creating fake menu now...');
+// $scope.loadMenufail=true;
+ $scope.menuItems = [
+ {
+ "menuId": 1,
+ "column": 2,
+ "text": "Design",
+ "parentMenuId": null,
+ "url": ""
+ },
+ {
+ "menuId": 2,
+ "column": 3,
+ "text": "Infrastructure Ordering",
+ "parentMenuId": null,
+ "url": ""
+ },
+ {
+ "menuId": 3,
+ "column": 4,
+ "text": "Service Creation",
+ "parentMenuId": null,
+ "url": ""
+ },
+ {
+ "menuId": 4,
+ "column": 5,
+ "text": "Service Mgmt",
+ "parentMenuId": null,
+ "url": ""
+ },
+ {
+ "menuId": 90,
+ "column": 1,
+ "text": "Google",
+ "parentMenuId": 1,
+ "url": "http://google.com"
+ },
+ {
+ "menuId": 91,
+ "column": 1,
+ "text": "Mike Little's Coffee Cup",
+ "parentMenuId": 2,
+ "url": "http://coffee.com"
+ },
+ {
+ "menuId": 92,
+ "column": 2,
+ "text": "Andy and his Astrophotgraphy",
+ "parentMenuId": 3,
+ "url": "http://nightskypix.com"
+ },
+ {
+ "menuId": 93,
+ "column": 1,
+ "text": "JSONLint",
+ "parentMenuId": 4,
+ "url": "http://http://jsonlint.com"
+ },
+ {
+ "menuId": 94,
+ "column": 2,
+ "text": "HROneStop",
+ "parentMenuId": 4,
+ "url": "http://ebiz.sbc.com/hronestop"
+ },
+ {
+ "menuId": 95,
+ "column": 2,
+ "text": "4th Level App4a R16",
+ "parentMenuId": 4,
+ "url": "http://www.e-access.att.com/ecomp_portal_ist/ecompportal/widgets"
+ },
+ {
+ "menuId": 96,
+ "column": 3,
+ "text": "3rd Level App1c R200",
+ "parentMenuId": 4,
+ "url": "http://app1c.com"
+ },
+ {
+ "menuId": 97,
+ "column": 1,
+ "text": "3rd Level App4b R16",
+ "parentMenuId": 5,
+ "url": "http://app4b.com"
+ },
+ {
+ "menuId": 98,
+ "column": 2,
+ "text": "3rd Level App2b R16",
+ "parentMenuId": 5,
+ "url": "http://app2b.com"
+ },
+ {
+ "menuId": 99,
+ "column": 1,
+ "text": "Favorites",
+ "parentMenuId": null,
+ "url": ""
+ }
+ ];
+ $scope.menuItems = unflatten( $scope.menuItems );
+ //remove this
+ $scope.megaMenuDataObject = menuStructureConvert($scope.menuItems);
+ }
+ }]
+ }
+});
+
+appDS2.filter("ellipsis", function(){
+ return function(text, length){
+ if (text) {
+ var ellipsis = text.length > length ? "..." : "";
+ return text.slice(0, length) + ellipsis;
+ };
+ return text;
+ }
+});
+function reloadPageOnce() {
+ if( window.localStorage )
+ {
+ if( !localStorage.getItem('firstLoad') )
+ {
+ localStorage['firstLoad'] = true;
+ window.location.reload();
+ }
+ else
+ localStorage.removeItem('firstLoad');
+ }
+}
+appDS2.controller('loginSnippetCtrl', function ($scope,$http, $log,UserInfoServiceDS2){
+ /*Define fields*/
+ $scope.userProfile={
+ firstName:'',
+ lastName:'',
+ fullName:'',
+ email:'',
+ }
+ /*Put user info into fields*/
+ $scope.inputUserInfo = function(userInfo){
+ if (typeof(userInfo) != "undefined" && userInfo!=null && userInfo!=''){
+ if (typeof(userInfo.USER_FIRST_NAME) != "undefined" && userInfo.USER_FIRST_NAME!=null && userInfo.USER_FIRST_NAME!='')
+ $scope.userProfile.firstName = userInfo.USER_FIRST_NAME;
+ if (typeof(userInfo.USER_LAST_NAME) != "undefined" && userInfo.USER_LAST_NAME!=null && userInfo.USER_LAST_NAME!='')
+ $scope.userProfile.lastName = userInfo.USER_LAST_NAME;
+ if (typeof(userInfo.USER_EMAIL) != "undefined" && userInfo.USER_EMAIL!=null && userInfo.USER_EMAIL!='')
+ $scope.userProfile.email = userInfo.USER_EMAIL;
+
+ }
+ }
+ /*getting user info from session*/
+ $scope.getUserNameFromSession = function(){
+ UserInfoServiceDS2.getFunctionalMenuStaticDetailSession()
+ .then(function (response) {
+ $scope.userProfile.fullName = response.userName;
+ $scope.userProfile.email = response.email;
+ });
+ }
+ /*getting user info from shared context*/
+ $scope.getUserName=function() {
+ var promise = UserInfoServiceDS2.getFunctionalMenuStaticDetailShareContext();
+ promise.then(
+ function(res) {
+ if(res==null || res==''){
+ $log.info('headerServiceDS2: get user information from session');
+ $scope.getUserNameFromSession();
+
+ }else{
+ // $log.info('Received User information from shared context',res);
+ var resData = res;
+ console.log(resData);
+ $scope.inputUserInfo(resData);
+ $scope.userProfile.fullName = $scope.userProfile.firstName+ ' '+ $scope.userProfile.lastName;
+ }
+ },
+ function(err) {
+ console.log('error');
+ }
+ );
+ };
+ /*call the get user info function*/
+ try{
+ $scope.getUserName();
+ }catch(err){
+ $log.info('Error while getting User information',err);
+ }
+}); \ No newline at end of file
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/leftMenuServiceDS2.js b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/leftMenuServiceDS2.js
new file mode 100644
index 00000000..879da8e7
--- /dev/null
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/leftMenuServiceDS2.js
@@ -0,0 +1,110 @@
+function isRealValue(obj){
+ return obj && obj !== "null" && obj!== "undefined";
+}
+appDS2.factory('LeftMenuServiceDS2', function ($http,$log, $q) {
+ return {
+ getLeftMenu: function() {
+ return $http.get('get_menu')
+ .then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ },
+ getAppName: function() {
+ return $http.get('get_app_name')
+ .then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ }
+
+ };
+});
+
+/* check if the body height has changed */
+function onElementHeightChange(elm, callback){
+ if (!elm) {
+ console.log('onElementHeightChange: null element!');
+ return;
+ }
+ var lastHeight = elm.clientHeight, newHeight;
+ (function run(){
+ newHeight = elm.clientHeight;
+ if( lastHeight != newHeight )
+ callback();
+ lastHeight = newHeight;
+
+ if( elm.onElementHeightChangeTimer )
+ clearTimeout(elm.onElementHeightChangeTimer);
+ elm.onElementHeightChangeTimer = setTimeout(run, 200);
+ })();
+}
+
+/*adjust height of left menu*/
+function adjustLeftMenuHeight() {
+
+ try{
+ var footerTop = $('.footer-container').offset().top;
+ var scrollTop = $(window).scrollTop();
+ $(".menu-container").css({
+ "height" : footerTop- scrollTop,
+ });
+ }catch(err){
+ console.log('adjustLeftMenuHeight failed', err)
+ }
+}
+/* adjust left menu height on scroll */
+window.onscroll = function (e) {
+ adjustLeftMenuHeight();
+}
+
+function adjustHeader() {
+ var showHeader = getCookie("show_app_header");
+ if(showHeader==''){
+ $(".menu-container").css({
+ "margin-top" : 45,
+ });
+ }else{
+ $(".menu-container").css({
+ "margin-top" : 0,
+ });
+ }
+};
+/* adjust left menu height on page load */
+$(function() {
+ adjustLeftMenuHeight();
+ adjustHeader();
+});
+
+
+onElementHeightChange(document.body, function(){
+ adjustLeftMenuHeight();
+});
+
+function getCookie(cname) {
+ var name = cname + "=";
+ var decodedCookie = decodeURIComponent(document.cookie);
+ var ca = decodedCookie.split(';');
+ for(var i = 0; i <ca.length; i++) {
+ var c = ca[i];
+ while (c.charAt(0) == ' ') {
+ c = c.substring(1);
+ }
+ if (c.indexOf(name) == 0) {
+ return c.substring(name.length, c.length);
+ }
+ }
+ return "";
+}
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/manifestService.js b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/manifestService.js
new file mode 100644
index 00000000..27e3a6ec
--- /dev/null
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/manifestService.js
@@ -0,0 +1,24 @@
+appDS2.factory('ManifestService', function ($http, $q, $log) {
+ return {
+ // Gets and returns the manifest for the webapp.
+ getManifest: function() {
+ // cache control for IE
+ var cc = "?cc=" + new Date().getTime().toString();
+ return $http({
+ method: 'GET',
+ url: 'manifest' + cc,
+ cache: false,
+ responseType: 'json'})
+ .then(function(response) {
+ // $log.debug("ManifestService.getManifest: " + JSON.stringify(response));
+ if (response.data == null || typeof response.data != 'object')
+ return $q.reject('ManifestService.getManifest: response.data null or not object');
+ else
+ return response.data;
+ }, function(error) {
+ $log.error('ManifestService.getManifest failed: ' + error.data);
+ return $q.reject(error.data);
+ });
+ }
+ };
+});
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/modalService.js b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/modalService.js
new file mode 100644
index 00000000..cb85ffce
--- /dev/null
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/modalService.js
@@ -0,0 +1,57 @@
+
+angular.module("template/modalsAndAlerts/window2.html", []).run(["$templateCache", function($templateCache) {
+ $templateCache.put("template/modalsAndAlerts/window.html",
+ "<div class=\"modalwrapper active {{windowClass}}\" ng-class=\"{'modal-landscape': isModalLandscape}\" role=\"dialog\" tabindex=\"-1\" aria-labelledby=\"{{title}}\" aria-describedby=\"{{content}}\">\n" +
+ " <div class=\"modal fade {{sizeClass}}\">sdfdsfsfd</div>\n" +
+ "</div>");
+ }]);
+
+angular.module('ddh.att.modalsAndAlerts')
+
+.controller('modalsAndAlertsController', function ($scope, $modal, $log) {
+ $scope.name='eeee';
+ $scope.items = ['item1', 'item2', 'item3'];
+ $scope.dt = new Date("March 10, 2014 00:00:00");
+ $scope.helperText = "The date you selected is $date. Double tap to open calendar. Select a date to close the calendar.";
+ $scope.open = function (event) {
+ var modalInstance = $modal.open({
+ templateUrl: 'template/modalsAndAlerts/modal-demo.html',
+ controller: ModalInstanceCtrl,
+ sizeClass: 'modal-long-adjust',
+ resolve: {
+ items: function () {
+ return $scope.items;
+ }
+ }
+ });
+
+ modalInstance.result.then(function (selectedItem) {
+ $scope.selected = selectedItem;
+ event.target.focus();
+ }, function () {
+ $log.info('Modal dismissed at: ' + new Date());
+ event.target.focus();
+ });
+ };
+ $scope.ok = function () {
+ //add the ok functionality
+ console.log("ok");
+ };
+ $scope.cancel = function () {
+ //add the cancel functionality
+ console.log("cancel");
+ };
+})
+
+var ModalInstanceCtrl = function ($scope, $modalInstance, items) {
+ $scope.items = items;
+ $scope.selected = {
+ item: $scope.items[0]
+ };
+ $scope.ok = function () {
+ $modalInstance.close($scope.selected.item);
+ };
+ $scope.cancel = function () {
+ $modalInstance.dismiss('cancel');
+ };
+};
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/modalServiceDS2.js b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/modalServiceDS2.js
new file mode 100644
index 00000000..d3cd8737
--- /dev/null
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/modalServiceDS2.js
@@ -0,0 +1,31 @@
+angular.module("modalServicesDS2",[]).service('modalService', ['$modal', function ($modal) {
+
+ this.popupConfirmWinWithCancel = function(title, msgBody, callback,dismissCallback){
+ debugger;
+ var modalInstance = $modal.open({
+ templateUrl: 'confirmation_informativeDS2.html',
+ //controller: 'modalpopupControllerDS2',
+ //size: 'sm',
+ resolve: {
+ message: function () {
+ var message = {
+ title: title,
+ text: msgBody
+ };
+ return message;
+ }
+ }
+ });
+ var args = Array.prototype.slice.call( arguments, 0 );
+ args.splice( 0, 3);
+ modalInstance.result.then(function(){
+ callback.apply(null, args);
+ }, function() {
+ dismissCallback();
+ })['finally'](function(){
+ modalInstance = undefined;
+ });
+
+ };
+
+ }]); \ No newline at end of file
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/profileServiceDS2.js b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/profileServiceDS2.js
new file mode 100644
index 00000000..1ca373f9
--- /dev/null
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/profileServiceDS2.js
@@ -0,0 +1,78 @@
+appDS2.factory('ProfileServiceDS2', function ($http, $q) {
+ return {
+ getProfile: function() {
+ return $http.get('get_user')
+ .then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ },
+
+ getProfilePagination: function(pageNum,viewPerPage) {
+ return $http.get('get_user_pagination?pageNum=' + pageNum + '&viewPerPage=' + viewPerPage)
+ .then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ },
+
+ getPostProfile: function() {
+ return $http.get('post_search_sample')
+ .then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ },
+
+ getProfileDetail: function(profileId) {
+ return $http.get('get_profile?profile_id='+profileId)
+ .then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ },
+
+ getSelfProfileDetail: function() {
+ return $http.get('get_self_profile')
+ .then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ }
+ };
+});
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/sampleService.js b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/sampleService.js
new file mode 100644
index 00000000..d762dc9c
--- /dev/null
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/sampleService.js
@@ -0,0 +1,19 @@
+appDS2.factory('SampleService', function ($http, $q) {
+ return {
+ getCollaborateList: function() {
+ return $http.get('get_collaborate_list')
+ .then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
+ },
+
+ }
+});
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/userInfoServiceDS2.js b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/userInfoServiceDS2.js
new file mode 100644
index 00000000..cfb12dd5
--- /dev/null
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/userInfoServiceDS2.js
@@ -0,0 +1,32 @@
+appDS2.factory('UserInfoServiceDS2', function ($http, $q,$log) {
+ return {
+ getFunctionalMenuStaticDetailShareContext: function(contextId,key) {
+ var deferred = $q.defer();
+ $http({
+ method: "GET",
+ url: "get_userinfo",
+ }).success( function(res) {
+ if(res==null || res=='')
+ $log.error('userInfoServiceDs2: failed to get user info');
+ deferred.resolve(res);
+ }).error( function(status) {
+ deferred.reject(status);
+ });
+ return deferred.promise;
+ },
+ getFunctionalMenuStaticDetailSession: function() {
+ var deferred = $q.defer();
+ $http({
+ method: "GET",
+ url: "get_topMenuInfo",
+ }).success(function(res) {
+ if(res==null || res=='')
+ $log.error('userInfoServiceDs2: failed to get top menu info');
+ deferred.resolve(res);
+ }).error( function(status) {
+ deferred.reject(status);
+ });
+ return deferred.promise;
+ }
+ };
+});