diff --git a/client/cat3/bower.json b/client/cat3/bower.json index 01d8209e5..8b234a313 100644 --- a/client/cat3/bower.json +++ b/client/cat3/bower.json @@ -29,7 +29,9 @@ "angular-ui-grid": "^3.1.1", "lodash": "^4.11.2", "ng-file-upload": "^12.0.4", - "angular-nvd3": "^1.0.7" + "angular-nvd3": "^1.0.7", + "angularMultipleSelect": "angular-multiple-select#^1.1.2", + "glyphicons-halflings": "*" }, "exportsOverride": { "font-awesome": { diff --git a/client/cat3/main.html b/client/cat3/main.html index dce92b810..64a33c60e 100644 --- a/client/cat3/main.html +++ b/client/cat3/main.html @@ -16,6 +16,7 @@ + @@ -41,6 +42,7 @@ + @@ -107,7 +109,10 @@ + + + diff --git a/client/cat3/src/clientRoutes.js b/client/cat3/src/clientRoutes.js index 527ec017d..538102361 100644 --- a/client/cat3/src/clientRoutes.js +++ b/client/cat3/src/clientRoutes.js @@ -71,7 +71,7 @@ function routeConfig($stateProvider, $urlRouterProvider, $httpProvider, modulePe }] } }).state('dashboard.analytics', { - url: "/analytics/", + url: "/CM/", templateUrl: "src/partials/sections/dashboard/analytics/analytics.html", controller: "analyticsCtrl as analytic", resolve: { diff --git a/client/cat3/src/partials/global.scss b/client/cat3/src/partials/global.scss index b85ade95c..74db63c13 100644 --- a/client/cat3/src/partials/global.scss +++ b/client/cat3/src/partials/global.scss @@ -773,6 +773,12 @@ accordion .panel-heading { .ui-grid-cell { text-overflow: ellipsis; overflow: initial; + border-right: none !important; + border-bottom: 1px solid rgba(180, 180, 180, 0.23); + } + .ui-grid-header-cell{ + font-size: 12px; + font-weight: 500; } ul.ng-scope { @@ -799,6 +805,7 @@ accordion .panel-heading { height: auto; padding:6px; overflow: hidden; + font-size: 12px; } .ui-grid-cell-contents { @@ -1265,6 +1272,12 @@ accordion .panel-heading { margin-left: 6px !important; } // ui grid style +.ui-grid-row:nth-child(odd) .ui-grid-cell{ + background-color: rgba(255, 255, 255, 0.43) !important; +} +.ui-grid-row:last-child .ui-grid-cell{ + border-bottom-width: 1px !important; +} .ui-grid-header-cell-row{ background: #636363 !important; color: #FBFBFB !important; @@ -1413,4 +1426,29 @@ label { -webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s; -o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s; transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s; -} \ No newline at end of file +} + +div::-webkit-scrollbar-track +{ + -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); + background-color: #F5F5F5; +} + +div::-webkit-scrollbar +{ + width: 10px; + background-color: #F5F5F5; +} + +div::-webkit-scrollbar-thumb +{ + background-color: #40BAF1; + background-image: -webkit-linear-gradient(45deg, + rgba(255, 255, 255, .2) 25%, + transparent 25%, + transparent 50%, + rgba(255, 255, 255, .2) 50%, + rgba(255, 255, 255, .2) 75%, + transparent 75%, + transparent) +} diff --git a/client/cat3/src/partials/globals/header/headerDashboard.html b/client/cat3/src/partials/globals/header/headerDashboard.html index 25c5f30bc..5a07f691f 100644 --- a/client/cat3/src/partials/globals/header/headerDashboard.html +++ b/client/cat3/src/partials/globals/header/headerDashboard.html @@ -35,7 +35,7 @@
  • - ANALYTICS + Cloud
  • @@ -46,7 +46,7 @@
  • - + {{appDetails.cn | uppercase}} [{{appDetails.roleId}}]
    diff --git a/client/cat3/src/partials/sections/dashboard/analytics/analytics.html b/client/cat3/src/partials/sections/dashboard/analytics/analytics.html index b90bab094..e8610f1b3 100644 --- a/client/cat3/src/partials/sections/dashboard/analytics/analytics.html +++ b/client/cat3/src/partials/sections/dashboard/analytics/analytics.html @@ -68,9 +68,9 @@
    @@ -97,7 +97,7 @@
    - +
    @@ -107,20 +107,23 @@
    -
    +
    - - - - + + + + + +
    diff --git a/client/cat3/src/partials/sections/dashboard/analytics/analytics.js b/client/cat3/src/partials/sections/dashboard/analytics/analytics.js index b4c37f53a..86888270a 100644 --- a/client/cat3/src/partials/sections/dashboard/analytics/analytics.js +++ b/client/cat3/src/partials/sections/dashboard/analytics/analytics.js @@ -1,10 +1,10 @@ (function (angular) { "use strict"; - angular.module('dashboard.analytics', ['apis.analytics','nvd3']) + angular.module('dashboard.analytics', ['apis.analytics','nvd3','multipleSelect','ui.grid.edit']) .config(['$stateProvider', '$urlRouterProvider', '$httpProvider', 'modulePermissionProvider', function($stateProvider, $urlRouterProvider, $httpProvider, modulePermissionProvider) { var modulePerms = modulePermissionProvider.$get(); $stateProvider.state('dashboard.analytics.cost', { - url: "cost/", + url: "analytics/cost/", templateUrl: "src/partials/sections/dashboard/analytics/view/cost.html", controller: "costCtrl as cost", params:{filterView:{cost:true,viewBy:true,splitUpType:true,org:true}}, @@ -22,7 +22,7 @@ }] } }).state('dashboard.analytics.capacity', { - url: "capacity/", + url: "analytics/capacity/", templateUrl: "src/partials/sections/dashboard/analytics/view/capacity.html", controller: "capacityCtrl as capaCtr", params:{filterView:{period:true,cost:true,viewBy:true,splitUpType:true,org:true}}, @@ -40,7 +40,7 @@ }] } }).state('dashboard.analytics.usage', { - url: "usage/", + url: "analytics/usage/", templateUrl: "src/partials/sections/dashboard/analytics/view/usage.html", controller: "usageCtrl as usage", params:{filterView:{usage:true,org:true,provi:true,instanceType:true,resources:true}}, @@ -57,10 +57,47 @@ return deferred.promise; }] } + }).state('dashboard.analytics.tagMapping', { + url: "discovery/tagMapping/", + templateUrl: "src/partials/sections/dashboard/analytics/view/discoveryTagMapping.html", + controller: "discoveryTagMappingCtrl as disTgMap", + params:{filterView:{period:true,org:true,provi:true},dashboardHide:true,reportHide:true,otherTab:'Tag mapping',otherTabView:true}, + resolve: { + auth: ["$q", function ($q) { + var deferred = $q.defer(); + // instead, go to a different page + if (modulePerms.analyticsBool()) { + // everything is fine, proceed + deferred.resolve(); + } else { + deferred.reject({redirectTo: 'dashboard'}); + } + return deferred.promise; + }] + } + }).state('dashboard.analytics.resources', { + url: "discovery/resources/", + templateUrl: "src/partials/sections/dashboard/analytics/view/discoveryResources.html", + controller: "discoveryResourcesCtrl as disResrc", + params:{filterView:{period:true,org:true,provi:true,instanceType:true},dashboardHide:true,otherTab:'Resources',otherTabView:true,reportHide:true}, + resolve: { + auth: ["$q", function ($q) { + var deferred = $q.defer(); + // instead, go to a different page + if (modulePerms.analyticsBool()) { + // everything is fine, proceed + deferred.resolve(); + } else { + deferred.reject({redirectTo: 'dashboard'}); + } + return deferred.promise; + }] + } }); }]) .controller('analyticsCtrl',['$scope', '$rootScope','$state','genericServices','analyticsServices', 'workzoneServices', 'toastr', function ($scope, $rootScope, $state, genericServices,analyticsServices, workzoneServices, toastr) { var analytic = this; + $scope.isTreeOpen = false; //var splitUp=null; analytic.tabShowChat=true; analytic.tabShowReport=false; @@ -170,7 +207,7 @@ $scope.getResourse = function(instType) { $rootScope.filterNewEnt.resources=[]; $scope.selectedResources=[]; - if(instType === 'Managed') { + if(instType === 'managedInstances') { workzoneServices.getManagedInstances($scope.filter.providerId).then(function(response) { if(response.data && response.data.managedInstances && response.data.managedInstances.length >0){ $scope.resourceList = response.data.managedInstances; @@ -181,7 +218,7 @@ toastr.error(error); }); } - if(instType === 'Assigned') { + if(instType === 'unmanagedInstances') { workzoneServices.getAssignedInstances($scope.filter.providerId).then(function(response) { if(response.data && response.data.unmanagedInstances.length >0){ $scope.resourceList = response.data.unmanagedInstances; @@ -193,7 +230,7 @@ toastr.error(error); }); } - if(instType === 'Unassigned') { + if(instType === 'unassigned-instances') { workzoneServices.getUnassignedInstances($scope.filter.providerId).then(function(response) { if(response.data && response.data.data && response.data.data.length >0){ $scope.resourceList = response.data.data; diff --git a/client/cat3/src/partials/sections/dashboard/analytics/analytics.scss b/client/cat3/src/partials/sections/dashboard/analytics/analytics.scss index cf8c2d7cf..4769ac191 100644 --- a/client/cat3/src/partials/sections/dashboard/analytics/analytics.scss +++ b/client/cat3/src/partials/sections/dashboard/analytics/analytics.scss @@ -209,6 +209,13 @@ #analyticsPage { + .ui-grid-row > div .ui-grid-cell { + float: left !important; + vertical-align: middle; + height: 40px !important; + padding: 0px !important; + overflow: hidden; + } .filter-btn { margin: 9px 10px 0 0; } @@ -308,4 +315,50 @@ } .marginbottom10{ margin-bottom: 10px !important; +} +#tagMappting{ + .saveBtn{ + position: fixed; + bottom: 0px; + display: block; + padding: 13px 14px 15px; + border-top: 1px solid rgba(0, 0, 0, .1); + background: rgba(249, 249, 249, .9); + z-index: 999; + } + .btnFoot{ + float: right; + width: 51%; + } + .form-control{ + height: 29px; + padding: 2px 10px; + font-size: 12px; + line-height: 1; + } + .with250{ + width: 250px !important; + } +} +.form-item-container { + .list-inline { + input { + width: 96px; + height: 20px; + border: 1px solid #ccc; + border-radius: 0px !important; + } + li span { + border: 1px solid #23a9e1; + border-radius: 0px !important; + padding: 2px 4px; + font-size: 12px; + } + } + +} +.autocomplete-list { + width: calc(37% + 3px) !important; + left: 40% !important; + z-index: 100; } \ No newline at end of file diff --git a/client/cat3/src/partials/sections/dashboard/analytics/analyticsServices.js b/client/cat3/src/partials/sections/dashboard/analytics/analyticsServices.js index f0d1c239e..06cb441b0 100644 --- a/client/cat3/src/partials/sections/dashboard/analytics/analyticsServices.js +++ b/client/cat3/src/partials/sections/dashboard/analytics/analyticsServices.js @@ -48,6 +48,8 @@ id: $rootScope.organNewEnt.instanceType, title: 'Instance' }; + } else { + $rootScope.filterNewEnt.instanceType = {}; } if ($rootScope.organNewEnt.provider) { $rootScope.filterNewEnt.provider = { @@ -62,8 +64,8 @@ $rootScope.organNewEnt = {}; if($state.current.name === "dashboard.analytics.usage"){ $rootScope.organNewEnt.provider='0'; - $rootScope.organNewEnt.instanceType='Unassigned'; - $rootScope.$emit('INI_usage', 'Unassigned'); + $rootScope.organNewEnt.instanceType='unassigned-instances'; + $rootScope.$emit('INI_usage', 'unassigned-instances'); } $rootScope.organNewEnt.org = or; } diff --git a/client/cat3/src/partials/sections/dashboard/analytics/controller/capacityCtrl.js b/client/cat3/src/partials/sections/dashboard/analytics/controller/capacityCtrl.js index bbc80f290..789d15ea9 100644 --- a/client/cat3/src/partials/sections/dashboard/analytics/controller/capacityCtrl.js +++ b/client/cat3/src/partials/sections/dashboard/analytics/controller/capacityCtrl.js @@ -295,7 +295,7 @@ $timeout(function () { $rootScope.applyFilter(true,'month'); capaCtr.trendsChart($rootScope.filterNewEnt); - var treeNames = ['Analytics','capacity']; + var treeNames = ['Cloud Management','Analytics','capacity']; $rootScope.$emit('treeNameUpdate', treeNames); },500); }; diff --git a/client/cat3/src/partials/sections/dashboard/analytics/controller/costCtrl.js b/client/cat3/src/partials/sections/dashboard/analytics/controller/costCtrl.js index ba53d284d..74a1b312a 100644 --- a/client/cat3/src/partials/sections/dashboard/analytics/controller/costCtrl.js +++ b/client/cat3/src/partials/sections/dashboard/analytics/controller/costCtrl.js @@ -290,7 +290,7 @@ $timeout(function () { $rootScope.applyFilter(true,'month'); costObj.trendsChart($rootScope.filterNewEnt); - var treeNames = ['Analytics','Cost']; + var treeNames = ['Cloud Management','Analytics','Cost']; $rootScope.$emit('treeNameUpdate', treeNames); },500); }; diff --git a/client/cat3/src/partials/sections/dashboard/analytics/controller/discoveryResourcesCtrl.js b/client/cat3/src/partials/sections/dashboard/analytics/controller/discoveryResourcesCtrl.js new file mode 100644 index 000000000..6c4829c8b --- /dev/null +++ b/client/cat3/src/partials/sections/dashboard/analytics/controller/discoveryResourcesCtrl.js @@ -0,0 +1,45 @@ +(function (angular) { + "use strict"; + angular.module('dashboard.analytics') + .controller('discoveryResourcesCtrl', ['$scope', '$rootScope', '$state','analyticsServices', 'genericServices','$timeout', function ($scope,$rootScope,$state,analyticsServices,genSevs,$timeout){ + var disResrc=this; + $scope.tagValue=[{'id':'a','value':'a'},{'id':'b','value':'b'}] + disResrc.gridOptionInstances = { + columnDefs : [ + { name: 'InstanceId',field:'platformId' }, + { name: 'os', displayName:'OS', enableCellEdit: true, type: 'number'}, + { name: 'privateIpAddress', displayName: 'IP Address'}, + { name: 'state', displayName: 'Status'}, + { name: 'Region', displayName: 'Region',field:'providerData.region_name',cellTooltip: true}, + { name: 'Bg Tag Value',width:300, enableCellEdit: true,editableCellTemplate: 'ui-grid/dropdownEditor', + editDropdownOptionsArray: $scope.tagValue}, + { name: 'Project Tag Value', enableCellEdit: true}, + { name: 'Env. Tag Value', enableCellEdit: true} + ] + }; + $rootScope.stateItems = $state.params; + $rootScope.organNewEnt.provider='0'; + $rootScope.organNewEnt.instanceType='unassigned-instances'; + analyticsServices.applyFilter(true,null); + var treeNames = ['Cloud Management','Discovery','Resources']; + $rootScope.$emit('treeNameUpdate', treeNames); + var fltrObj=$rootScope.filterNewEnt; + disResrc.getInstances =function () { + disResrc.gridOptionInstances.data=[]; + if(fltrObj && fltrObj.provider && fltrObj.provider.id) { + var param = { + url: '/providers/' + fltrObj.provider.id +'/'+ $rootScope.organNewEnt.instanceType + }; + genSevs.promiseGet(param).then(function (instResult) { + disResrc.gridOptionInstances.data=instResult.data; + }); + } + }; + $rootScope.applyFilter =function(filterApp,period){ + analyticsServices.applyFilter(true,null); + disResrc.getInstances(); + }; + disResrc.getInstances(); + + }]); +})(angular); diff --git a/client/cat3/src/partials/sections/dashboard/analytics/controller/discoveryTagMappingCtrl.js b/client/cat3/src/partials/sections/dashboard/analytics/controller/discoveryTagMappingCtrl.js new file mode 100644 index 000000000..e129a4417 --- /dev/null +++ b/client/cat3/src/partials/sections/dashboard/analytics/controller/discoveryTagMappingCtrl.js @@ -0,0 +1,64 @@ +(function (angular) { + "use strict"; + angular.module('dashboard.analytics') + .controller('discoveryTagMappingCtrl', ['$scope', '$rootScope', '$state','analyticsServices', 'genericServices','$timeout', function ($scope,$rootScope,$state,analyticsServices,genSevs,$timeout){ + var disTgMap=this; + $rootScope.stateItems = $state.params; + $rootScope.organNewEnt.instanceType=false; + $rootScope.organNewEnt.provider='0'; + analyticsServices.applyFilter(true,null); + var treeNames = ['Cloud Management','Discovery','Tag Mapping']; + $rootScope.$emit('treeNameUpdate', treeNames); + $scope.newEnt={}; + var fltrObj=$rootScope.filterNewEnt; + disTgMap.tagOption=[]; + disTgMap.getAllTags =function () { + $scope.newEnt={}; + if(fltrObj && fltrObj.provider && fltrObj.provider.id) { + //$scope.newEnt.providerId = fltrObj.provider.id; + $scope.isLoadingTag = true; + var param = { + inlineLoader: true, + url: '/providers/' + fltrObj.provider.id + '/tags' + }; + genSevs.promiseGet(param).then(function (tagResult) { + $scope.isLoadingTag = false; + disTgMap.tagOption = tagResult; + }); + } + }; + disTgMap.getTagValues= function (type,tagName,valueType) { + if(tagName) { + var param = { + inlineLoader: true, + url: '/providers/' + fltrObj.provider.id + '/tags/' + tagName + }; + genSevs.promiseGet(param).then(function (tagResult) { + $scope.isLoadingTagValue = false; + for (var key in $scope.newEnt[valueType].catalystEntityMapping) { + $scope.newEnt[valueType].catalystEntityMapping[key].tagValues = []; + } + ; + disTgMap[type] = tagResult.values; + }); + } + }; + disTgMap.save =function(){ + console.log($scope.newEnt); + var param = { + inlineLoader: true, + url: '/providers/' + fltrObj.provider.id + '/tags-mappings', + data:$scope.newEnt + }; + genSevs.promisePost(param).then(function (tagResult) { + console.log(tagResult); + }); + }; + $rootScope.applyFilter =function(filterApp,period){ + analyticsServices.applyFilter(true,null); + disTgMap.getAllTags(); + }; + disTgMap.getAllTags(); + + }]); +})(angular); diff --git a/client/cat3/src/partials/sections/dashboard/analytics/controller/usageCtrl.js b/client/cat3/src/partials/sections/dashboard/analytics/controller/usageCtrl.js index e06e454a6..fec01faf9 100644 --- a/client/cat3/src/partials/sections/dashboard/analytics/controller/usageCtrl.js +++ b/client/cat3/src/partials/sections/dashboard/analytics/controller/usageCtrl.js @@ -130,7 +130,7 @@ $rootScope.organNewEnt.provider='0'; $rootScope.$emit('INI_usage', 'Unassigned'); $timeout(function(){$rootScope.applyFilter(true,'month')},500); - var treeNames = ['Analytics','Usage']; + var treeNames = ['Cloud Management','Analytics','Usage']; $rootScope.$emit('treeNameUpdate', treeNames); }; diff --git a/client/cat3/src/partials/sections/dashboard/analytics/view/analyticsTreeMenu.html b/client/cat3/src/partials/sections/dashboard/analytics/view/analyticsTreeMenu.html index 4e1c17730..a0790b787 100644 --- a/client/cat3/src/partials/sections/dashboard/analytics/view/analyticsTreeMenu.html +++ b/client/cat3/src/partials/sections/dashboard/analytics/view/analyticsTreeMenu.html @@ -2,67 +2,121 @@
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    - - diff --git a/client/cat3/src/partials/sections/dashboard/analytics/view/discoveryResources.html b/client/cat3/src/partials/sections/dashboard/analytics/view/discoveryResources.html new file mode 100644 index 000000000..bfef10192 --- /dev/null +++ b/client/cat3/src/partials/sections/dashboard/analytics/view/discoveryResources.html @@ -0,0 +1,35 @@ +
    + + + + + Instances + +
    No Data Found!
    +
    +
    + + + + + + + + + + + + + + + + + + +
    + + + +
    + +
    diff --git a/client/cat3/src/partials/sections/dashboard/analytics/view/discoveryTagMapping.html b/client/cat3/src/partials/sections/dashboard/analytics/view/discoveryTagMapping.html new file mode 100644 index 000000000..17680da44 --- /dev/null +++ b/client/cat3/src/partials/sections/dashboard/analytics/view/discoveryTagMapping.html @@ -0,0 +1,143 @@ +
    + + + + + Business Group + +
    +
    + +
    + + + + + + + +
    +
    +
    +
    +
    + All Business Groups : +
    + + +
    + + + +
    +
    +
    +
    +
    + + + + + + + Project + + +
    +
    + +
    + + + + + + + +
    +
    + +
    +
    +
    + All Projects : + +
    +
    + +
    + + + +
    +
    +
    +
    +
    +
    + + + + + Environment + +
    +
    + +
    + + + + + + + +
    +
    +
    +
    +
    + All Environments : +
    + +
    + + + +
    +
    +
    +
    +
    +
    + + + +
    + +
    +
    + +
    +
    +
    diff --git a/client/cat3/src/partials/sections/dashboard/bots/bots.scss b/client/cat3/src/partials/sections/dashboard/bots/bots.scss index 75a7f2895..152523d25 100644 --- a/client/cat3/src/partials/sections/dashboard/bots/bots.scss +++ b/client/cat3/src/partials/sections/dashboard/bots/bots.scss @@ -142,4 +142,73 @@ .bg-red { background-color: #dd4b39 !important; } -} \ No newline at end of file +} + +#botLibraryPage{ + .circle-tile { + margin-bottom: 15px; + text-align: center; + } + + .circle-tile-heading { + position: relative; + width: 80px; + height: 80px; + margin: 10px auto -40px; + border: 3px solid rgba(255,255,255,0.3); + border-radius: 100%; + color: #fff; + padding-top: 16px; + transition: all ease-in-out .3s; + } + + .circle-tile-number { + padding: 5px 0 15px; + font-size: 26px; + font-weight: 700; + line-height: 1; + } + + .circle-tile-content { + padding-top: 50px; + } + + .circle-tile-description { + text-transform: uppercase; + } + + .text-faded { + color: rgba(255,255,255,0.7); + font-weight: bold; + } + + .dark-blue { + background-color: #00c0ef; + } + + .green { + background-color: #00a65a; + } + + .orange { + background-color: #f39c12; + } + + .red { + background-color: #e74c3c; + } + + #botLibraryPage .selected-blue { + border: none !important; + } + + .ui-grid-cell{ + border-right:none !important; + } + + /*global css*/ + .ui-grid .ui-grid-row { + + border-bottom: 1px solid #ccc; + } +} diff --git a/client/cat3/src/partials/sections/dashboard/bots/controller/botExecutionLogsCtrl.js b/client/cat3/src/partials/sections/dashboard/bots/controller/botExecutionLogsCtrl.js index 6748b5692..533f36624 100644 --- a/client/cat3/src/partials/sections/dashboard/bots/controller/botExecutionLogsCtrl.js +++ b/client/cat3/src/partials/sections/dashboard/bots/controller/botExecutionLogsCtrl.js @@ -8,7 +8,7 @@ (function (angular) { "use strict"; angular.module('dashboard.bots') - .controller('botExecutionLogsCtrl', ['$q', '$scope', '$timeout', 'items', function ($q, $scope, $timeout, items) { + .controller('botExecutionLogsCtrl', ['$q', '$scope', '$timeout', 'items','$modalInstance', function ($q, $scope, $timeout, items,$modalInstance) { console.log(items); $scope.parentItemDetail=items; var botExecLogCtrl={}; diff --git a/client/cat3/src/partials/sections/dashboard/bots/controller/editParamsCtrl.js b/client/cat3/src/partials/sections/dashboard/bots/controller/editParamsCtrl.js index fc7e3a947..01283672c 100644 --- a/client/cat3/src/partials/sections/dashboard/bots/controller/editParamsCtrl.js +++ b/client/cat3/src/partials/sections/dashboard/bots/controller/editParamsCtrl.js @@ -8,174 +8,174 @@ (function (angular) { "use strict"; angular.module('library.params', []) - .controller('editParamsCtrl',['$scope', '$rootScope', 'genericServices', 'workzoneServices', 'toastr', '$modalInstance', 'items', 'responseFormatter', '$modal', function ($scope, $rootScope, genSevs, workzoneServices, toastr, $modalInstance, items, responseFormatter, $modal) { - console.log(items); - $scope.botName = items.botName; - $scope.taskType = items.botLinkedSubCategory; - $scope.taggingServerList=[]; - $scope.envOptions=[]; - workzoneServices.getTaggingServer().then(function (topSer) { - $scope.taggingServerList=topSer.data; - }); - $scope.chefAttributesFlag = false; - $scope.scriptParamsFlag = false; - if(items.botConfig && items.botConfig.runlist && items.botConfig.runlist.length) { - $scope.chefAttributesFlag = true; - } - if(items.botLinkedSubCategory === 'script' && items.botConfig) { - for (var i=0; i 0) { - $scope.scriptParamsFlag = true; - } + .controller('editParamsCtrl',['$scope', '$rootScope', 'genericServices', 'workzoneServices', 'toastr', '$modalInstance', 'items', 'responseFormatter', '$modal', function ($scope, $rootScope, genSevs, workzoneServices, toastr, $modalInstance, items, responseFormatter, $modal) { + console.log(items); + $scope.botName = items.botName; + $scope.taskType = items.botLinkedSubCategory; + $scope.taggingServerList=[]; + $scope.envOptions=[]; + workzoneServices.getTaggingServer().then(function (topSer) { + $scope.taggingServerList=topSer.data; + }); + $scope.chefAttributesFlag = false; + $scope.scriptParamsFlag = false; + if(items.botConfig && items.botConfig.runlist && items.botConfig.runlist.length) { + $scope.chefAttributesFlag = true; } - } - $scope.isChefattributesLoading = true; - if (items.botLinkedSubCategory === 'chef' && items.botConfig) { - $scope.chefComponentSelectorList = responseFormatter.findDataForEditValue(items.botConfig.runlist); - var nodesList = responseFormatter.chefRunlistFormatter($scope.chefComponentSelectorList); - $scope.chefattributes = []; - $scope.chefattributes = responseFormatter.formatSavedCookbookAttributes(items.botConfig.attributes); - workzoneServices.getCookBookListForOrg(items.masterDetails.orgId).then(function(data){ - var runlist = []; - for (var i = 0; i < nodesList.length; i++) { - if (nodesList[i].className === "cookbook" || nodesList[i].className === "deploy") { - runlist.push(nodesList[i].value); + if(items.botLinkedSubCategory === 'script' && items.botConfig) { + for (var i=0; i 0) { + $scope.scriptParamsFlag = true; } } - if (runlist.length > 0) { - workzoneServices.getcookBookAttributes(runlist, data.data.serverId).then(function (response) { - var data; - if (response.data) { - data = response.data; - } else { - data = response; + } + $scope.isChefattributesLoading = true; + if (items.botLinkedSubCategory === 'chef' && items.botConfig) { + $scope.chefComponentSelectorList = responseFormatter.findDataForEditValue(items.botConfig.runlist); + var nodesList = responseFormatter.chefRunlistFormatter($scope.chefComponentSelectorList); + $scope.chefattributes = []; + $scope.chefattributes = responseFormatter.formatSavedCookbookAttributes(items.botConfig.attributes); + workzoneServices.getCookBookListForOrg(items.masterDetails.orgId).then(function(data){ + var runlist = []; + for (var i = 0; i < nodesList.length; i++) { + if (nodesList[i].className === "cookbook" || nodesList[i].className === "deploy") { + runlist.push(nodesList[i].value); } - /*Scope apply done to force refresh screen after receiving the AJAX response*/ - $scope.$apply(function () { - if ($scope.chefattributes) { - for (var j = 0; j < data.length; j++) { - for (var attrItem in data[j].attributes) { - if ($scope.chefattributes[attrItem]) { - data[j].attributes[attrItem].default = $scope.chefattributes[attrItem]; + } + if (runlist.length > 0) { + workzoneServices.getcookBookAttributes(runlist, data.data.serverId).then(function (response) { + var data; + if (response.data) { + data = response.data; + } else { + data = response; + } + /*Scope apply done to force refresh screen after receiving the AJAX response*/ + $scope.$apply(function () { + if ($scope.chefattributes) { + for (var j = 0; j < data.length; j++) { + for (var attrItem in data[j].attributes) { + if ($scope.chefattributes[attrItem]) { + data[j].attributes[attrItem].default = $scope.chefattributes[attrItem]; + } } } } - } - $scope.chefattributes = data; - $scope.isChefattributesLoading = false; + $scope.chefattributes = data; + $scope.isChefattributesLoading = false; + }); }); - }); - } - }); - } - if (items.botConfig) { - $scope.jenkinsparams = items.botConfig.parameterized; - $scope.scriptparams = items.botConfig.scriptDetails; - } - $scope.parameters=['']; - var cookbookAttributes = []; - var scriptParams = []; - var choiceParam = {}; - $scope.jenparams = {}; - - var helper = { - botLogModal: function(id,historyId,taskType) { - $modal.open({ - animation: true, - templateUrl: 'src/partials/sections/dashboard/bots/view/botExecutionLogs.html', - controller: 'botExecutionLogsCtrl as botExecLogCtrl', - backdrop: 'static', - keyboard: false, - resolve: { - items: function() { - return { - taskId: id, - historyId: historyId, - taskType: taskType - }; - } } }); } - }; + if (items.botConfig) { + $scope.jenkinsparams = items.botConfig.parameterized; + $scope.scriptparams = items.botConfig.scriptDetails; + } + $scope.parameters=['']; + var cookbookAttributes = []; + var scriptParams = []; + var choiceParam = {}; + $scope.jenparams = {}; - $scope.add = function() { - $scope.parameters.push(''); - }; + var helper = { + botLogModal: function(id,historyId,taskType) { + $modal.open({ + animation: true, + templateUrl: 'src/partials/sections/dashboard/bots/view/botExecutionLogs.html', + controller: 'botExecutionLogsCtrl as botExecLogCtrl', + backdrop: 'static', + keyboard: false, + resolve: { + items: function() { + return { + taskId: id, + historyId: historyId, + taskType: taskType + }; + } + } + }); + } + }; - $scope.removeScriptInputParams = function(paramInput) { - if($scope.parameters.length > 1){ - var idx = $scope.parameters.indexOf(paramInput); - $scope.parameters.splice(idx,1); - }else{ - toastr.error('Cannot delete the row'); - } - }; + $scope.add = function() { + $scope.parameters.push(''); + }; - $scope.executeBot=function(){ - if (items.botConfig && items.botConfig.taskType === 'script') { - var checkParam = false; - if ($scope.scriptParamsFlag) { - for(var i =0; i<$scope.parameters.length; i++){ - if($scope.parameters[i] === '' || $scope.parameters[i] === null){ - checkParam = false; - toastr.error('Please enter parameters'); - return false; - } else { - checkParam = true; + $scope.removeScriptInputParams = function(paramInput) { + if($scope.parameters.length > 1){ + var idx = $scope.parameters.indexOf(paramInput); + $scope.parameters.splice(idx,1); + }else{ + toastr.error('Cannot delete the row'); + } + }; + + $scope.executeBot=function(){ + if (items.botConfig && items.botConfig.taskType === 'script') { + var checkParam = false; + if ($scope.scriptParamsFlag) { + for(var i =0; i<$scope.parameters.length; i++){ + if($scope.parameters[i] === '' || $scope.parameters[i] === null){ + checkParam = false; + toastr.error('Please enter parameters'); + return false; + } else { + checkParam = true; + } } } + if(checkParam){ + scriptParams = $scope.parameters; + } } - if(checkParam){ - scriptParams = $scope.parameters; - } - } - if (items.botConfig && items.botConfig.taskType === 'chef') { - cookbookAttributes = responseFormatter.formatSelectedCookbookAttributes($scope.chefattributes); - } - if (items.botConfig && items.botConfig.taskType === 'jenkins') { - choiceParam = $scope.jenparams; - } - $scope.executeBot(); - }; - - $scope.executeBot = function(){ - var reqBody = {}; - if (items.botConfig && items.botConfig.taskType === 'jenkins') { - reqBody.choiceParam = choiceParam; - } else if (items.botConfig && items.botConfig.taskType === 'chef'){ - reqBody.tagServer = $scope.tagSerSelected; - if ($scope.chefAttributesFlag) { - reqBody.cookbookAttributes = cookbookAttributes; + if (items.botConfig && items.botConfig.taskType === 'chef') { + cookbookAttributes = responseFormatter.formatSelectedCookbookAttributes($scope.chefattributes); } - } else if (items.botConfig && items.botConfig.taskType === 'script') { - reqBody.tagServer = $scope.tagSerSelected; - if ($scope.scriptParamsFlag) { - reqBody.scriptParams = scriptParams; + if (items.botConfig && items.botConfig.taskType === 'jenkins') { + choiceParam = $scope.jenparams; } - } - var param={ - url:'/bots/' + items.botId + '/execute', - data: reqBody + $scope.executeBot(); }; - genSevs.promisePost(param).then(function (response) { - console.log(response); - $modalInstance.close(response.data); - $rootScope.$emit('BOTS_LIBRARY_REFRESH'); - helper.botLogModal(items.botId, response.historyId, response.taskType); - }, - function (error) { - error = error.responseText || error; - if (error.message) { - toastr.error(error.message); - } else { - toastr.error(error); + + $scope.executeBot = function(){ + var reqBody = {}; + if (items.botConfig && items.botConfig.taskType === 'jenkins') { + reqBody.choiceParam = choiceParam; + } else if (items.botConfig && items.botConfig.taskType === 'chef'){ + reqBody.tagServer = $scope.tagSerSelected; + if ($scope.chefAttributesFlag) { + reqBody.cookbookAttributes = cookbookAttributes; + } + } else if (items.botConfig && items.botConfig.taskType === 'script') { + reqBody.tagServer = $scope.tagSerSelected; + if ($scope.scriptParamsFlag) { + reqBody.scriptParams = scriptParams; + } } - }); - }; + var param={ + url:'/bots/' + items.botId + '/execute', + data: reqBody + }; + genSevs.promisePost(param).then(function (response) { + console.log(response); + $modalInstance.close(response.data); + $rootScope.$emit('BOTS_LIBRARY_REFRESH'); + helper.botLogModal(items.botId, response.historyId, response.taskType); + }, + function (error) { + error = error.responseText || error; + if (error.message) { + toastr.error(error.message); + } else { + toastr.error(error); + } + }); + }; - $scope.cancel= function() { - $modalInstance.dismiss('cancel'); - }; - }]); + $scope.cancel= function() { + $modalInstance.dismiss('cancel'); + }; + }]); })(angular); \ No newline at end of file diff --git a/client/cat3/src/partials/sections/dashboard/bots/controller/libraryCtrl.js b/client/cat3/src/partials/sections/dashboard/bots/controller/libraryCtrl.js index 8206a3c97..5f767e910 100644 --- a/client/cat3/src/partials/sections/dashboard/bots/controller/libraryCtrl.js +++ b/client/cat3/src/partials/sections/dashboard/bots/controller/libraryCtrl.js @@ -8,296 +8,296 @@ (function (angular) { "use strict"; angular.module('dashboard.bots') - .controller('libraryCtrl',['$scope', '$rootScope', '$state', 'genericServices', 'confirmbox', 'toastr', 'workzoneUIUtils', '$modal', 'uiGridOptionsService', '$timeout', function ($scope, $rootScope, $state, genSevs, confirmbox, toastr, workzoneUIUtils, $modal, uiGridOptionsService, $timeout) { - var treeNames = ['BOTs','Library']; - $rootScope.$emit('treeNameUpdate', treeNames); - var lib=this; - $scope.totalBotsSelected = true; - var botLibraryUIGridDefaults = uiGridOptionsService.options(); - $scope.paginationParams = botLibraryUIGridDefaults.pagination; - $scope.paginationParams=[]; - $scope.paginationParams.sortBy = 'createdOn'; - $scope.paginationParams.sortOrder = 'desc'; - console.log($scope.paginationParams.sortBy); - - $scope.initGrids = function(){ - $scope.botLibGridOptions={ - enableFiltering: false - }; - $scope.botLibGridOptions.columnDefs= [ - { name:'Task Type', field:'botLinkedSubCategory' ,cellTemplate:'row.entity.taskType'+ + .controller('libraryCtrl',['$scope', '$rootScope', '$state', 'genericServices', 'confirmbox', 'toastr', 'workzoneUIUtils', '$modal', 'uiGridOptionsService', '$timeout', function ($scope, $rootScope, $state, genSevs, confirmbox, toastr, workzoneUIUtils, $modal, uiGridOptionsService, $timeout) { + var treeNames = ['BOTs','Library']; + $rootScope.$emit('treeNameUpdate', treeNames); + var lib=this; + $scope.totalBotsSelected = true; + var botLibraryUIGridDefaults = uiGridOptionsService.options(); + $scope.paginationParams = botLibraryUIGridDefaults.pagination; + $scope.paginationParams=[]; + $scope.paginationParams.sortBy = 'createdOn'; + $scope.paginationParams.sortOrder = 'desc'; + console.log($scope.paginationParams.sortBy); + + $scope.initGrids = function(){ + $scope.botLibGridOptions={ + enableFiltering: false + }; + $scope.botLibGridOptions.columnDefs= [ + { name:'Task Type', field:'botLinkedSubCategory' ,cellTemplate:'row.entity.taskType'+ 'row.entity.botLinkedSubCategory'+ 'row.entity.taskType'+ 'row.entity.botType',cellTooltip: true}, - { name: 'BOT Type',displayName: 'BOT Type',field:'botLinkedCategory',cellTooltip: true}, - { name: 'BOT Name',displayName: 'BOT Name',field:'botName',cellTooltip: true}, - { name: 'Category',field:'botCategory',cellTooltip: true}, - { name: 'description',field:'botDesc',cellTooltip: true}, - { name: 'Org',field:'masterDetails.orgName',cellTooltip: true}, - { name: 'Total Runs',field:'executionCount'}, - { name: 'BOT History',displayName: 'BOT History',cellTemplate:'NA'+ + { name: 'BOT Type',displayName: 'BOT Type',field:'botLinkedCategory',cellTooltip: true}, + { name: 'BOT Name',displayName: 'BOT Name',field:'botName',cellTooltip: true}, + { name: 'Category',field:'botCategory',cellTooltip: true}, + { name: 'description',field:'botDesc',cellTooltip: true}, + { name: 'Org',field:'masterDetails.orgName',cellTooltip: true}, + { name: 'Total Runs',field:'executionCount'}, + { name: 'BOT History',displayName: 'BOT History',cellTemplate:'NA'+ ''}, - { name: 'BOT Info',displayName: 'BOT Info',cellTemplate: - ''}, - { name: 'BOT Action',displayName: 'BOT Action',cellTemplate: + { name: 'BOT Info',displayName: 'BOT Info',cellTemplate: + ''}, + { name: 'BOT Action',displayName: 'BOT Action',cellTemplate: '' + '' + '' - } - ] - $scope.botLibGridOptions.data=[]; - angular.extend($scope.botLibGridOptions,botLibraryUIGridDefaults.gridOption); - }; - $scope.initGrids(); - /*APIs registered are triggered as ui-grid is configured - for server side(external) pagination.*/ - angular.extend($scope.botLibGridOptions,botLibraryUIGridDefaults.gridOption, { - onRegisterApi :function(gridApi) { - $scope.gridApi = gridApi; - gridApi.core.on.sortChanged($scope, function(grid, sortColumns) { - if (sortColumns[0] && sortColumns[0].field && sortColumns[0].sort && sortColumns[0].sort.direction) { - $scope.paginationParams.sortBy = sortColumns[0].field; - $scope.paginationParams.sortOrder = sortColumns[0].sort.direction; - $scope.botLibraryGridView(); } + ] + $scope.botLibGridOptions.data=[]; + angular.extend($scope.botLibGridOptions,botLibraryUIGridDefaults.gridOption); + }; + $scope.initGrids(); + /*APIs registered are triggered as ui-grid is configured + for server side(external) pagination.*/ + angular.extend($scope.botLibGridOptions,botLibraryUIGridDefaults.gridOption, { + onRegisterApi :function(gridApi) { + $scope.gridApi = gridApi; + gridApi.core.on.sortChanged($scope, function(grid, sortColumns) { + if (sortColumns[0] && sortColumns[0].field && sortColumns[0].sort && sortColumns[0].sort.direction) { + $scope.paginationParams.sortBy = sortColumns[0].field; + $scope.paginationParams.sortOrder = sortColumns[0].sort.direction; + $scope.botLibraryGridView(); + } + }); + //Pagination for page and pageSize + gridApi.pagination.on.paginationChanged($scope, function(newPage, pageSize) { + $scope.paginationParams.page = newPage; + $scope.paginationParams.pageSize = pageSize; + $scope.botLibraryGridView(); + }); + }, + }); + $scope.setPaginationDefaults = function() { + $scope.paginationParams.sortBy = 'createdOn'; + $scope.paginationParams.sortOrder = 'desc'; + /*if($scope.paginationParams.page !== 1){ + $scope.setFirstPageView();//if current page is not 1, then ui grid will trigger a call when set to 1. + }else{ + $scope.botLibraryGridView(); + }*/ + }; + $scope.setPaginationDefaults(); + $scope.botLibraryGridView = function() { + lib.gridOptions=[]; + var param={ + url:'/bots?page=1&pageSize=10&sortBy=' + $scope.paginationParams.sortBy +'&sortOrder=' + $scope.paginationParams.sortOrder + }; + genSevs.promiseGet(param).then(function (result) { + $timeout(function() { + console.log(result); + $scope.botLibGridOptions.totalItems = result.metaData.totalRecords; + $scope.botLibGridOptions.data=result.bots; + }, 100); + $scope.isBotLibraryPageLoading = false; + }, function(error) { + $scope.isBotLibraryPageLoading = false; + console.log(error); + $scope.errorMessage = "No Records found"; }); - //Pagination for page and pageSize - gridApi.pagination.on.paginationChanged($scope, function(newPage, pageSize) { - $scope.paginationParams.page = newPage; - $scope.paginationParams.pageSize = pageSize; - $scope.botLibraryGridView(); + }; + $scope.botLibraryGridView(); + $scope.searchBotNameCategory = function() { + $scope.searchString = $scope.botLibrarySearch; + console.log($scope.searchString); + lib.gridOptions=[]; + var param={ + url:'/bots?page=1&pageSize=10&sortBy=' + $scope.paginationParams.sortBy +'&sortOrder=' + $scope.paginationParams.sortOrder + }; + genSevs.promiseGet(param).then(function (result) { + $timeout(function() { + console.log(result); + $scope.botLibGridOptions.totalItems = result.metaData.totalRecords; + $scope.botLibGridOptions.data=result.bots; + }, 100); + $scope.isBotLibraryPageLoading = false; + }, function(error) { + $scope.isBotLibraryPageLoading = false; + console.log(error); + $scope.errorMessage = "No Records found"; }); - }, - }); - $scope.setPaginationDefaults = function() { - $scope.paginationParams.sortBy = 'createdOn'; - $scope.paginationParams.sortOrder = 'desc'; - /*if($scope.paginationParams.page !== 1){ - $scope.setFirstPageView();//if current page is not 1, then ui grid will trigger a call when set to 1. - }else{ - $scope.botLibraryGridView(); - }*/ - }; - $scope.setPaginationDefaults(); - $scope.botLibraryGridView = function() { - lib.gridOptions=[]; - var param={ - url:'/bots?page=1&pageSize=10&sortBy=' + $scope.paginationParams.sortBy +'&sortOrder=' + $scope.paginationParams.sortOrder }; - genSevs.promiseGet(param).then(function (result) { - $timeout(function() { - console.log(result); - $scope.botLibGridOptions.totalItems = result.metaData.totalRecords; - $scope.botLibGridOptions.data=result.bots; - }, 100); - $scope.isBotLibraryPageLoading = false; - }, function(error) { - $scope.isBotLibraryPageLoading = false; - console.log(error); - $scope.errorMessage = "No Records found"; - }); - }; - $scope.botLibraryGridView(); - $scope.searchBotNameCategory = function() { - $scope.searchString = $scope.botLibrarySearch; - console.log($scope.searchString); - lib.gridOptions=[]; - var param={ - url:'/bots?page=1&pageSize=10&sortBy=' + $scope.paginationParams.sortBy +'&sortOrder=' + $scope.paginationParams.sortOrder + var gridBottomSpace = 190; + $scope.gridHeight = workzoneUIUtils.makeTabScrollable('botLibraryPage') - gridBottomSpace; + $scope.launchInstance = function(launch){ + console.log(launch.botLinkedCategory); + /*if(launch.launcType === 'task'){ + genSevs.executeTask(launch); + } else if(launch.launcType === 'bp') { + genSevs.launchBlueprint(launch); + }*/ + if(launch.botLinkedCategory === 'Task'){ + genSevs.executeTask(launch); + } else if(launch.botLinkedCategory === 'Blueprint') { + genSevs.launchBlueprint(launch); + } }; - genSevs.promiseGet(param).then(function (result) { - $timeout(function() { - console.log(result); - $scope.botLibGridOptions.totalItems = result.metaData.totalRecords; - $scope.botLibGridOptions.data=result.bots; - }, 100); - $scope.isBotLibraryPageLoading = false; - }, function(error) { - $scope.isBotLibraryPageLoading = false; - console.log(error); - $scope.errorMessage = "No Records found"; - }); - }; - var gridBottomSpace = 190; - $scope.gridHeight = workzoneUIUtils.makeTabScrollable('botLibraryPage') - gridBottomSpace; - $scope.launchInstance = function(launch){ - console.log(launch.botLinkedCategory); - /*if(launch.launcType === 'task'){ - genSevs.executeTask(launch); - } else if(launch.launcType === 'bp') { - genSevs.launchBlueprint(launch); - }*/ - if(launch.botLinkedCategory === 'Task'){ - genSevs.executeTask(launch); - } else if(launch.botLinkedCategory === 'Blueprint') { - genSevs.launchBlueprint(launch); - } - }; - /*$scope.botLogs = function(bot){ - genSevs.botHistory(bot); - };*/ - $scope.botHistory=function(bot) { - var modalInstance = $modal.open({ - animation: true, - templateUrl: 'src/partials/sections/dashboard/bots/view/botHistory.html', - controller: 'botHistoryCtrl', - backdrop : 'static', - size: 'lg', - keyboard: false, - resolve: { - items: function() { - return bot; + /*$scope.botLogs = function(bot){ + genSevs.botHistory(bot); + };*/ + $scope.botHistory=function(bot) { + var modalInstance = $modal.open({ + animation: true, + templateUrl: 'src/partials/sections/dashboard/bots/view/botHistory.html', + controller: 'botHistoryCtrl', + backdrop : 'static', + size: 'lg', + keyboard: false, + resolve: { + items: function() { + return bot; + } } - } - }); - modalInstance.result.then(function(selectedItem) { - $scope.selected = selectedItem; - }, function() { - console.log('Modal Dismissed at ' + new Date()); - }); - }; - $scope.botInfo=function(bot) { - var modalInstance = $modal.open({ - animation: true, - templateUrl: 'src/partials/sections/dashboard/bots/view/botInfo.html', - controller: 'botInfoCtrl', - backdrop : 'static', - keyboard: false, - resolve: { - items: function() { - return bot; + }); + modalInstance.result.then(function(selectedItem) { + $scope.selected = selectedItem; + }, function() { + console.log('Modal Dismissed at ' + new Date()); + }); + }; + $scope.botInfo=function(bot) { + var modalInstance = $modal.open({ + animation: true, + templateUrl: 'src/partials/sections/dashboard/bots/view/botInfo.html', + controller: 'botInfoCtrl', + backdrop : 'static', + keyboard: false, + resolve: { + items: function() { + return bot; + } } - } - }); - modalInstance.result.then(function(selectedItem) { - $scope.selected = selectedItem; - }, function() { - console.log('Modal Dismissed at ' + new Date()); - }); - }; - $scope.botSchedule = function(bot) { - $modal.open({ - templateUrl: 'src/partials/sections/dashboard/bots/view/botSchedule.html', - controller: 'botScheduleCtrl', - backdrop: 'static', - keyboard: false, - resolve: { - items: function () { - return bot + }); + modalInstance.result.then(function(selectedItem) { + $scope.selected = selectedItem; + }, function() { + console.log('Modal Dismissed at ' + new Date()); + }); + }; + $scope.botSchedule = function(bot) { + $modal.open({ + templateUrl: 'src/partials/sections/dashboard/bots/view/botSchedule.html', + controller: 'botScheduleCtrl', + backdrop: 'static', + keyboard: false, + resolve: { + items: function () { + return bot + } } - } - }).result.then(function (chefEventDetails) { - $scope.isEventAvailable = true; - $scope.chefJenkScriptTaskObj = chefEventDetails; - var startTimeMinute,startTimeHour,dayOfWeek,selectedDayOfTheMonth,selectedMonth; - startTimeMinute = $scope.chefJenkScriptTaskObj.startTimeMinute; - startTimeHour = $scope.chefJenkScriptTaskObj.startTime; - dayOfWeek = $scope.chefJenkScriptTaskObj.dayOfWeek; - selectedDayOfTheMonth = $scope.chefJenkScriptTaskObj.selectedDayOfTheMonth; - selectedMonth = $scope.chefJenkScriptTaskObj.monthOfYear; - $scope.type = 'edit'; - $scope._isEventSelected = true; - - $scope.repeatPattern = 'Repeat Every -' + $scope.chefJenkScriptTaskObj.repeats; - $scope.cronDetails = { - cronStartOn : $scope.chefJenkScriptTaskObj.cronStart, - cronEndOn : $scope.chefJenkScriptTaskObj.cronEnd, - cronRepeatEvery : $scope.chefJenkScriptTaskObj.repeatBy, - cronFrequency: $scope.chefJenkScriptTaskObj.repeats, - cronTime: typeof startTimeHour !=='undefined'? startTimeHour : new Date().getHours() + ':' + typeof startTimeMinute !=='undefined'? startTimeMinute:new Date().getMinutes(), - cronDays: $scope.chefJenkScriptTaskObj.dayOfWeek, - cronMonth: $scope.chefJenkScriptTaskObj.monthOfYear - } - }, function () { - console.log('Dismiss time is ' + new Date()); - }); - }; - $scope.deleteBot = function(bot) { - var modalOptions = { - closeButtonText: 'Cancel', - actionButtonText: 'Delete', - actionButtonStyle: 'cat-btn-delete', - headerText: 'Delete Bot', - bodyText: 'Are you sure you want to delete this bots?' + }).result.then(function (chefEventDetails) { + $scope.isEventAvailable = true; + $scope.chefJenkScriptTaskObj = chefEventDetails; + var startTimeMinute,startTimeHour,dayOfWeek,selectedDayOfTheMonth,selectedMonth; + startTimeMinute = $scope.chefJenkScriptTaskObj.startTimeMinute; + startTimeHour = $scope.chefJenkScriptTaskObj.startTime; + dayOfWeek = $scope.chefJenkScriptTaskObj.dayOfWeek; + selectedDayOfTheMonth = $scope.chefJenkScriptTaskObj.selectedDayOfTheMonth; + selectedMonth = $scope.chefJenkScriptTaskObj.monthOfYear; + $scope.type = 'edit'; + $scope._isEventSelected = true; + + $scope.repeatPattern = 'Repeat Every -' + $scope.chefJenkScriptTaskObj.repeats; + $scope.cronDetails = { + cronStartOn : $scope.chefJenkScriptTaskObj.cronStart, + cronEndOn : $scope.chefJenkScriptTaskObj.cronEnd, + cronRepeatEvery : $scope.chefJenkScriptTaskObj.repeatBy, + cronFrequency: $scope.chefJenkScriptTaskObj.repeats, + cronTime: typeof startTimeHour !=='undefined'? startTimeHour : new Date().getHours() + ':' + typeof startTimeMinute !=='undefined'? startTimeMinute:new Date().getMinutes(), + cronDays: $scope.chefJenkScriptTaskObj.dayOfWeek, + cronMonth: $scope.chefJenkScriptTaskObj.monthOfYear + } + }, function () { + console.log('Dismiss time is ' + new Date()); + }); }; - confirmbox.showModal({}, modalOptions).then(function() { - var param={ - url:'/bots/' + bot.botId + $scope.deleteBot = function(bot) { + var modalOptions = { + closeButtonText: 'Cancel', + actionButtonText: 'Delete', + actionButtonStyle: 'cat-btn-delete', + headerText: 'Delete Bot', + bodyText: 'Are you sure you want to delete this bots?' }; - genSevs.promiseDelete(param).then(function (response) { - if (response) { - toastr.success('Successfully deleted'); - if($scope.totalBotsSelected) { - $scope.botLibraryGridView(); - } else if($scope.runningBotsselected) { - $scope.showBotsRunning(); - } else if($scope.failedBotsselected) { - $scope.showFailedBots(); - } else { - $scope.botLibraryGridView(); + confirmbox.showModal({}, modalOptions).then(function() { + var param={ + url:'/bots/' + bot.botId + }; + genSevs.promiseDelete(param).then(function (response) { + if (response) { + toastr.success('Successfully deleted'); + if($scope.totalBotsSelected) { + $scope.botLibraryGridView(); + } else if($scope.runningBotsselected) { + $scope.showBotsRunning(); + } else if($scope.failedBotsselected) { + $scope.showFailedBots(); + } else { + $scope.botLibraryGridView(); + } + lib.summary(); } - lib.summary(); - } - }, function(data) { - toastr.error('error:: ' + data.toString()); + }, function(data) { + toastr.error('error:: ' + data.toString()); + }); }); - }); - }; - $rootScope.$on('BOTS_LIBRARY_REFRESH', function() { - lib.summary(); - $scope.botLibraryGridView(); - }); - $scope.RefreshBotsLibrary = function() { - $scope.totalBotsSelected = true; - $scope.runningBotsselected = false; - $scope.failedBotsselected = false; - lib.summary(); - $scope.botLibraryGridView(); - }; - $scope.showBotsRunning = function() { - $scope.runningBotsselected = true; - $scope.totalBotsSelected = false; - $scope.failedBotsselected = false; - lib.gridOptions.data=[]; - var param={ - url:'/bots?actionStatus=running&page=1&pageSize=10&sortBy=' + $scope.paginationParams.sortBy +'&sortOrder=' + $scope.paginationParams.sortOrder }; - genSevs.promiseGet(param).then(function (result) { - $timeout(function() { - $scope.botLibGridOptions.totalItems = result.metaData.totalRecords; - $scope.botLibGridOptions.data=result.bots; - }, 100); + $rootScope.$on('BOTS_LIBRARY_REFRESH', function() { + lib.summary(); + $scope.botLibraryGridView(); }); - lib.summary(); - }; - $scope.showFailedBots = function() { - $scope.failedBotsselected = true; - $scope.runningBotsselected = false; - $scope.totalBotsSelected = false; - lib.gridOptions.data=[]; - var param={ - url:'/bots?actionStatus=failed&page=1&pageSize=10&sortBy=' + $scope.paginationParams.sortBy +'&sortOrder=' + $scope.paginationParams.sortOrder + $scope.RefreshBotsLibrary = function() { + $scope.totalBotsSelected = true; + $scope.runningBotsselected = false; + $scope.failedBotsselected = false; + lib.summary(); + $scope.botLibraryGridView(); }; - genSevs.promiseGet(param).then(function (result) { - $timeout(function() { - $scope.botLibGridOptions.totalItems = result.metaData.totalRecords; - $scope.botLibGridOptions.data=result.bots; - }, 100); - }); - lib.summary(); - }; - lib.summary = function() { - $scope.botSummary=[]; - var param={ - url:'/audit-trail/bots-summary' + $scope.showBotsRunning = function() { + $scope.runningBotsselected = true; + $scope.totalBotsSelected = false; + $scope.failedBotsselected = false; + lib.gridOptions.data=[]; + var param={ + url:'/bots?actionStatus=running&page=1&pageSize=10&sortBy=' + $scope.paginationParams.sortBy +'&sortOrder=' + $scope.paginationParams.sortOrder + }; + genSevs.promiseGet(param).then(function (result) { + $timeout(function() { + $scope.botLibGridOptions.totalItems = result.metaData.totalRecords; + $scope.botLibGridOptions.data=result.bots; + }, 100); + }); + lib.summary(); }; - genSevs.promiseGet(param).then(function (response) { - $scope.botSummary = response; - $scope.totalSavedTimeForBots = parseInt($scope.botSummary.totalSavedTimeForBots); - }); - }; - lib.summary(); - }]).controller('botInfoCtrl',['$scope', 'items', '$modalInstance', function ($scope, items, $modalInstance) { + $scope.showFailedBots = function() { + $scope.failedBotsselected = true; + $scope.runningBotsselected = false; + $scope.totalBotsSelected = false; + lib.gridOptions.data=[]; + var param={ + url:'/bots?actionStatus=failed&page=1&pageSize=10&sortBy=' + $scope.paginationParams.sortBy +'&sortOrder=' + $scope.paginationParams.sortOrder + }; + genSevs.promiseGet(param).then(function (result) { + $timeout(function() { + $scope.botLibGridOptions.totalItems = result.metaData.totalRecords; + $scope.botLibGridOptions.data=result.bots; + }, 100); + }); + lib.summary(); + }; + lib.summary = function() { + $scope.botSummary=[]; + var param={ + url:'/audit-trail/bots-summary' + }; + genSevs.promiseGet(param).then(function (response) { + $scope.botSummary = response; + $scope.totalSavedTimeForBots = parseInt($scope.botSummary.totalSavedTimeForBots); + }); + }; + lib.summary(); + }]).controller('botInfoCtrl',['$scope', 'items', '$modalInstance', function ($scope, items, $modalInstance) { $scope.botInfo = items; console.log(items); @@ -321,15 +321,15 @@ var newdate = datearray[1] + '/' + datearray[0] + '/' + datearray[2]; $scope.schedulerStartOn = newdate; var newEndOn = parseInt(items.chefJenkScriptTaskObj.cronEndOn); - var newEndData = new Date(newEndOn).toLocaleDateString(); + var newEndData = new Date(newEndOn).toLocaleDateString(); var datearrayNew = newEndData.split("/"); var newdateEnd = datearrayNew[1] + '/' + datearrayNew[0] + '/' + datearrayNew[2]; $scope.schedulerEndOn = newdateEnd; } else { $scope.schedulerStartOn = items.chefJenkScriptTaskObj.cronStart; - $scope.schedulerEndOn = items.chefJenkScriptTaskObj.cronEnd; + $scope.schedulerEndOn = items.chefJenkScriptTaskObj.cronEnd; } - + $scope.repeatBy = items.chefJenkScriptTaskObj.repeatBy || items.chefJenkScriptTaskObj.cronRepeatEvery.toString(); $scope.repeatsType = items.chefJenkScriptTaskObj.repeats || items.chefJenkScriptTaskObj.cronFrequency; $scope.timeEventType = items.chefJenkScriptTaskObj.startTime; @@ -353,7 +353,7 @@ } else { $scope.validDateRange=false; } - + }; $scope.repeatCount = function(max, step) { @@ -367,30 +367,36 @@ $scope.isDaySelected = { flag:true } - + $scope.daysOfWeek = [ 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat' ]; $scope.monthOfYear = [ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' ]; $scope.ok=function(){ $scope.eventParams = { - repeats: $scope.repeatsType, - repeatBy: $scope.repeatBy, - cronStart: $scope.schedulerStartOn, - cronEnd: $scope.schedulerEndOn, - startTime: $scope.timeEventType, - startTimeMinute: $scope.timeEventMinute, - dayOfWeek: $scope.weekOfTheDay, - selectedDayOfTheMonth: $scope.selectedDayOfTheMonth, - monthOfYear: $scope.selectedMonth + cronFrequency: $scope.repeatsType, + cronRepeatEvery: $scope.repeatBy, + cronStartOn: $scope.schedulerStartOn, + cronEndOn: $scope.schedulerEndOn, + cronHour: $scope.timeEventType, + cronMinute: $scope.timeEventMinute, + cronWeekDay: $scope.weekOfTheDay, + cronDate: $scope.selectedDayOfTheMonth, + cronMonth: $scope.selectedMonth }; + var reqBody = { + botScheduler:$scope.eventParams, + isBotScheduled:true + } var param={ url:'/bots/' + $scope.botId + '/scheduler', - reqBody: $scope.eventParams + data: reqBody }; genSevs.promisePut(param).then(function (response) { - $scope.botSummary = response; - $scope.totalSavedTimeForBots = parseInt($scope.botSummary.totalSavedTimeForBots); + if(response){ + toastr.success('BOTs Scheduler successfully updated'); + $modalInstance.dismiss('cancel'); + } }); }; @@ -410,15 +416,15 @@ $scope.initChefGrids = function(){ $scope.taskHistoryChefGridOptions.data='taskHistoryChefData'; $scope.taskHistoryChefGridOptions.columnDefs = [ - { name:'Status',field:'status',cellTemplate:'
    {{row.entity.status}}
    ', cellTooltip: true}, - { name:'User',field:'user',cellTooltip: true}, - { name:'Logs',width: 70, - cellTemplate:'
    '}, - { name:'Start Time',field:'startedOn',cellTemplate:'{{row.entity.startedOn | timestampToLocaleTime}}', sort:{ direction: 'desc'}, cellTooltip: true}, - { name:'End Time',field:'timestampEnded',cellTemplate:'{{row.entity.endedOn | timestampToLocaleTime}}', cellTooltip: true}, - { name:'Execution Time',cellTemplate:'{{grid.appScope.getExecutionTime(row.entity.endedOn,row.entity.startedOn)}} mins'}, - { name:'Manual Time',cellTemplate: '{{row.entity.auditTrailConfig.manualExecutionTime}} mins', cellTooltip: true}, - { name:'Saved Time',cellTemplate:'{{grid.appScope.getSavedTime(row.entity.endedOn,row.entity.startedOn)}} mins' + + { name:'Status',field:'status',cellTemplate:'
    {{row.entity.status}}
    ', cellTooltip: true}, + { name:'User',field:'user',cellTooltip: true}, + { name:'Logs',width: 70, + cellTemplate:'
    '}, + { name:'Start Time',field:'startedOn',cellTemplate:'{{row.entity.startedOn | timestampToLocaleTime}}', sort:{ direction: 'desc'}, cellTooltip: true}, + { name:'End Time',field:'timestampEnded',cellTemplate:'{{row.entity.endedOn | timestampToLocaleTime}}', cellTooltip: true}, + { name:'Execution Time',cellTemplate:'{{grid.appScope.getExecutionTime(row.entity.endedOn,row.entity.startedOn)}} mins'}, + { name:'Manual Time',cellTemplate: '{{row.entity.auditTrailConfig.manualExecutionTime}} mins', cellTooltip: true}, + { name:'Saved Time',cellTemplate:'{{grid.appScope.getSavedTime(row.entity.endedOn,row.entity.startedOn)}} mins' + 'NA', cellTooltip: true} ]; }; @@ -443,21 +449,6 @@ $scope.errorMessage = "No Chef History Records found"; $scope.ischefTaskHistoryPageLoading = false; }); - /*workzoneServices.getHistory(items.botId).then(function(response) { - console.log(response); - $timeout(function() { - if(response.data){ - $scope.taskHistoryChefData = response.data; - $scope.ischefTaskHistoryPageLoading = false; - }else if(response){ - $scope.taskHistoryChefData = response; - $scope.ischefTaskHistoryPageLoading = false; - } - },100); - }, function(){ - $scope.errorMessage = "No Chef History Records found"; - $scope.ischefTaskHistoryPageLoading = false; - });*/ }, getExecutionTime: function(endTime, startTime) { $scope.executionTimeinMS = endTime-startTime; @@ -486,15 +477,15 @@ $scope.initJenkinsGrids = function(){ $scope.taskHistoryJenkinsGridOptions.data='taskHistoryJenkinsData'; $scope.taskHistoryJenkinsGridOptions.columnDefs = [ - { name:'Job Number',field:'auditTrailConfig.jenkinsBuildNumber',cellTemplate:'{{row.entity.auditTrailConfig.jenkinsBuildNumber}}', sort:{ direction: 'desc'}, cellTooltip: true}, - { name:'Job Output',cellTemplate:'',cellTooltip: true}, - { name:'Log Info',width: 90,cellTemplate:'',cellTooltip: true}, - { name:'Status',field:'status',cellTemplate:'
    {{row.entity.status.toUpperCase()}}
    '}, - { name:'Start Time',field:'startedOn',cellTemplate:'{{row.entity.startedOn | timestampToLocaleTime}}',cellTooltip: true}, - { name:'End Time',field:'endedOn',cellTemplate:'{{row.entity.endedOn | timestampToLocaleTime}}',cellTooltip: true}, - { name:'Execution Time',cellTemplate:'{{grid.appScope.getExecutionTime(row.entity.endedOn,row.entity.startedOn)}} mins'}, - { name:'Manual Time',cellTemplate: '{{row.entity.auditTrailConfig.manualExecutionTime}} mins', cellTooltip: true}, - { name:'Saved Time',cellTemplate:'{{grid.appScope.getSavedTime(row.entity.endedOn,row.entity.startedOn)}} mins' + + { name:'Job Number',field:'auditTrailConfig.jenkinsBuildNumber',cellTemplate:'{{row.entity.auditTrailConfig.jenkinsBuildNumber}}', sort:{ direction: 'desc'}, cellTooltip: true}, + { name:'Job Output',cellTemplate:'',cellTooltip: true}, + { name:'Log Info',width: 90,cellTemplate:'',cellTooltip: true}, + { name:'Status',field:'status',cellTemplate:'
    {{row.entity.status.toUpperCase()}}
    '}, + { name:'Start Time',field:'startedOn',cellTemplate:'{{row.entity.startedOn | timestampToLocaleTime}}',cellTooltip: true}, + { name:'End Time',field:'endedOn',cellTemplate:'{{row.entity.endedOn | timestampToLocaleTime}}',cellTooltip: true}, + { name:'Execution Time',cellTemplate:'{{grid.appScope.getExecutionTime(row.entity.endedOn,row.entity.startedOn)}} mins'}, + { name:'Manual Time',cellTemplate: '{{row.entity.auditTrailConfig.manualExecutionTime}} mins', cellTooltip: true}, + { name:'Saved Time',cellTemplate:'{{grid.appScope.getSavedTime(row.entity.endedOn,row.entity.startedOn)}} mins' + 'NA', cellTooltip: true} ]; }; @@ -537,15 +528,15 @@ $scope.initScriptGrids = function(){ $scope.taskHistoryScriptGridOptions.data='taskHistoryScriptData'; $scope.taskHistoryScriptGridOptions.columnDefs = [ - { name:'Status',field:'status',cellTemplate:'
    {{row.entity.status}}
    ', cellTooltip: true}, - { name:'User',field:'user',cellTooltip: true}, - { name:'Logs',width: 70, - cellTemplate:'
    '}, - { name:'Start Time',field:'startedOn',cellTemplate:'{{row.entity.startedOn | timestampToLocaleTime}}', sort:{ direction: 'desc'}, cellTooltip: true}, - { name:'End Time',field:'endedOn',cellTemplate:'{{row.entity.endedOn | timestampToLocaleTime}}', cellTooltip: true}, - { name:'Execution Time',cellTemplate:'{{grid.appScope.getExecutionTime(row.entity.endedOn,row.entity.startedOn)}} mins'}, - { name:'Manual Time',cellTemplate: '{{row.entity.auditTrailConfig.manualExecutionTime}} mins', cellTooltip: true}, - { name:'Saved Time',cellTemplate:'{{grid.appScope.getSavedTime(row.entity.endedOn,row.entity.startedOn)}} mins' + + { name:'Status',field:'status',cellTemplate:'
    {{row.entity.status}}
    ', cellTooltip: true}, + { name:'User',field:'user',cellTooltip: true}, + { name:'Logs',width: 70, + cellTemplate:'
    '}, + { name:'Start Time',field:'startedOn',cellTemplate:'{{row.entity.startedOn | timestampToLocaleTime}}', sort:{ direction: 'desc'}, cellTooltip: true}, + { name:'End Time',field:'endedOn',cellTemplate:'{{row.entity.endedOn | timestampToLocaleTime}}', cellTooltip: true}, + { name:'Execution Time',cellTemplate:'{{grid.appScope.getExecutionTime(row.entity.endedOn,row.entity.startedOn)}} mins'}, + { name:'Manual Time',cellTemplate: '{{row.entity.auditTrailConfig.manualExecutionTime}} mins', cellTooltip: true}, + { name:'Saved Time',cellTemplate:'{{grid.appScope.getSavedTime(row.entity.endedOn,row.entity.startedOn)}} mins' + 'NA', cellTooltip: true} ]; }; @@ -588,15 +579,15 @@ $scope.initBlueprintGrids = function(){ $scope.botHistoryBlueprintGridOptions.data='botHistoryBlueprintData'; $scope.botHistoryBlueprintGridOptions.columnDefs = [ - { name:'Status',field:'status',cellTemplate:'
    {{row.entity.status}}
    ', cellTooltip: true}, - { name:'User',field:'user',cellTooltip: true}, - { name:'Logs',width: 70, - cellTemplate:'
    '}, - { name:'Start Time',field:'startedOn',cellTemplate:'{{row.entity.startedOn | timestampToLocaleTime}}', sort:{ direction: 'desc'}, cellTooltip: true}, - { name:'End Time',field:'timestampEnded',cellTemplate:'{{row.entity.timestampEnded | timestampToLocaleTime}}', cellTooltip: true}, - { name:'Execution Time',cellTemplate:'{{grid.appScope.getExecutionTime(row.entity.endedOn,row.entity.startedOn)}} mins'}, - { name:'Manual Time',cellTemplate: '{{row.entity.auditTrailConfig.manualExecutionTime}} mins', cellTooltip: true}, - { name:'Saved Time',cellTemplate:'{{grid.appScope.getSavedTime(row.entity.endedOn,row.entity.startedOn)}} mins' + + { name:'Status',field:'status',cellTemplate:'
    {{row.entity.status}}
    ', cellTooltip: true}, + { name:'User',field:'user',cellTooltip: true}, + { name:'Logs',width: 70, + cellTemplate:'
    '}, + { name:'Start Time',field:'startedOn',cellTemplate:'{{row.entity.startedOn | timestampToLocaleTime}}', sort:{ direction: 'desc'}, cellTooltip: true}, + { name:'End Time',field:'timestampEnded',cellTemplate:'{{row.entity.timestampEnded | timestampToLocaleTime}}', cellTooltip: true}, + { name:'Execution Time',cellTemplate:'{{grid.appScope.getExecutionTime(row.entity.endedOn,row.entity.startedOn)}} mins'}, + { name:'Manual Time',cellTemplate: '{{row.entity.auditTrailConfig.manualExecutionTime}} mins', cellTooltip: true}, + { name:'Saved Time',cellTemplate:'{{grid.appScope.getSavedTime(row.entity.endedOn,row.entity.startedOn)}} mins' + 'NA', cellTooltip: true} ]; }; @@ -675,7 +666,7 @@ items: function() { return { taskId : hist.auditId, - historyId : hist._id, + historyId : hist.auditHistoryId, taskType:hist.auditTrailConfig.executionType }; } diff --git a/client/cat3/src/partials/sections/dashboard/bots/view/library.html b/client/cat3/src/partials/sections/dashboard/bots/view/library.html index e8ce2e69d..892b952dd 100644 --- a/client/cat3/src/partials/sections/dashboard/bots/view/library.html +++ b/client/cat3/src/partials/sections/dashboard/bots/view/library.html @@ -6,8 +6,8 @@ -
    -
    +
    +
    @@ -16,8 +16,8 @@
    - Total Number of BOTs - {{botSummary.totalNoOfBots}} + Total Number of BOTs + {{botSummary.totalNoOfBots}}
    @@ -27,8 +27,8 @@
    - Number of BOTs running - {{botSummary.totalNoOfRunningBots}} + Number of BOTs running + {{botSummary.totalNoOfRunningBots}}
    @@ -38,8 +38,8 @@
    - Total Time saved - {{totalSavedTimeForBots}} mins + Total Time saved + {{totalSavedTimeForBots}} mins
    @@ -49,8 +49,8 @@
    - Number of failed runs - {{botSummary.totalNoOfFailedBots}} + Number of failed runs + {{botSummary.totalNoOfFailedBots}}
    @@ -75,6 +75,6 @@ \ No newline at end of file diff --git a/client/cat3/src/partials/sections/dashboard/design/view/blueprintCreate.html b/client/cat3/src/partials/sections/dashboard/design/view/blueprintCreate.html index 886049f3c..8987d07e3 100755 --- a/client/cat3/src/partials/sections/dashboard/design/view/blueprintCreate.html +++ b/client/cat3/src/partials/sections/dashboard/design/view/blueprintCreate.html @@ -261,6 +261,7 @@ diff --git a/client/cat3/src/partials/sections/dashboard/workzone/application/application.scss b/client/cat3/src/partials/sections/dashboard/workzone/application/application.scss index d551d10b9..ec84cbe4f 100755 --- a/client/cat3/src/partials/sections/dashboard/workzone/application/application.scss +++ b/client/cat3/src/partials/sections/dashboard/workzone/application/application.scss @@ -154,6 +154,7 @@ .ui-grid-cell{ background-color: inherit; border-right: none !important; + border-bottom: none !important; } .ui-grid-row:nth-child(odd) { .ui-grid-cell { diff --git a/client/cat3/src/partials/sections/dashboard/workzone/data/app.json b/client/cat3/src/partials/sections/dashboard/workzone/data/app.json new file mode 100644 index 000000000..e69de29bb diff --git a/client/cat3/src/partials/sections/dashboard/workzone/instance/instance.scss b/client/cat3/src/partials/sections/dashboard/workzone/instance/instance.scss index fa4e95d80..7d982f1de 100644 --- a/client/cat3/src/partials/sections/dashboard/workzone/instance/instance.scss +++ b/client/cat3/src/partials/sections/dashboard/workzone/instance/instance.scss @@ -1070,4 +1070,11 @@ $imagePath: "../../../../../../images"; i { color: #40baf1; } +} +#tableView .ui-grid-row > div .ui-grid-cell { + float: left !important; + vertical-align: middle; + height: 55px !important; + padding: 6px !important; + overflow: hidden; } \ No newline at end of file diff --git a/client/cat3/styles/fonts/glyphicons-halflings-regular.ttf b/client/cat3/styles/fonts/glyphicons-halflings-regular.ttf new file mode 100644 index 000000000..1413fc609 Binary files /dev/null and b/client/cat3/styles/fonts/glyphicons-halflings-regular.ttf differ diff --git a/client/cat3/styles/fonts/glyphicons-halflings-regular.woff b/client/cat3/styles/fonts/glyphicons-halflings-regular.woff new file mode 100644 index 000000000..9e612858f Binary files /dev/null and b/client/cat3/styles/fonts/glyphicons-halflings-regular.woff differ diff --git a/client/cat3/styles/fonts/glyphicons-halflings-regular.woff2 b/client/cat3/styles/fonts/glyphicons-halflings-regular.woff2 new file mode 100644 index 000000000..64539b54c Binary files /dev/null and b/client/cat3/styles/fonts/glyphicons-halflings-regular.woff2 differ diff --git a/client/htmls/private/index.html b/client/htmls/private/index.html index 88416a3b1..0648ff0c7 100644 --- a/client/htmls/private/index.html +++ b/client/htmls/private/index.html @@ -50,7 +50,7 @@
  • @@ -827,7 +827,7 @@