From 15cc39e2568e275c3c28f2693ada4cd52a8e50ea Mon Sep 17 00:00:00 2001 From: jiazhong Date: Wed, 26 Nov 2014 20:49:03 +0800 Subject: [PATCH 1/2] sort aggregation group in one group & fix duplicate item issue in aggregation group --- webapp/app/js/controllers/cubeEdit.js | 45 ++++++++++++++++++++++----------- webapp/app/js/controllers/cubeSchema.js | 13 ++++++++-- 2 files changed, 41 insertions(+), 17 deletions(-) diff --git a/webapp/app/js/controllers/cubeEdit.js b/webapp/app/js/controllers/cubeEdit.js index 7dd65b4..c69745e 100644 --- a/webapp/app/js/controllers/cubeEdit.js +++ b/webapp/app/js/controllers/cubeEdit.js @@ -155,9 +155,11 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio $scope.prepareCube = function () { // generate column family generateColumnFamily(); - if($scope.cubeMode==="addNewCube"){ - generateDefaultRowkey(); - } + + //remove generageDefaultRowKey ,will generate when edit dimension +// if($scope.cubeMode==="addNewCube"){ +// generateDefaultRowkey(); +// } // Clean up objects used in cube creation angular.forEach($scope.cubeMetaFrame.dimensions, function (dimension, index) { @@ -249,7 +251,7 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio console.log("reGen rowkey & agg group"); var tmpRowKeyColumns = []; var tmpAggregationItems = []; - + var hierarchyItems = []; angular.forEach($scope.cubeMetaFrame.dimensions, function (dimension, index) { if (dimension.column == '{FK}' && dimension.join && dimension.join.foreign_key.length > 0) { angular.forEach(dimension.join.foreign_key, function (fk, index) { @@ -299,6 +301,7 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio } tmpAggregationItems.push(hierarchy.column); + hierarchyItems.push(hierarchy.column); }); } @@ -343,19 +346,31 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio if($scope.cubeMode==="addNewCube"){ // to-do for increased group item - var uniqGroupItem = []; - angular.forEach(aggregationGroups, function (group, index) { - if(group){ - for(var j = 0;j 0) { angular.forEach(dimension.join.foreign_key, function (fk, index) { diff --git a/webapp/app/js/controllers/cubeSchema.js b/webapp/app/js/controllers/cubeSchema.js index 25d67da..bba4cea 100644 --- a/webapp/app/js/controllers/cubeSchema.js +++ b/webapp/app/js/controllers/cubeSchema.js @@ -106,9 +106,14 @@ KylinApp.controller('CubeSchemaCtrl', function ($scope, QueryService, UserServic } $scope.saveNewDimension = function () { + if($scope.editFlag.dimensionEdited=="init"){ + $scope.editFlag.dimensionEdited = false; + }else{ + $scope.editFlag.dimensionEdited=!$scope.editFlag.dimensionEdited; + } + if ($scope.cubeMetaFrame.dimensions.indexOf($scope.newDimension) === -1) { $scope.cubeMetaFrame.dimensions.push($scope.newDimension); - $scope.editFlag.dimensionEdited=$scope.editFlag.dimensionEdited==true?false:true; } $scope.newDimension = null; } @@ -196,7 +201,11 @@ KylinApp.controller('CubeSchemaCtrl', function ($scope, QueryService, UserServic var index = arr.indexOf(element); if (index > -1) { arr.splice(index, 1); - $scope.editFlag.dimensionEdited=$scope.editFlag.dimensionEdited==true?false:true; + if($scope.editFlag.dimensionEdited=="init"){ + $scope.editFlag.dimensionEdited = false; + }else{ + $scope.editFlag.dimensionEdited=!$scope.editFlag.dimensionEdited; + } } } From a9cf4a2a50d678e6a42cd4d257eda36a94945bc5 Mon Sep 17 00:00:00 2001 From: jiazhong Date: Wed, 26 Nov 2014 21:14:57 +0800 Subject: [PATCH 2/2] remove unsed code in cubeEdit.js --- webapp/app/js/controllers/cubeEdit.js | 77 ----------------------------------- 1 file changed, 77 deletions(-) diff --git a/webapp/app/js/controllers/cubeEdit.js b/webapp/app/js/controllers/cubeEdit.js index c69745e..92598c2 100644 --- a/webapp/app/js/controllers/cubeEdit.js +++ b/webapp/app/js/controllers/cubeEdit.js @@ -156,11 +156,6 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio // generate column family generateColumnFamily(); - //remove generageDefaultRowKey ,will generate when edit dimension -// if($scope.cubeMode==="addNewCube"){ -// generateDefaultRowkey(); -// } - // Clean up objects used in cube creation angular.forEach($scope.cubeMetaFrame.dimensions, function (dimension, index) { delete dimension.status; @@ -345,17 +340,6 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio }); if($scope.cubeMode==="addNewCube"){ - // to-do for increased group item -// var uniqGroupItem = []; -// angular.forEach(aggregationGroups, function (group, index) { -// if(group){ -// for(var j = 0;j 0) { - angular.forEach(dimension.join.foreign_key, function (fk, index) { - for (var i = 0; i < $scope.cubeMetaFrame.rowkey.rowkey_columns.length; i++) { - if($scope.cubeMetaFrame.rowkey.rowkey_columns[i].column == fk) - break; - } - if(i == $scope.cubeMetaFrame.rowkey.rowkey_columns.length) { - $scope.cubeMetaFrame.rowkey.rowkey_columns.push({ - "column": fk, - "length": 0, - "dictionary": true, - "mandatory": false - }); - } - - tmpAggregationGroups.push(fk); - }); - } - else if (dimension.column) { - for (var i = 0; i < $scope.cubeMetaFrame.rowkey.rowkey_columns.length; i++) { - if($scope.cubeMetaFrame.rowkey.rowkey_columns[i].column == dimension.column) - break; - } - if(i == $scope.cubeMetaFrame.rowkey.rowkey_columns.length) { - $scope.cubeMetaFrame.rowkey.rowkey_columns.push({ - "column": dimension.column, - "length": 0, - "dictionary": true, - "mandatory": false - }); - } - - tmpAggregationGroups.push(dimension.column); - } - - if (dimension.hierarchy && dimension.hierarchy.length > 0) { - angular.forEach(dimension.hierarchy, function (hierarchy, index) { - for (var i = 0; i < $scope.cubeMetaFrame.rowkey.rowkey_columns.length; i++) { - if($scope.cubeMetaFrame.rowkey.rowkey_columns[i].column == hierarchy.column) - break; - } - if(i == $scope.cubeMetaFrame.rowkey.rowkey_columns.length) { - $scope.cubeMetaFrame.rowkey.rowkey_columns.push({ - "column": hierarchy.column, - "length": 0, - "dictionary": true, - "mandatory": false - }); - } - - tmpAggregationGroups.push(hierarchy.column); - }); - } - }); - var increasedDataGroups = sliceGroupItemToGroups(tmpAggregationGroups); - $scope.cubeMetaFrame.rowkey.aggregation_groups = increasedDataGroups; - } function recoveryCubeStatus() { $scope.cubeMetaFrame.project = $scope.state.project;