您的位置:首页 > 其它

开始→运行→命令(集锦)

2010-03-07 10:00 253 查看
不废话,直接上代码,请搜索 apply 为什需要在标准服务上掉呢。。。。

var app = angular.module('MyApp', ['ngResource','ngRoute','ngGrid']).config(function ($routeProvider) {
$routeProvider
.when('/store', {
templateUrl: 'page/store.html',
controller: ''
})
.when('/schema', {
templateUrl: 'page/schema.html',
controller: ''
})
.when('/storeinfo', {
templateUrl: 'page/storeinfo.html',
controller: ''
})
});

var spacename ='';

app.controller('storeManage', function ($scope) {

$scope.storeView = true;
$scope.schemaView = false;
$scope.space = {name:"spaces",realname:""};
$scope.spaces = spaceModel;

$scope.$on("storeChange",
function (event, treeNode) {
$scope.storeView = true;
$scope.schemaView = false;
$scope.$broadcast("storeChangeFromParent", treeNode);
});

$scope.$on("schemaChange",
function(event,treeNode){
$scope.storeView = false;
$scope.schemaView = true;
$scope.$broadcast("schemaChangeFromParent",treeNode);
});

$scope.selectSpace=function(){
$("#spacemodal").modal();
}

$scope.saveSpace = function(){
$scope.space = $scope.tempSpace;
spacename = $scope.space.name;
}

$scope.cancelSpace = function(){
$scope.tempSpace = {};
}

});

app.controller('storeTreeController', function ($scope) {

});

app.controller('storeEdit',function($scope,$http,storeInstance,setMetaInstance,smeDeploySet,smeCreateSet,spaceSchema,StatusesConstant){

console.log("store controller init..........");

$scope.store = storeModel;
$scope.indexInfo = indexModel;
$scope.set = setModel;
$scope.listElement = listElementModel;
$scope.spaceSchemaList = spaceSchemaListModel;
$scope.isBaseSchema = false;

$scope.createStore = false;
$scope.createSetMeta = false;

$scope.firstShow = true;
$scope.secondShow = false;

console.log("show initial...............");

$scope.title = "查看数据集";

$scope.statuses = StatusesConstant;

$("#schematree").hide();
$("#storetree").show();

$("#storePanel").show();
$("#schemaPanel").hide();

$scope.$on("storeChangeFromParent", function (event, treeNode) {
if(treeNode.isParent == true){

$scope.title = "查看store";
$scope.firstShow = true;
$scope.secondShow = false;
$("#storePanel").show();
$("#schemaPanel").hide();

$scope.store = createStoreModel();
$scope.set = createSetModel();

$scope.$apply(
storeInstance.get({setName:treeNode.name}).$promise.then(
function(resolve){
$scope.store = resolve;

if(typeof($scope.store.entitySetName) == "undefined"){
alert("获取store出错");
}else{
setMetaInstance.get({setMetaName:treeNode.name}).$promise.then(
function(resolve){
$scope.set = resolve;
if(typeof($scope.set.setName)=="undefined"){
$scope.set = createSetModel();
$scope.set.setName = $scope.store.entitySetName;
$scope.createSetMeta = true;
}
},
function(reject){console.log("get SetMetadata failed"+reject)}
);
}
},
function(reject){console.log("get store failed")}
));

$scope.set.appSpaceId = $scope.space.realname;

$(".store_info").each(function(){
this.disabled = true;
});
}
});

$scope.createStore = function(){
$scope.store = createStoreModel();
$scope.set = createSetModel();

$scope.store.appSpaceId = $scope.space.realname;
$scope.store.entitySetName = $scope.space.realname+".";

$("input,select,textarea").each(function(){
this.disabled = false;
});
$scope.gridOptions.enableCellEdit = true;

$scope.isCreate = true;

$scope.firstShow = false;
$scope.secondShow = true;

$scope.title = "创建store";
}

$scope.cancelStore = function(){
$scope.firstShow = true;
$scope.secondShow = false;

$(".store_info").each(function(){
this.disabled = true;
});
$scope.title = "查看store";

}

$scope.createStoreTable = function(){
smeDeploySet.deploy(
{spaceName:$scope.space.realname},
function(data){
console.log("deploy success");
},
function(){
console.log("deploy failed");
});
}

$scope.editStore = function(){
if($scope.store.entitySetName == ''){
alert("请先选择一个store");
return;
}

$(".ex_store_info").each(function(){
this.disabled = false;
});
$scope.isCreate = false;
$scope.firstShow = false;
$scope.secondShow = true;
$scope.title = "编辑store";

$scope.firstShow = false;
$scope.secondShow = true;

$scope.gridOptions.enableCellEdit = true;
if($scope.set.entitySchemaList.length ==0){
$scope.createSetMeta = true;
}
};

$scope.saveStore = function(){

$scope.set.setName = $scope.store.entitySetName;
$scope.set.appSpaceId = $scope.space.realname;

if($scope.isCreate == true){
smeCreateSet.save({setName:$scope.store.entitySetName},$scope.store)
if(typeof($scope.set.entitySchemaList)!="undefined" && $scope.set.entitySchemaList.length > 0){
setMetaInstance.put({setMetaName:$scope.set.setName},$scope.set)
}
}
else{
storeInstance.save({setName:$scope.store.entitySetName},$scope.store);
if(typeof($scope.set.entitySchemaList)!="undefined" && $scope.set.entitySchemaList.length > 0 ){

if($scope.createSetMeta == true){
setMetaInstance.put({setMetaName:$scope.set.setName},$scope.set);
$scope.createSetMeta = false;
}else
setMetaInstance.save({setMetaName:$scope.set.setName},$scope.set);
}
}

$scope.firstShow = true;
$scope.secondShow = false;

$scope.createSetMeta = false;

$(".store_info").each(function(){
this.disabled = true;
});

$scope.title = "查看数据集";
}

$scope.createIndex = function(){
$("#input_index").show();
}

$scope.quitIndex = function(){
$scope.indexInfo = '';
$("#input_index").hide();
}

$scope.confirmIndex = function(){
$scope.store.index.push($scope.indexInfo);
$scope.indexInfo = null;
$("#input_index").hide();
}

$scope.delIndex = function(index){
$scope.store.index.splice(index,1);
};

$scope.createSchema = function(){
$("#input_schema").show();

var URL = "/MDE/DSE/EntitySchema?$filter=appSpace eq \'"+$scope.space.realname+"\'";
$http({
url:URL,
method:"GET"
}).success(function(data){
$scope.spaceSchemaList = data;
});
}

$scope.confirmSchema = function(){
var flag = true;
var tempList = $scope.set.entitySchemaList;

if(tempList.length > 1){
for(var i=0;i<tempList.length;i++){
if(tempList[i].schemaName == $scope.schemaName){
flag = false;
alert("schema already exist");
}
}
}

if(flag==true){

if($scope.isBaseSchema == "true"){
$scope.isBaseSchema = true;
}else{
$scope.isBaseSchema = false;
}
$scope.set.entitySchemaList.push({
id: $scope.set.entitySchemaList.length+1,
schemaName : $scope.schemaName,
isBaseSchema:$scope.isBaseSchema
}
);
$("#input_schema").hide();
}

}

$scope.quitSchema = function(){
$scope.listElement = null;
$("#input_schema").hide();
}

$scope.delSchema = function(index){
$scope.set.entitySchemaList.splice(index,1);
}

$scope.pkeyTypes =dataTypeModel;
$scope.storeTypes=storeTypeModel;

$scope.markTypes = markTypeModel;
$scope.indexTypes = dataTypeModel;

//    $scope.testData=[{col1:"fuck1",col2:"fuck2",col3:2,col4:"fuck4",col5:"fuck5"},
//                     {col1:"fuck12",col2:"fuck22",col3:1,col4:"fuck24",col5:"fuck25"}];

$scope.editDFV = function(){
console.log("edit dfv");
}

$scope.deleteDFV = function(row){
$scope.store.defaultValues.remove(row.rowIndex);
}

$scope.selectCell ="<select ng-model='COL_FIELD' ng-class='\'colt\' + col.index'   ng-input='COL_FIELD' ng-options='id as name for (id, name) in statuses' ng-blur='updateEntity(row)'></select>";
$scope.buttonCell = '<button  class="btn btn-link" ng-click="deleteDFV(row)" ng-show="secondShow">删除</button>';
$scope.gridOptions = {
data: 'store.defaultValues',
enableCellEdit: true,
columnDefs: [{field: "name",displayName:"名称"},
{field:"dType",displayName:"类型", editableCellTemplate: $scope.selectCell ,cellFilter: 'mapStatus'},
{field:"defaultValue",displayName:"默认值"},
{field:"evalExp",displayName:"表达式"},
{displayName:"操作",cellTemplate:$scope.buttonCell, enableCellEdit: false}
]
};

$scope.createDefaultValue = function(){
//         if(isNaN($scope.store.defaultValues))
$scope.store.defaultValues.unshift({name:null,dType:1,defaultValue:null,evalExp:null});

}

$scope.updateEntity = function(row) {
console.log("row",row);

};

$scope.displayDefaultValue= function(row){
console.log($scope.store.defaultValues);
}
});

app.directive('ngBlur', function () {
return function (scope, elem, attrs) {
elem.bind('blur', function () {
scope.$apply(attrs.ngBlur);
});
};
});

app.filter('mapStatus', function( StatusesConstant ) {
return function(input) {
if (StatusesConstant[input]) {
return StatusesConstant[input];
} else {
return 'unknown';
}
};
})

app.factory( 'StatusesConstant', function() {
return {
1: 'preset',
2: 'evaljs'
};
});

Array.prototype.remove=function(dx)
{
if(isNaN(dx)||dx>this.length){return false;}
for(var i=0,n=0;i<this.length;i++)
{
if(this[i]!=this[dx])
{
this[n++]=this[i]
}
}
this.length-=1
}

app.factory('storeInstance',['$http','$resource',function($http,$resource){
return $resource('/MDE/DSE/EntitySet(\':setName\')',
{setName:'@setName'},
{create:{method:'PUT'},params:{},isArray:false}
) ;
}]);

app.factory('setMetaInstance',function($http,$resource){
return $resource(
'/MDE/DSE/SetMetadata(\':setMetaName\')',
{setMetaName:'@setMetaName'},
{ put:{method:"PUT"}, params:{},isArray: false}
)
});

 

 

html

 

<div class="row">
<div class="col-md-3">
<div class="zTreeDemoBackground left" ng-controller="storeTreeController">
<ul storetree id="treeDemo" class="ztree" showIcon="showIconForTree"></ul>
</div>
</div>

<div ng-controller="storeEdit"  id="storePanel" ng-show="storeView">
<div class="col-md-6">
<h4>{{title}}</h4>
<div  class="panel panel-info" >
<div class="panel-heading ">
数据集管理
<button type="button" class="btn btn-primary btn-sm" ng-click="createStore()" ng-show="firstShow">新增</button>
<button type="button" class="btn btn-primary btn-sm" ng-click="editStore()" ng-show="firstShow" >修改</button>

<button type="button" class="btn btn-primary btn-sm" ng-click="saveStore()" ng-show="secondShow">保存</button>
<button type="button" class="btn btn-primary btn-sm" ng-click="cancelStore()" ng-show="secondShow" >取消</button>
<button type="button" class="btn btn-primary btn-sm"   ng-click="createStoreTable()" ng-show="firstShow">发布</button>

</div>

<div class="panel-body">
<div class="panel panel-info">
<div class="panel-heading">
数据集基础信息

</div>

<div class="form-horizontal panel-body "    style="padding-top: 40px;">

<div class="form-group " role="form" >
<label  class="col-md-2 control-label">数据集名称</label>
<div class=" col-md-4">

<input type="text" class="form-control store_info"  ng-model="store.entitySetName">
</div>

<label  class="col-md-2 control-label">AppSpaceId</label>
<div class="col-md-4">
<input type="text" class="form-control store_info"  ng-model="store.appSpaceId">
</div>
</div>

<div class="form-group">
<label  class="col-md-2 control-label">主键</label>
<div class="col-md-4">
<input type="text" class="form-control store_info ex_store_info"  ng-model="store.pKey">
</div>

<label  class="col-md-2 control-label">主键类型</label>
<div class="col-md-4">
<select ng-model="store.pkeyType" ng-options="o.id as o.name  for o in pkeyTypes" class="form-control store_info ex_store_info">
<option >-- 请选择 --</option>
</select>
</div>

</div>

<div class="form-group">
<label  class="col-md-2 control-label">存储类型</label>
<div class="col-md-4">
<select ng-model="store._storageType" ng-options="o.id as o.name  for o in storeTypes" class="form-control store_info ex_store_info">
<option >-- 请选择 --</option>
</select>
</div>
</div>

<div class="form-group">
<label  class="col-md-2 control-label">描述</label>
<div class="col-md-4">
<textarea class="form-control store_info ex_store_info"   ng-model="store.description"></textarea>
</div>
</div>
</div>

<div class="panel panel-info"  style="padding-top: 20px;">
<div class="panel-heading">
索引信息
<button type="button" class="btn btn-primary btn-sm" ng-click="createIndex()" ng-show="secondShow">新增索引</button>

</div><!-- panel-heading-->

<div class="panel-body"  >
<table class="table display_table" >
<col width="8%" />
<col width="15%" />
<col width="10%" />
<col width="15%" />
<col width="20%" />
<col width="20%" />
<col width="15%" />

<thead>
<tr>
<td>编号</td>
<td>索引名称</td>
<td>直接索引</td>
<td>markType</td>
<td>索引类型</td>
<td>表达式</td>
<td>   </td>
</tr>
</thead>
<tbody>
<tr id="input_index" style="display:none">
<td>
</td>
<td ><div><input type="text" ng-model="indexInfo.path" ></input></div></td>

<td ><div><input type="text" ng-model="indexInfo.direct" ></input></div></td>

<td ><select ng-model="indexInfo.markType " ng-options="o.id as o.name  for o in markTypes"  >
<option ></option>
</select>
</td>
<td >
<select ng-model="indexInfo.indexDataType" class="selectdatatype" ng-options="o.id as o.name  for o in indexTypes" >
<option ></option>
</select>
</td>

<td ><input type="text" ng-model="indexInfo.expression" ></input></td>
<td ><button type="button" class="btn btn-primary btn-sm"
ng-click=" confirmIndex()">确认</button>
<button type="button" class="btn btn-primary btn-sm"
ng-click="quitIndex()">取消</button>
</td>
</tr>
<tr ng-repeat="o in store.index">
<td>{{$index+1}}</td>
<td>{{o.path}}</td>
<td>{{o.direct}}</td>
<td ><select ng-model="o.markType" ng-options="o.id as o.name  for o in markTypes"  disabled="disabled">
<option ></option>
</select>
</td>
<td >
<select ng-model="o.indexDataType"  class="selectdatatype"  ng-options="o.id as o.name  for o in indexTypes" disabled="disabled">
<option ></option>
</select>
</td>

<td>{{o.expression}}</td>
<td>
<button type="button" class="btn btn-link btn-sm"  ng-show="secondShow" ng-click="delIndex($index)">删除</button>
</td>
</tr>
</tbody>
</table>
</div><!-- /.panel-body-->

</div><!--panel-->

<div class="panel panel-info" style="padding-top: 20px;" >
<div class="panel-heading">
默认值信息
<button type="button" class="btn btn-primary btn-sm" ng-click="createDefaultValue()" ng-show="secondShow">新增默认值</button>

</div>
<div>

</div>
<div class="panel-body">
<div class="gridStyle" ng-grid="gridOptions"></div>
</div>

</div>

</div>
</div>
</div><!--mid-panel-->
</div> <!--col-md-6-->

<div class="col-md-3"  ng-show="storeView">
<div class="panel panel-info"  >
<div class="panel-heading">
所含Schema
<button type="button" class="btn btn-primary btn-sm" ng-click="createSchema()" ng-show="secondShow">添加Schema</button>
</div>
<div class="panel-body">
<table class="table display_table">
<col width="10%" />
<col width="50%" />
<col width="20%" />
<col width="20%" />

<thead>
<tr>
<td> </td>
<td>schema名称</td>
<td>baseSchema</td>
<td>   </td>
</tr>
</thead>

<tr id="input_schema" style="display:none">
<td></td>
<td >
<select class="selectdatatype" ng-model="schemaName" >
<option ng-repeat = "o in spaceSchemaList">{{o.id}}</option>
</select>

</td>
<td>
<select ng-model="isBaseSchema">
<option  value="true">是</option>
<option  value="false">否</option>
</select>

</td>
<td ><button type="button" class="btn btn-link"
ng-click=" confirmSchema()">确认</button>
<button type="button" class="btn btn-link"
ng-click="quitSchema()">取消</button>
</td>
</tr>
<tr ng-repeat="o in set.entitySchemaList">
<td>{{$index+1}}</td>
<td>{{o.schemaName}}</td>
<td>{{o.isBaseSchema}}</td>
<td>
<button type="button" class="btn btn-link"  ng-click="delSchema($index)" ng-show="secondShow">删除</button>
</td>
</tr>

</table>

</div>
</div>
</div><!--right-bar-->
</div>

<div  ng-controller="schemaEdit" id = "schemaPanel" ng-show="schemaView" >

<div class="col-md-8">
<div class="panel panel-info">
<div class="panel-heading">
实体元数据

</div>
<div class="panel-body">
<div class="panel panel-info">
<div class="panel-heading">
基本信息
</div>

<div class="panel-body">

<div class="form-horizontal panel-body"    style="padding-top: 40px;">
<div class="form-group" >
<label  class="col-md-2 control-label">id</label>
<div class="col-md-4">
<input type="text" class="form-control schema_info"  ng-model="schema.id">
</div>

<label  class="col-md-2 control-label">AppSpaceId</label>
<div class="col-md-4">
<input type="text" class="form-control schema_info"  ng-model="schema.appSpaceId">
</div>
</div><!--form-group-->

<div class="form-group">
<label  class="col-md-2 control-label">实体集名称</label>
<div class="col-md-4">
<input type="text" class="form-control schema_info"  ng-model="schema.entitySetName">
</div>

<label  class="col-md-2 control-label">对象名</label>
<div class="col-md-4">
<input type="text" class="form-control schema_info"  ng-model="schema.entityName">
</div>
</div><!--form-group-->

<div class="form-group">
<label  class="col-md-2 control-label">版本</label>
<div class="col-md-4">
<input type="text" class="form-control schema_info"  ng-model="schema.version">
</div>
</div><!--form-group-->

<div class="form-group">
<label  class="col-md-2 control-label">描述</label>
<div class="col-md-4">
<textarea class="form-control schema_info"   ng-model="schema.description"></textarea>
</div>
</div><!--form-group-->
</div><!--form-->
</div><!--panel body-->

<div class="panel panel-info">
<div class="panel-heading">
详细信息

</div>
<div class="panel-body">

<table class="table schema_table">
<col width="20%" />
<col width="15%" />
<col width="20%" />
<col width="20%" />
<col width="10%"/>
<col width="15%"/>

<thead>
<tr>
<td>名称</td>
<td>pType</td>
<td>复杂类型</td>
<td>校验规则</td>
<td>是否array</td>
<td>  </td>
</tr>
</thead>

<tbody>
<tr id="input_property" ng-show='propertyShow'>
<td ><input type="text" ng-model="property.name" ></input></td>
<td ><input type="text" ng-model="property.pType" ></input></td>
<td ><input type="text" ng-model="property.complexTypeName" ></input></td>
<td ><input type="text" ng-model="property.verificationRegEx" ></input></td>

</tr>

<tr ng-repeat="o in schema.properties">
<td>{{o.name}}</td>
<td><select ng-model="o.pType" ng-options="o.id as o.name  for o in propertiesType"  disabled="disabled">
<option ></option>
</select></td>
<td>{{o.complexTypeName}}</td>
<td>{{o.verificationRegEx}}</td>
<td>{{o.isArray}}</td>
<td>

</td>
</tr>
</tbody>
</table>

</div>

</div>

</div>

</div>
</div>

</div>

</div>

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: