Repository: kylin Updated Branches: refs/heads/master 6f563df4a -> 878107e35
KYLIN 1875 minor,update model ang cube designer Signed-off-by: zhongjian <jiat...@163.com> Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/878107e3 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/878107e3 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/878107e3 Branch: refs/heads/master Commit: 878107e35bf4ac3a7963f22ac00a805eea9c323f Parents: 6f563df Author: chenzhx <346839...@qq.com> Authored: Mon Dec 19 14:16:47 2016 +0800 Committer: zhongjian <jiat...@163.com> Committed: Mon Dec 19 16:29:42 2016 +0800 ---------------------------------------------------------------------- webapp/app/js/controllers/cubeAdvanceSetting.js | 31 +-------- webapp/app/js/controllers/cubeDimensions.js | 38 ++++------- webapp/app/js/controllers/cubeEdit.js | 6 +- webapp/app/js/controllers/cubeMeasures.js | 12 ++-- webapp/app/js/controllers/cubeSchema.js | 1 - webapp/app/js/controllers/modelDataModel.js | 6 -- webapp/app/js/controllers/modelEdit.js | 2 +- webapp/app/js/filters/filter.js | 17 ++++- .../cubeDesigner/advanced_settings.html | 17 +---- .../app/partials/cubeDesigner/dimensions.html | 69 ++++++++++---------- webapp/app/partials/cubeDesigner/measures.html | 19 +++--- .../app/partials/modelDesigner/data_model.html | 34 ++++------ .../partials/modelDesigner/model_measures.html | 2 +- 13 files changed, 100 insertions(+), 154 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kylin/blob/878107e3/webapp/app/js/controllers/cubeAdvanceSetting.js ---------------------------------------------------------------------- diff --git a/webapp/app/js/controllers/cubeAdvanceSetting.js b/webapp/app/js/controllers/cubeAdvanceSetting.js index 20af908..760133a 100644 --- a/webapp/app/js/controllers/cubeAdvanceSetting.js +++ b/webapp/app/js/controllers/cubeAdvanceSetting.js @@ -21,7 +21,7 @@ KylinApp.controller('CubeAdvanceSettingCtrl', function ($scope, $modal,cubeConfig,MetaModel,cubesManager,CubeDescModel,SweetAlert) { $scope.cubesManager = cubesManager; $scope.getTypeVersion=function(typename){ - var searchResult=/\[v(\d+)\]/.exec(typename); + var searchResult=/\s*\(v(\d+)\)/.exec(typename); if(searchResult&&searchResult.length){ return searchResult.length&&searchResult[1]||1; }else{ @@ -30,7 +30,7 @@ KylinApp.controller('CubeAdvanceSettingCtrl', function ($scope, $modal,cubeConfi } $scope.removeVersion=function(typename){ if(typename){ - return typename.replace(/\[v\d+\]/g,""); + return typename.replace(/\s*\(v\d+\)/g,""); } return ""; } @@ -49,7 +49,7 @@ KylinApp.controller('CubeAdvanceSettingCtrl', function ($scope, $modal,cubeConfi _encoding=baseKey; var rowkeyObj = { column:item.column, - encoding:_encoding+(item.encoding_version?"[v"+item.encoding_version+"]":"[v1]"), + encoding:_encoding+(item.encoding_version?" (v"+item.encoding_version+")":" (v1)"), valueLength:_valueLength, isShardBy:item.isShardBy, encoding_version:item.encoding_version||1 @@ -109,31 +109,6 @@ KylinApp.controller('CubeAdvanceSettingCtrl', function ($scope, $modal,cubeConfi } } - $scope.removeRowkey = function(arr,index,item){ - if (index > -1) { - arr.splice(index, 1); - } - $scope.cubeMetaFrame.rowkey.rowkey_columns.splice(index,1); - } - - - $scope.addNewRowkeyColumn = function () { - var rowkeyObj = { - column:"", - encoding:"dict", - valueLength:0, - isShardBy:"false" - } - - $scope.convertedRowkeys.push(rowkeyObj); - $scope.cubeMetaFrame.rowkey.rowkey_columns.push({ - column:'', - encoding:'dict', - isShardBy:'false' - }); - - }; - $scope.addNewHierarchy = function(grp){ grp.select_rule.hierarchy_dims.push([]); } http://git-wip-us.apache.org/repos/asf/kylin/blob/878107e3/webapp/app/js/controllers/cubeDimensions.js ---------------------------------------------------------------------- diff --git a/webapp/app/js/controllers/cubeDimensions.js b/webapp/app/js/controllers/cubeDimensions.js index e2787a5..80d54bb 100644 --- a/webapp/app/js/controllers/cubeDimensions.js +++ b/webapp/app/js/controllers/cubeDimensions.js @@ -206,9 +206,7 @@ KylinApp.controller('CubeDimensionsCtrl', function ($scope, $modal,MetaModel,cub }); modalInstance.result.then(function () { - if (!$scope.dimState.editing) { - $scope.doneAddDim(); - } else { + if ($scope.dimState.editing) { $scope.doneEditDim(); } @@ -268,31 +266,31 @@ KylinApp.controller('CubeDimensionsCtrl', function ($scope, $modal,MetaModel,cub }; - $scope.addDim = function (dimType) { - $scope.newDimension = Dimension('', [], dimType); - - $scope.openDimModal(dimType); - }; - $scope.editDim = function (dim) { $scope.dimState.editingIndex = dimList.indexOf(dim); $scope.dimState.editing = true; // Make a copy of model will be editing. $scope.newDimension = angular.copy(dim); + if($scope.newDimension.derived&&$scope.newDimension.derived.length>0){ + $scope.newDimension.normal="false"; + }else{ + $scope.newDimension.normal="true"; + } $scope.openDimModal($scope.getDimType(dim)); }; - $scope.doneAddDim = function () { - // Push new dimension which bound user input data. - dimList.push(angular.copy($scope.newDimension)); - - $scope.resetParams(); - }; - $scope.doneEditDim = function () { // Copy edited model to destination model. + if($scope.newDimension.derived&&($scope.newDimension.normal=="true")){ + $scope.newDimension.column=$scope.newDimension.derived[0]; + $scope.newDimension.derived=null; + } + if(!$scope.newDimension.derived&&($scope.newDimension.normal=="false")){ + $scope.newDimension.derived=[$scope.newDimension.column]; + $scope.newDimension.column=null; + } angular.copy($scope.newDimension, dimList[$scope.dimState.editingIndex]); $scope.resetParams(); @@ -490,14 +488,6 @@ KylinApp.controller('CubeDimensionsCtrl', function ($scope, $modal,MetaModel,cub } } - $scope.addNewDimension = function(newDimension){ - if(newDimension.derived==null){ - newDimension.derived=[]; - } - newDimension.derived.push(''); - } - - // Just reset the selected status of columns. $scope.resetGenDims = function () { var selectedCols = $scope.getSelectedCols(); http://git-wip-us.apache.org/repos/asf/kylin/blob/878107e3/webapp/app/js/controllers/cubeEdit.js ---------------------------------------------------------------------- diff --git a/webapp/app/js/controllers/cubeEdit.js b/webapp/app/js/controllers/cubeEdit.js index a2b38f9..90cdbc0 100755 --- a/webapp/app/js/controllers/cubeEdit.js +++ b/webapp/app/js/controllers/cubeEdit.js @@ -60,7 +60,7 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio for(var s=1;s<=typeVersion;s++){ $scope.store.supportedEncoding.push({ "name":name+" (v"+s+","+(s==typeVersion&&typeVersion>1?"suggest)":")"), - "value":value+"[v"+s+"]", + "value":value+" (v"+s+")", "version":typeVersion, "baseValue":value, "suggest":s==typeVersion @@ -70,7 +70,7 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio }else { $scope.store.supportedEncoding.push({ "name": name, - "value": value+"[v1]", + "value": value+" (v1)", "encoding_version":1, "version":typeVersion, "baseValue":value, @@ -103,7 +103,7 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio for(var s=0;s<$scope.cubeMetaFrame.rowkey.rowkey_columns.length;s++){ if(filterName==$scope.cubeMetaFrame.rowkey.rowkey_columns[s].column){ var version=$scope.cubeMetaFrame.rowkey.rowkey_columns[s].encoding_version; - filterEncoding=VdmUtil.getFilterObjectListByOrFilterVal(encodings,'value',$scope.cubeMetaFrame.rowkey.rowkey_columns[s].encoding.replace(/:\d+/,"")+(version?"[v"+version+"]":"[v1]"),'suggest',true) + filterEncoding=VdmUtil.getFilterObjectListByOrFilterVal(encodings,'value',$scope.cubeMetaFrame.rowkey.rowkey_columns[s].encoding.replace(/:\d+/,"")+(version?" (v"+version+")":" (v1)"),'suggest',true) } } }else{ http://git-wip-us.apache.org/repos/asf/kylin/blob/878107e3/webapp/app/js/controllers/cubeMeasures.js ---------------------------------------------------------------------- diff --git a/webapp/app/js/controllers/cubeMeasures.js b/webapp/app/js/controllers/cubeMeasures.js index 67a107b..15c330a 100644 --- a/webapp/app/js/controllers/cubeMeasures.js +++ b/webapp/app/js/controllers/cubeMeasures.js @@ -32,12 +32,12 @@ KylinApp.controller('CubeMeasuresCtrl', function ($scope, $modal,MetaModel,cubes var needLengthKeyList=['fixed_length','fixed_length_hex','int','integer']; $scope.removeVersion=function(typename){ if(typename){ - return typename.replace(/\[v\d+\]/g,""); + return typename.replace(/\s*\(v\d+\)/g,""); } return ""; } $scope.getTypeVersion=function(typename){ - var searchResult=/\[v(\d+)\]/.exec(typename); + var searchResult=/\s*\(v(\d+)\)/.exec(typename); if(searchResult&&searchResult.length){ return searchResult.length&&searchResult[1]||1; }else{ @@ -62,7 +62,7 @@ KylinApp.controller('CubeMeasuresCtrl', function ($scope, $modal,MetaModel,cubes if($scope.isEdit) { if (name && $scope.newMeasure.function.configuration&&$scope.newMeasure.function.configuration['topn.encoding.' + name]) { var version = $scope.newMeasure.function.configuration['topn.encoding_version.' + name] || 1; - filterEncoding = VdmUtil.getFilterObjectListByOrFilterVal(encodings, 'value', $scope.newMeasure.function.configuration['topn.encoding.' + name].replace(/:\d+/, "") + (version ? "[v" + version + "]" : "[v1]"), 'suggest', true); + filterEncoding = VdmUtil.getFilterObjectListByOrFilterVal(encodings, 'value', $scope.newMeasure.function.configuration['topn.encoding.' + name].replace(/:\d+/, "") + (version ? " (v" + version + ")" : " (v1)"), 'suggest', true); }else{ filterEncoding=VdmUtil.getFilterObjectListByOrFilterVal(encodings,'suggest', true); } @@ -89,7 +89,7 @@ KylinApp.controller('CubeMeasuresCtrl', function ($scope, $modal,MetaModel,cubes if($scope.newMeasure.function.configuration==null){ var GroupBy = { name:$scope.newMeasure.function.parameter.next_parameter.value, - encoding:"dict", + encoding:"dict (v1)", valueLength:0, } $scope.convertedColumns.push(GroupBy); @@ -110,7 +110,7 @@ KylinApp.controller('CubeMeasuresCtrl', function ($scope, $modal,MetaModel,cubes _encoding=baseKey; $scope.GroupBy = { name:_name, - encoding:_encoding+(version?"[v"+version+"]":"[v1]"), + encoding:_encoding+(version?" (v"+version+")":" (v1)"), valueLength:_valueLength, encoding_version:version||1 } @@ -271,7 +271,7 @@ KylinApp.controller('CubeMeasuresCtrl', function ($scope, $modal,MetaModel,cubes $scope.addNewGroupByColumn = function () { $scope.nextGroupBy = { name:null, - encoding:"dict", + encoding:"dict (v1)", valueLength:0, } $scope.convertedColumns.push($scope.nextGroupBy); http://git-wip-us.apache.org/repos/asf/kylin/blob/878107e3/webapp/app/js/controllers/cubeSchema.js ---------------------------------------------------------------------- diff --git a/webapp/app/js/controllers/cubeSchema.js b/webapp/app/js/controllers/cubeSchema.js index d7dfc09..357b6af 100755 --- a/webapp/app/js/controllers/cubeSchema.js +++ b/webapp/app/js/controllers/cubeSchema.js @@ -109,7 +109,6 @@ KylinApp.controller('CubeSchemaCtrl', function ($scope, QueryService, UserServic }; $scope.goToStep = function(stepIndex){ - console.log($scope.cubeMode); if($scope.cubeMode == "addNewCube"){ if(stepIndex+1>=$scope.curStep.step){ return; http://git-wip-us.apache.org/repos/asf/kylin/blob/878107e3/webapp/app/js/controllers/modelDataModel.js ---------------------------------------------------------------------- diff --git a/webapp/app/js/controllers/modelDataModel.js b/webapp/app/js/controllers/modelDataModel.js index 3834e06..95c42c4 100644 --- a/webapp/app/js/controllers/modelDataModel.js +++ b/webapp/app/js/controllers/modelDataModel.js @@ -264,9 +264,6 @@ KylinApp.controller('ModelDataModelCtrl', function ($location,$scope, $modal,cub break; } } - if($scope.aliasName.indexOf($scope.newLookup.alias)!=-1&&$scope.lookupState.editing == false){ - errors.push("Table Alias ["+$scope.newLookup.alias+"] already exist!"); - } if($scope.aliasName.indexOf($scope.newLookup.alias)!=-1&&$scope.aliasName[$scope.lookupState.editingIndex+1] != $scope.newLookup.alias){ errors.push("Table Alias ["+$scope.newLookup.alias+"] already exist!"); } @@ -281,7 +278,4 @@ KylinApp.controller('ModelDataModelCtrl', function ($location,$scope, $modal,cub return true; } }; - $scope.filterNotRoot = function (item) { - return item.name!==modelsManager.selectedModel.fact_table; - }; }); http://git-wip-us.apache.org/repos/asf/kylin/blob/878107e3/webapp/app/js/controllers/modelEdit.js ---------------------------------------------------------------------- diff --git a/webapp/app/js/controllers/modelEdit.js b/webapp/app/js/controllers/modelEdit.js index c504b52..351e779 100644 --- a/webapp/app/js/controllers/modelEdit.js +++ b/webapp/app/js/controllers/modelEdit.js @@ -209,7 +209,7 @@ KylinApp.controller('ModelEditCtrl', function ($scope, $q, $routeParams, $locati $scope.state.modelSchema = request.modelSchema; SweetAlert.swal('', 'Created the model successfully.', 'success'); $location.path("/models"); - location.reload(); + // location.reload(); } else { $scope.saveModelRollBack(); var message =request.message; http://git-wip-us.apache.org/repos/asf/kylin/blob/878107e3/webapp/app/js/filters/filter.js ---------------------------------------------------------------------- diff --git a/webapp/app/js/filters/filter.js b/webapp/app/js/filters/filter.js index f9f7165..aff4e3a 100755 --- a/webapp/app/js/filters/filter.js +++ b/webapp/app/js/filters/filter.js @@ -190,4 +190,19 @@ KylinApp return _day +" (Days)"; } } - }); + }).filter('inDimNotInMea', function ($filter) { + return function (inputArr, table, arr) { + var out=[]; + angular.forEach(arr,function(item){ + if(item.table==table){ + angular.forEach(inputArr,function(inputItem){ + if(item.columns.indexOf(inputItem.name)==-1){ + out.push(inputItem); + } + }); + } + }); + return out; + } + }) + ; http://git-wip-us.apache.org/repos/asf/kylin/blob/878107e3/webapp/app/partials/cubeDesigner/advanced_settings.html ---------------------------------------------------------------------- diff --git a/webapp/app/partials/cubeDesigner/advanced_settings.html b/webapp/app/partials/cubeDesigner/advanced_settings.html index 438eb1f..f9e422c 100755 --- a/webapp/app/partials/cubeDesigner/advanced_settings.html +++ b/webapp/app/partials/cubeDesigner/advanced_settings.html @@ -202,11 +202,10 @@ <thead> <tr> <th>ID</th> - <th class="col-xs-4">Column</th> + <th class="col-xs-5">Column</th> <th>Encoding</th> <th>Length</th> <th>Shard By</th> - <th ng-if="state.mode=='edit'"></th> </tr> </thead> @@ -243,11 +242,11 @@ <!--Column Length --> <input type="text" class="form-control" placeholder="Column Length.." ng-if="state.mode=='edit'" tooltip="rowkey column length.." tooltip-trigger="focus" - ng-disabled="rowkey_column.encoding=='dict'||rowkey_column.encoding=='date'||rowkey_column.encoding=='time'||rowkey_column.encoding=='boolean'||instance.status=='READY'" + ng-disabled="rowkey_column.encoding.indexOf('dict')>=0||rowkey_column.encoding.indexOf('date')>=0||rowkey_column.encoding.indexOf('time')>=0||instance.status=='READY'" ng-change="refreshRowKey(convertedRowkeys,$index,rowkey_column);" ng-model="rowkey_column.valueLength" class="form-control"> - <small class="help-block red" ng-show="state.mode=='edit' && rowkey_column.encoding=='int' && (rowkey_column.valueLength>8 || rowkey_column.valueLength<1)">int encoding column length should between 1 and 8</small> + <small class="help-block red" ng-show="state.mode=='edit' && rowkey_column.encoding.indexOf('integer')>=0 && (rowkey_column.valueLength>8 || rowkey_column.valueLength<1)">integer encoding column length should between 1 and 8</small> <span ng-if="state.mode=='view'">{{rowkey_column.valueLength}}</span> </td> @@ -263,21 +262,11 @@ <small class="help-block red" ng-show="state.mode=='edit' && rule.shardColumnAvailable==false && rowkey_column.isShardBy == true">at most one 'shard by' column is allowed.</small> <span ng-if="state.mode=='view'">{{rowkey_column.isShardBy}}</span> </td> - - <td ng-if="state.mode=='edit'"> - <button class="btn btn-xs btn-info" ng-disabled="instance.status=='READY'" - ng-click="removeRowkey(convertedRowkeys, $index,rowkey_column)"><i - class="fa fa-minus"></i> - </button> - </td> </tr> </tbody> </table> </div> </div> - <button class="btn btn-sm btn-info" style="margin-left:42px" ng-disabled="instance.status=='READY'" - ng-click="addNewRowkeyColumn()" ng-show="state.mode=='edit'">New Rowkey Column<i class="fa fa-plus"></i> - </button> </div> <div class="form-group large-popover" style="overflow:auto"> <h3 style="margin-left:42px">Advanced Dictionaries <i kylinpopover placement="right" title="Advanced Dictionaries" template="AdvancedDictionariesTip.html" class="fa fa-info-circle"></i></h3> http://git-wip-us.apache.org/repos/asf/kylin/blob/878107e3/webapp/app/partials/cubeDesigner/dimensions.html ---------------------------------------------------------------------- diff --git a/webapp/app/partials/cubeDesigner/dimensions.html b/webapp/app/partials/cubeDesigner/dimensions.html index 7fedeb6..d8a8fce 100644 --- a/webapp/app/partials/cubeDesigner/dimensions.html +++ b/webapp/app/partials/cubeDesigner/dimensions.html @@ -24,7 +24,7 @@ <div class="col-xs-6" ng-if="state.mode=='edit'"> <button type="button" class="btn btn-default" ng-disabled="!metaModel.model.fact_table.length||instance.status=='READY'" ng-click="openAutoGenModal()" > - <i class="fa fa-building-o"></i> Auto Generator + <i class="fa fa-building-o"></i> Add Dimensions </button> </div> <div ng-class="(state.mode=='edit')?'col-xs-6':'col-xs-12'"> @@ -57,7 +57,7 @@ </td> <!--Table Name --> <td> - <span tooltip="{{availableFactTables.indexOf(dimension.table)==-1? 'Lookup Table':'Fact Table'}}">{{dimension.table}}</span> + <span>{{dimension.table}}</span> </td> <!--Type--> <td> @@ -109,7 +109,7 @@ <!-- Edit Dimension Form --> <script type="text/ng-template" id="addEditDimension.html"> <div class="modal-header"> - <h4 class="box-title lighter">{{dimState.editing ? 'Edit' : 'Add'}} Dimension + <h4 class="box-title lighter">Edit Dimension <span class="label label-primary" ng-repeat="t in dimType">{{t}}</span> </h4> </div> @@ -138,17 +138,8 @@ <div class="form-group"> <div class="row"> <label class="control-label col-xs-12 col-sm-3 no-padding-right font-color-default"><b>Table Name</b></label> - <div class="col-xs-12 col-sm-6" ng-if="dimType.indexOf('derived') >= 0"> - <select class="form-control" required="true" chosen data-placeholder="Select a lookup table" - ng-model="newDimension.table" ng-options="table for table in availableLookupTables"> - <option value=""></option> - </select> - </div> - <div class="col-xs-12 col-sm-6" ng-if="dimType.indexOf('derived') == -1"> - <select class="form-control" required="true" chosen data-placeholder="Select a table" - ng-model="newDimension.table" ng-options="table for table in availableFactTables"> - <option value=""></option> - </select> + <div class="col-xs-12 col-sm-6" > + <span>{{newDimension.table}}</span> </div> <div class="col-xs-12 col-sm-3"> <div class="text-info" ng-if="dimType.indexOf('derived') >= 0"> @@ -161,12 +152,11 @@ <!--Normal Dimension: choose one column--> <div class="form-group" ng-if="dimType.indexOf('normal') >= 0"> <div class="row"> - <label class="control-label col-xs-12 col-sm-3 no-padding-right font-color-default"><b>Column Name</b></label> + <label class="control-label col-xs-12 col-sm-3 no-padding-right font-color-default"> + <b>Column Name</b> + </label> <div class="col-xs-12 col-sm-6"> - <select class="form-control" required="true" chosen data-placeholder="Select a column" - ng-model="newDimension.column" ng-options="column.name as column.name for column in getDimColumnsByAlias(newDimension.table)"> - <option value=""></option> - </select> + <span>{{newDimension.column}}</span> </div> </div> </div> @@ -174,27 +164,34 @@ <div ng-if="dimType.indexOf('derived') >= 0"> <div class="form-group"> <div class="row"> - <div class="col-sm-6 col-sm-offset-3"> + <label class="control-label col-xs-12 col-sm-3 no-padding-right font-color-default"> + <b>Column Name</b> + </label> + <div class="col-sm-6 "> <div ng-repeat="derived in newDimension.derived track by $index"> - <div> - <select chosen style="width: 80%;" data-placeholder="Derived Columns.." - ng-model="newDimension.derived[$index]" - ng-options="columns.name as columns.name for columns in getDimColumnsByAlias(newDimension.table)" > - <option value=""></option> - </select> - <button class="pull-right btn btn-xs btn-danger" style="cursor: pointer " tooltip="Delete" - ng-click="newDimension.derived.splice($index, 1);"> - <i class="fa fa-trash-o"></i> - </button> - <div class="space-4"></div> - </div> + <span > + {{newDimension.derived[$index]}} + </span> </div> - <button class="btn btn-xs btn-info" ng-click="addNewDimension(newDimension);"> - <i class="fa fa-plus"></i> New Derived</button> </div> </div> </div> </div> + <div ng-if="availableLookupTables.indexOf(newDimension.table)!=-1"> + <div class="row"> + <label class="control-label col-xs-12 col-sm-3 no-padding-right font-color-default"> + <b>Type</b> + </label> + <div class="col-xs-12 col-sm-6"> + <label> + <input type="radio" ng-model="newDimension.normal" value="true" > Normal + </label> + <label> + <input type="radio" ng-model="newDimension.normal" value="false" > Derived + </label> + </div> + </div> + </div> </div> </div> </ng-form> @@ -221,7 +218,7 @@ <ul class="list-unstyled columns-region"> <!--FactTable--> <div ng-repeat="table in availableFactTables track by $index" class="panel-default " > - <h4>{{table}}[FactTable]</h4> + <h4>{{table}} [FactTable]</h4> <table class="table table-striped table-hover ng-scope"> <tr > <td class="col-xs-2"><label><input type="checkbox" ng-model="selectedColumns[table].all" ng-change="autoChangeAll(table)">Select All</label></td> @@ -247,7 +244,7 @@ </div> <!--LookUp Table--> <div ng-repeat="table in availableLookupTables track by $index" class="panel-default" > - <h4>{{table}}[LookupTable]</h4> + <h4>{{table}} [LookupTable]</h4> <table class="table table-striped table-hover ng-scope"> <tr class="row" > <td class="col-xs-2"><label><input type="checkbox" ng-model="selectedColumns[table].all" ng-change="autoChangeAll(table)">Select All</label></td> http://git-wip-us.apache.org/repos/asf/kylin/blob/878107e3/webapp/app/partials/cubeDesigner/measures.html ---------------------------------------------------------------------- diff --git a/webapp/app/partials/cubeDesigner/measures.html b/webapp/app/partials/cubeDesigner/measures.html index 492220c..9eb04c3 100755 --- a/webapp/app/partials/cubeDesigner/measures.html +++ b/webapp/app/partials/cubeDesigner/measures.html @@ -239,10 +239,10 @@ class="table table-hover table-bordered list"> <thead> <tr> - <th>ID</th> - <th class="col-xs-5" >Column</th> - <th>Encoding</th> - <th>Length</th> + <th style="width:40px;">ID</th> + <th style="width:300px;">Column</th> + <th style="width:140px;">Encoding</th> + <th >Length</th> <th ng-if="state.mode=='edit'"></th> </tr> </thead> @@ -258,7 +258,7 @@ </td> <!--Column Name --> <td> - <select class="form-control col-xs-12" chosen ng-if="nextPara.type !== 'constant'" required + <select class="form-control" chosen ng-if="nextPara.type !== 'constant'" required ng-model="groupby_column.name" ng-options="column as column for column in getAllModelDimColumns()" > <option value="">--Select A Column--</option> @@ -266,25 +266,22 @@ </td> <!--Column Encoding --> <td> - <select ng-if="state.mode=='edit'" style="width:180px;" + <select ng-if="state.mode=='edit'" chosen ng-model="groupby_column.encoding" ng-change="refreshGroupBy(convertedColumns,$index,groupby_column)" ng-options="dt.value as dt.name for dt in getEncodings(groupby_column.name)"> <option value=""></option> </select> - <span ng-if="state.mode=='view'">{{groupby_column.encoding}}</span> - </td> <td> <!--Column Length --> <input type="text" class="form-control" placeholder="Column Length.." ng-if="state.mode=='edit'" tooltip="group by column length.." tooltip-trigger="focus" + ng-disabled="groupby_column.encoding.indexOf('dict')>=0||groupby_column.encoding.indexOf('date')>=0||groupby_column.encoding.indexOf('time')>=0" ng-change="refreshGroupBy(convertedColumns,$index,groupby_column);" - ng-disabled="groupby_column.encoding=='dict'||groupby_column.encoding=='date'||groupby_column.encoding=='time'" ng-model="groupby_column.valueLength" class="form-control"> - <small class="help-block red" ng-show="state.mode=='edit' && groupby_column.encoding=='int' && (groupby_column.valueLength>8 || groupby_column.valueLength<1)">int encoding column length should between 1 and 8</small> - <span ng-if="state.mode=='view'">{{groupby_column.valueLength}}</span> + <small class="help-block red" ng-show="state.mode=='edit' && groupby_column.encoding.indexOf('integer')>=0 && (groupby_column.valueLength>8 || groupby_column.valueLength<1)">integer encoding column length should between 1 and 8</small> </td> <td ng-if="state.mode=='edit'"> <button class="btn btn-xs btn-info" http://git-wip-us.apache.org/repos/asf/kylin/blob/878107e3/webapp/app/partials/modelDesigner/data_model.html ---------------------------------------------------------------------- diff --git a/webapp/app/partials/modelDesigner/data_model.html b/webapp/app/partials/modelDesigner/data_model.html index 97d3c51..6e66e91 100644 --- a/webapp/app/partials/modelDesigner/data_model.html +++ b/webapp/app/partials/modelDesigner/data_model.html @@ -126,7 +126,7 @@ <div class="row"> <div class="col-xs-9"> <div> - <select chosen ng-model="newLookup.joinTable" style="width: 45%" + <select chosen ng-model="newLookup.joinTable" class="col-sm-4" ng-options="table as table for table in aliasName" name="table_name" ng-disabled="lookupState.editing" ng-required="true" @@ -134,20 +134,21 @@ class="chosen-select"> <option value=""> -- Select Join Table -- </option> </select> - <small class="help-block" ng-show="lookup_form.table_name.$invalid && (lookup_form.table_name.$dirty||forms.model_info_form.$submitted)">Table name required</small> - <b> </b> - <select chosen ng-model="newLookup.table" style="width: 45%" - ng-options="table.name as VdmUtil.removeNameSpace(table.name) for table in tableModel.selectProjectTables|filter:filterNotRoot" + <!--Join Type--> + <select class="form-control" chosen ng-model="newLookup.join.type" style="width:120px;" + ng-options="joinType.value as joinType.name for joinType in cubeConfig.joinTypes"> + <option value=""></option> + </select> + <label class="control-label font-color-default"><b>Join</b></label> + <select chosen ng-model="newLookup.table" class="col-sm-4" + ng-options="table.name as VdmUtil.removeNameSpace(table.name) for table in tableModel.selectProjectTables" name="table_name" ng-disabled="lookupState.editing" ng-required="true" ng-change="changeJoinTable()" data-placeholder="Join Table Name" class="chosen-select"> <option value=""> -- Select Join Table -- </option> </select> - <small class="help-block" ng-show="lookup_form.table_name.$invalid && (lookup_form.table_name.$dirty||forms.model_info_form.$submitted)">Table name required</small> - </div> - <div class="space-4"></div> </div> </div> </div> @@ -161,18 +162,7 @@ </div> </div> </div> - <!--Join Type and Columns--> - <div class="form-group"> - <div class="row"> - <label class="col-sm-3 control-label font-color-default"><b>Join Type</b></label> - <div class="col-sm-6"> - <select class="form-control" chosen ng-model="newLookup.join.type" - ng-options="joinType.value as joinType.name for joinType in cubeConfig.joinTypes"> - <option value=""></option> - </select> - </div> - </div> - </div> + <!--Table Type--> <div class="form-group"> <div class="row"> <label class="col-sm-3 control-label font-color-default"><b>Table Type</b></label> @@ -233,8 +223,8 @@ <div class="row"> <div class="col-xs-12"> <ol class="text-info"> - <li>Pick up lookup table at first</li> - <li>Specify join relationship between fact table and chosen lookup table.</li> + <li>Pick up a table joins another table that already exist.</li> + <li>Specify join relationship between two tables.</li> <li>Join Type have to be same as will be used in query</li> </ol> </div> http://git-wip-us.apache.org/repos/asf/kylin/blob/878107e3/webapp/app/partials/modelDesigner/model_measures.html ---------------------------------------------------------------------- diff --git a/webapp/app/partials/modelDesigner/model_measures.html b/webapp/app/partials/modelDesigner/model_measures.html index f34e3fb..271c04f 100644 --- a/webapp/app/partials/modelDesigner/model_measures.html +++ b/webapp/app/partials/modelDesigner/model_measures.html @@ -67,7 +67,7 @@ ng-model="selectedFactTables[table]" multiple> <ui-select-match placeholder="Select Column...">{{$item.name}}</ui-select-match> <ui-select-choices - repeat="table+'.'+measure.name as measure in getColumnsByAlias(table) | filter:$select.search"> + repeat="table+'.'+measure.name as measure in getColumnsByAlias(table) | filter:$select.search|inDimNotInMea:table:modelsManager.selectedModel.dimensions"> {{measure.name}} </ui-select-choices> </ui-select>