You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by zh...@apache.org on 2016/05/10 07:37:58 UTC
kylin git commit: KYLIN-1487 attach a hyperlink to introduce new
aggregation group
Repository: kylin
Updated Branches:
refs/heads/master d83a32888 -> 32bb2e41e
KYLIN-1487 attach a hyperlink to introduce new aggregation group
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/32bb2e41
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/32bb2e41
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/32bb2e41
Branch: refs/heads/master
Commit: 32bb2e41ee5995be92107fc9f669f68cd8d80844
Parents: d83a328
Author: Jason <ji...@163.com>
Authored: Tue May 10 15:37:21 2016 +0800
Committer: Jason <ji...@163.com>
Committed: Tue May 10 15:37:21 2016 +0800
----------------------------------------------------------------------
.../cubeDesigner/advanced_settings.html | 571 ++++++++++---------
1 file changed, 293 insertions(+), 278 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kylin/blob/32bb2e41/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 b6d710e..20cde06 100755
--- a/webapp/app/partials/cubeDesigner/advanced_settings.html
+++ b/webapp/app/partials/cubeDesigner/advanced_settings.html
@@ -17,290 +17,305 @@
-->
<div ng-controller="CubeAdvanceSettingCtrl">
- <ng-form name="forms.cube_setting_form">
- <div>
-
-
- <div class="form-group">
- <h4 style="margin-left:42px">Aggregation Groups</h4>
- <table style="margin-left:42px; width:92%"
- ng-if="cubeMetaFrame.aggregation_groups.length > 0"
- class="table table-hover list">
- <tr class="row">
- <th class="col-xs-1">ID</th>
- <th class="col-xs-11">Aggregation Groups</th>
- <th ng-if="state.mode=='edit'" class="col-xs-1"></th>
- </tr>
-
- <tr ng-repeat="aggregation_group in cubeMetaFrame.aggregation_groups track by $index" ng-init="rowIndex = $index" class="row">
- <td class="col-xs-1">
- <!-- ID -->
- <b>{{($index + 1)}}</b>
- </td>
- <td class="col-xs-11">
- <table class="table">
- <tr class="row">
- <td class="col-xs-3">
- Includes
- </td>
- <td class="col-xs-8">
- <!-- Dimensions -->
-
- <ui-select
- autofocus="true"
- close-on-select="false"
- on-select="refreshAggregationGroup(cubeMetaFrame.aggregation_groups, rowIndex, aggregation_group)"
- on-remove="refreshAggregationGroup(cubeMetaFrame.aggregation_groups, rowIndex, aggregation_group)"
- ng-if="state.mode=='edit'" style="width: 100%" multiple ng-model="aggregation_group.includes">
- <ui-select-match placeholder="Select Column...">{{$item.column}}</ui-select-match>
- <ui-select-choices
- repeat="rowkey_column.column as rowkey_column in cubeMetaFrame.rowkey.rowkey_columns | filter:$select.search">
- {{rowkey_column.column}}
- </ui-select-choices>
- </ui-select>
-
- <p ng-if="state.mode=='view'">
- {{aggregation_group.includes}}</p>
- </td>
- <td class="col-xs-1">
- </td>
- </tr>
- <tr class="row">
- <td class="col-xs-3">
- Mandatory Dimensions
- </td>
- <td class="col-xs-8">
- <ui-select
- close-on-select="false"
- autofocus="true"
- on-select="refreshAggregationGroup(cubeMetaFrame.aggregation_groups, rowIndex, aggregation_group)"
- on-remove="refreshAggregationGroup(cubeMetaFrame.aggregation_groups, rowIndex, aggregation_group)"
- ng-if="state.mode=='edit'" style="width: 100%" multiple ng-model="aggregation_group.select_rule.mandatory_dims">
- <ui-select-match placeholder="Select Column...">{{$item}}</ui-select-match>
- <ui-select-choices
- repeat="column in aggregation_group.includes | filter:$select.search">
- {{column}}
- </ui-select-choices>
- </ui-select>
-
- <p ng-if="state.mode=='view'">
- {{aggregation_group.select_rule.mandatory_dims}}</p>
- </td>
- <td class="col-xs-1">
- </td>
- </tr>
-
-
- <tr class="row">
- <td class="col-xs-3">
- Hierarchy Dimensions
- </td>
- <td class="col-xs-9">
- <table class="table">
- <tr class="row" ng-repeat="hierarchyDims in aggregation_group.select_rule.hierarchy_dims track by $index">
- <td class="col-xs-10">
- <ui-select
- close-on-select="false"
- autofocus="true"
- on-select="refreshAggregationHierarchy(cubeMetaFrame.aggregation_groups, rowIndex, aggregation_group,$index,hierarchyDims)"
- on-remove="refreshAggregationHierarchy(cubeMetaFrame.aggregation_groups, rowIndex, aggregation_group,$index,hierarchyDims)"
- ng-if="state.mode=='edit'" style="width: 100%" multiple ng-model="hierarchyDims">
- <ui-select-match placeholder="Select Column...">{{$item}}</ui-select-match>
- <ui-select-choices
- repeat="column in aggregation_group.includes | filter:$select.search">
- {{column}}
- </ui-select-choices>
- </ui-select>
- <p ng-if="state.mode=='view'">
- {{hierarchyDims}}</p>
-
- </td>
- <td class="col-xs-2">
- <button class="btn btn-sm btn-info"
- ng-click="removeHierarchy(aggregation_group,hierarchyDims)"
- ng-show="state.mode=='edit'"><i class="fa fa-minus"></i>
- </button>
- </td>
- </tr>
-
- <tr class="row">
- <td class="col-xs-12">
- <button class="btn btn-sm btn-info"
- ng-click="addNewHierarchy(aggregation_group)" ng-show="state.mode=='edit'">New Hierarchy<i class="fa fa-plus"></i>
- </button>
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
-
-
- <tr class="row">
- <td class="col-xs-3">
- Joint Dimensions
- </td>
- <td class="col-xs-9">
- <table class="table">
- <tr class="row" ng-repeat="jointDims in aggregation_group.select_rule.joint_dims track by $index">
- <td class="col-xs-10">
- <!-- Dimensions -->
- <ui-select
- close-on-select="false"
- autofocus="true"
- on-select="refreshAggregationJoint(cubeMetaFrame.aggregation_groups, rowIndex, aggregation_group,$index,jointDims)"
- on-remove="refreshAggregationJoint(cubeMetaFrame.aggregation_groups, rowIndex, aggregation_group,$index,jointDims)"
- ng-if="state.mode=='edit'" style="width: 100%" multiple ng-model="jointDims">
- <ui-select-match placeholder="Select Column...">{{$item}}</ui-select-match>
- <ui-select-choices
- repeat="column in aggregation_group.includes | filter:$select.search">
- {{column}}
- </ui-select-choices>
- </ui-select>
- <p ng-if="state.mode=='view'">
- {{jointDims}}</p>
- </td>
- <td class="col-xs-2">
- <button class="btn btn-sm btn-info"
- ng-click="removeJointDims(aggregation_group,jointDims)"
- ng-show="state.mode=='edit'"><i class="fa fa-minus"></i>
- </button>
- </td>
- </tr>
-
- <tr class="row">
- <td class="col-xs-12">
- <button class="btn btn-sm btn-info"
- ng-click="addNewJoint(aggregation_group)" ng-show="state.mode=='edit'">New Joint<i class="fa fa-plus"></i>
- </button>
- </td>
- </tr>
- </table>
-
- </td>
- </tr>
- </table>
-
- </td>
- <td ng-if="state.mode=='edit'" class="col-xs-1">
- <button class="btn btn-xs btn-info"
- ng-click="removeElement(cubeMetaFrame.aggregation_groups, aggregation_group)"><i
- class="fa fa-minus"></i>
- </button>
- </td>
- </tr>
- </table>
-
- <button class="btn btn-sm btn-info" style="margin-left:42px" ng-click="addNewAggregationGroup()"
- ng-show="state.mode=='edit'">New Aggregation Group<i class="fa fa-plus"></i>
- </button>
-
-
- </div>
+ <div>
+ <ng-form name="forms.cube_setting_form">
+ <div>
+
+
+ <div class="form-group">
+ <h4 style="margin-left:42px">Aggregation Groups</h4>
+ <table style="margin-left:42px; width:92%"
+ ng-if="cubeMetaFrame.aggregation_groups.length > 0"
+ class="table table-hover list">
+ <tr class="row">
+ <th class="col-xs-1">ID</th>
+ <th class="col-xs-11">Aggregation Groups</th>
+ <th ng-if="state.mode=='edit'" class="col-xs-1"></th>
+ </tr>
+
+ <tr ng-repeat="aggregation_group in cubeMetaFrame.aggregation_groups track by $index" ng-init="rowIndex = $index" class="row">
+ <td class="col-xs-1">
+ <!-- ID -->
+ <b>{{($index + 1)}}</b>
+ </td>
+ <td class="col-xs-11">
+ <table class="table">
+ <tr class="row">
+ <td class="col-xs-3">
+ Includes
+ </td>
+ <td class="col-xs-8">
+ <!-- Dimensions -->
+
+ <ui-select
+ autofocus="true"
+ close-on-select="false"
+ on-select="refreshAggregationGroup(cubeMetaFrame.aggregation_groups, rowIndex, aggregation_group)"
+ on-remove="refreshAggregationGroup(cubeMetaFrame.aggregation_groups, rowIndex, aggregation_group)"
+ ng-if="state.mode=='edit'" style="width: 100%" multiple ng-model="aggregation_group.includes">
+ <ui-select-match placeholder="Select Column...">{{$item.column}}</ui-select-match>
+ <ui-select-choices
+ repeat="rowkey_column.column as rowkey_column in cubeMetaFrame.rowkey.rowkey_columns | filter:$select.search">
+ {{rowkey_column.column}}
+ </ui-select-choices>
+ </ui-select>
+
+ <p ng-if="state.mode=='view'">
+ {{aggregation_group.includes}}</p>
+ </td>
+ <td class="col-xs-1">
+ </td>
+ </tr>
+ <tr class="row">
+ <td class="col-xs-3">
+ Mandatory Dimensions
+ </td>
+ <td class="col-xs-8">
+ <ui-select
+ close-on-select="false"
+ autofocus="true"
+ on-select="refreshAggregationGroup(cubeMetaFrame.aggregation_groups, rowIndex, aggregation_group)"
+ on-remove="refreshAggregationGroup(cubeMetaFrame.aggregation_groups, rowIndex, aggregation_group)"
+ ng-if="state.mode=='edit'" style="width: 100%" multiple ng-model="aggregation_group.select_rule.mandatory_dims">
+ <ui-select-match placeholder="Select Column...">{{$item}}</ui-select-match>
+ <ui-select-choices
+ repeat="column in aggregation_group.includes | filter:$select.search">
+ {{column}}
+ </ui-select-choices>
+ </ui-select>
+
+ <p ng-if="state.mode=='view'">
+ {{aggregation_group.select_rule.mandatory_dims}}</p>
+ </td>
+ <td class="col-xs-1">
+ </td>
+ </tr>
+
+
+ <tr class="row">
+ <td class="col-xs-3">
+ Hierarchy Dimensions
+ </td>
+ <td class="col-xs-9">
+ <table class="table">
+ <tr class="row" ng-repeat="hierarchyDims in aggregation_group.select_rule.hierarchy_dims track by $index">
+ <td class="col-xs-10">
+ <ui-select
+ close-on-select="false"
+ autofocus="true"
+ on-select="refreshAggregationHierarchy(cubeMetaFrame.aggregation_groups, rowIndex, aggregation_group,$index,hierarchyDims)"
+ on-remove="refreshAggregationHierarchy(cubeMetaFrame.aggregation_groups, rowIndex, aggregation_group,$index,hierarchyDims)"
+ ng-if="state.mode=='edit'" style="width: 100%" multiple ng-model="hierarchyDims">
+ <ui-select-match placeholder="Select Column...">{{$item}}</ui-select-match>
+ <ui-select-choices
+ repeat="column in aggregation_group.includes | filter:$select.search">
+ {{column}}
+ </ui-select-choices>
+ </ui-select>
+ <p ng-if="state.mode=='view'">
+ {{hierarchyDims}}</p>
+
+ </td>
+ <td class="col-xs-2">
+ <button class="btn btn-sm btn-info"
+ ng-click="removeHierarchy(aggregation_group,hierarchyDims)"
+ ng-show="state.mode=='edit'"><i class="fa fa-minus"></i>
+ </button>
+ </td>
+ </tr>
+
+ <tr class="row">
+ <td class="col-xs-12">
+ <button class="btn btn-sm btn-info"
+ ng-click="addNewHierarchy(aggregation_group)" ng-show="state.mode=='edit'">New Hierarchy<i class="fa fa-plus"></i>
+ </button>
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+
+
+ <tr class="row">
+ <td class="col-xs-3">
+ Joint Dimensions
+ </td>
+ <td class="col-xs-9">
+ <table class="table">
+ <tr class="row" ng-repeat="jointDims in aggregation_group.select_rule.joint_dims track by $index">
+ <td class="col-xs-10">
+ <!-- Dimensions -->
+ <ui-select
+ close-on-select="false"
+ autofocus="true"
+ on-select="refreshAggregationJoint(cubeMetaFrame.aggregation_groups, rowIndex, aggregation_group,$index,jointDims)"
+ on-remove="refreshAggregationJoint(cubeMetaFrame.aggregation_groups, rowIndex, aggregation_group,$index,jointDims)"
+ ng-if="state.mode=='edit'" style="width: 100%" multiple ng-model="jointDims">
+ <ui-select-match placeholder="Select Column...">{{$item}}</ui-select-match>
+ <ui-select-choices
+ repeat="column in aggregation_group.includes | filter:$select.search">
+ {{column}}
+ </ui-select-choices>
+ </ui-select>
+ <p ng-if="state.mode=='view'">
+ {{jointDims}}</p>
+ </td>
+ <td class="col-xs-2">
+ <button class="btn btn-sm btn-info"
+ ng-click="removeJointDims(aggregation_group,jointDims)"
+ ng-show="state.mode=='edit'"><i class="fa fa-minus"></i>
+ </button>
+ </td>
+ </tr>
+
+ <tr class="row">
+ <td class="col-xs-12">
+ <button class="btn btn-sm btn-info"
+ ng-click="addNewJoint(aggregation_group)" ng-show="state.mode=='edit'">New Joint<i class="fa fa-plus"></i>
+ </button>
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ <td ng-if="state.mode=='edit'" class="col-xs-1">
+ <button class="btn btn-xs btn-info"
+ ng-click="removeElement(cubeMetaFrame.aggregation_groups, aggregation_group)"><i
+ class="fa fa-minus"></i>
+ </button>
+ </td>
+ </tr>
+ </table>
+
+ <button class="btn btn-sm btn-info" style="margin-left:42px" ng-click="addNewAggregationGroup()"
+ ng-show="state.mode=='edit'">New Aggregation Group<i class="fa fa-plus"></i>
+ </button>
+
+
+ </div>
+
+
+ <div class="form-group">
+ <h4 style="margin-left:42px">Rowkeys</h4>
+ <table style="margin-left:42px; width:92%"
+ ng-if="cubeMetaFrame.rowkey.rowkey_columns.length > 0"
+ class="table table-hover table-bordered list"
+ >
+ <thead>
+ <tr>
+ <th>ID</th>
+ <th style="width:200px;">Column</th>
+ <th>Encoding</th>
+ <th>Length</th>
+ <th>Shard By</th>
+ <th ng-if="state.mode=='edit'"></th>
+ </tr>
+ </thead>
+
+ <tbody ui-sortable="{update:resortRowkey()}" ng-model="convertedRowkeys">
+
+ <tr ng-repeat="rowkey_column in convertedRowkeys track by $index"
+ ng-class="state.mode=='edit'?'sort-item':''">
+
+ <td>
+ <!-- ID -->
+ <span class="ng-binding" ng-class="state.mode=='edit'?'badge':''">{{($index + 1)}}</span>
+ </td>
+ <td>
+ <!--Column Name -->
+ <input type="text" class="form-control" placeholder="Column Name.." ng-if="state.mode=='edit'"
+ ng-change="refreshRowKey(convertedRowkeys,$index,rowkey_column)"
+ tooltip="rowkey column name.." tooltip-trigger="focus"
+ ng-model="rowkey_column.column" class="form-control">
+
+ <span ng-if="state.mode=='view'">{{rowkey_column.column}}</span>
+ </td>
+ <td>
+ <select ng-if="state.mode=='edit'" style="width:180px;"
+ chosen ng-model="rowkey_column.encoding"
+ ng-change="refreshRowKey(convertedRowkeys,$index,rowkey_column);"
+ ng-options="dt as dt for dt in store.supportedEncoding">
+ <option value=""></option>
+ </select>
+ <span ng-if="state.mode=='view'">{{rowkey_column.encoding}}</span>
+
+ </td>
+ <td>
+ <!--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'"
+ 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>
+ <span ng-if="state.mode=='view'">{{rowkey_column.valueLength}}</span>
+ </td>
+
+ <td>
+ <select ng-if="state.mode=='edit'" style="width:180px;"
+ chosen ng-model="rowkey_column.isShardBy"
+ tooltip="false by default"
+ data-placeholder="false by default"
+ ng-change="refreshRowKey(convertedRowkeys,$index,rowkey_column,true)"
+ ng-options="dt as dt for dt in cubeConfig.rowKeyShardOptions">
+ <option value=""></option>
+ </select>
+ <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-click="removeRowkey(convertedRowkeys, $index,rowkey_column)"><i
+ class="fa fa-minus"></i>
+ </button>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <button class="btn btn-sm btn-info" style="margin-left:42px"
+ ng-click="addNewRowkeyColumn()" ng-show="state.mode=='edit'">New Rowkey Column<i class="fa fa-plus"></i>
+ </button>
+ </div>
+
+ <div class="form-group">
+ <h4 style="margin-left:42px;border-bottom:1px solid #ddd;padding-bottom:10px;">Region</h4>
+ <ng-form class="form-horizontal">
+ <div class="form-group form-group-lg">
+ <label class="col-sm-2 control-label" for="regionsize">Region Size</label>
+ <div class="col-sm-9" ng-style='{"padding-top":(state.mode=="edit"?0:7)+"px"}'>
+ <input type="text" id="regionsize" class="form-control ng-scope ng-pristine ng-valid"
+ placeholder="input a number between 0.01 and 100 as region size" ng-model="cubeMetaFrame.region_size"
+ ng-if="state.mode=='edit'">
+ <small class="help-block text-red" ng-show="state.mode=='edit'">region size should between 0.01 and 100 (G)</small>
+ <span ng-if="state.mode=='view'&&cubeMetaFrame.region_size">{{cubeMetaFrame.region_size}} (G)</span>
+ </div>
+ </div>
+ </ng-form>
+ </div>
- <div class="form-group">
- <h4 style="margin-left:42px">Rowkeys</h4>
- <table style="margin-left:42px; width:92%"
- ng-if="cubeMetaFrame.rowkey.rowkey_columns.length > 0"
- class="table table-hover table-bordered list"
- >
- <thead>
- <tr>
- <th>ID</th>
- <th style="width:200px;">Column</th>
- <th>Encoding</th>
- <th>Length</th>
- <th>Shard By</th>
- <th ng-if="state.mode=='edit'"></th>
- </tr>
- </thead>
-
- <tbody ui-sortable="{update:resortRowkey()}" ng-model="convertedRowkeys">
-
- <tr ng-repeat="rowkey_column in convertedRowkeys track by $index"
- ng-class="state.mode=='edit'?'sort-item':''">
-
- <td>
- <!-- ID -->
- <span class="ng-binding" ng-class="state.mode=='edit'?'badge':''">{{($index + 1)}}</span>
- </td>
- <td>
- <!--Column Name -->
- <input type="text" class="form-control" placeholder="Column Name.." ng-if="state.mode=='edit'"
- ng-change="refreshRowKey(convertedRowkeys,$index,rowkey_column)"
- tooltip="rowkey column name.." tooltip-trigger="focus"
- ng-model="rowkey_column.column" class="form-control">
-
- <span ng-if="state.mode=='view'">{{rowkey_column.column}}</span>
- </td>
- <td>
- <select ng-if="state.mode=='edit'" style="width:180px;"
- chosen ng-model="rowkey_column.encoding"
- ng-change="refreshRowKey(convertedRowkeys,$index,rowkey_column);"
- ng-options="dt as dt for dt in store.supportedEncoding">
- <option value=""></option>
- </select>
- <span ng-if="state.mode=='view'">{{rowkey_column.encoding}}</span>
-
- </td>
- <td>
- <!--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'"
- 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>
- <span ng-if="state.mode=='view'">{{rowkey_column.valueLength}}</span>
- </td>
-
- <td>
- <select ng-if="state.mode=='edit'" style="width:180px;"
- chosen ng-model="rowkey_column.isShardBy"
- tooltip="false by default"
- data-placeholder="false by default"
- ng-change="refreshRowKey(convertedRowkeys,$index,rowkey_column,true)"
- ng-options="dt as dt for dt in cubeConfig.rowKeyShardOptions">
- <option value=""></option>
- </select>
- <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-click="removeRowkey(convertedRowkeys, $index,rowkey_column)"><i
- class="fa fa-minus"></i>
- </button>
- </td>
- </tr>
- </tbody>
- </table>
-
- <button class="btn btn-sm btn-info" style="margin-left:42px"
- ng-click="addNewRowkeyColumn()" ng-show="state.mode=='edit'">New Rowkey Column<i class="fa fa-plus"></i>
- </button>
</div>
- <div class="form-group">
- <h4 style="margin-left:42px;border-bottom:1px solid #ddd;padding-bottom:10px;">Region</h4>
- <ng-form class="form-horizontal">
- <div class="form-group form-group-lg">
- <label class="col-sm-2 control-label" for="regionsize">Region Size</label>
- <div class="col-sm-9">
- <div class="col-sm-9" ng-style='{"padding-top":(state.mode=="edit"?0:7)+"px"}'>
- <input type="text" id="regionsize" class="form-control ng-scope ng-pristine ng-valid"
- placeholder="input a number between 0.01 and 100 as region size" ng-model="cubeMetaFrame.region_size"
- ng-if="state.mode=='edit'">
- <small class="help-block text-red" ng-show="state.mode=='edit'">region size should between 0.01 and 100 (G)</small>
- <span ng-if="state.mode=='view'&&cubeMetaFrame.region_size">{{cubeMetaFrame.region_size}} (G)</span>
+ <div class="box box-solid">
+ <div class="box-body">
+ <div class="row">
+ <div class="col-xs-12">
+ <ul>
+ <li>Visit <a href="http://kylin.apache.org/blog/2016/02/18/new-aggregation-group" target="_blank">aggregation group</a> for more about aggregation group.</li>
+ </ul>
</div>
</div>
- </ng-form>
+ </div>
</div>
+ </ng-form>
+ </div>
- </div>
- </ng-form>
</div>