diff options
-rw-r--r-- | resmgr/src/main/webapp/sdn-resmgr/link/link.html | 135 | ||||
-rw-r--r-- | resmgr/src/main/webapp/sdn-resmgr/link/linkRest.js | 72 |
2 files changed, 207 insertions, 0 deletions
diff --git a/resmgr/src/main/webapp/sdn-resmgr/link/link.html b/resmgr/src/main/webapp/sdn-resmgr/link/link.html new file mode 100644 index 00000000..a581d986 --- /dev/null +++ b/resmgr/src/main/webapp/sdn-resmgr/link/link.html @@ -0,0 +1,135 @@ +<!--/* Copyright 2017, Huawei Technologies Co., Ltd.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/-->
+
+<h4>{{title}}</h4>
+<br><br>
+<div id="linkAction" ng-init="init()">
+
+</div>
+<br>
+<br>
+
+<table ng-table="linkTableParams" class="table table-bordered table-striped customtable" show-filter="true">
+ <tr ng-repeat="linkData in $data">
+ <td header="'ng-table/headers/checkbox.html'">
+ <input type="checkbox" ng-model="checkboxes.items[linkData.id]" />
+ </td>
+ <td title="'Name'" filter="{ name: 'text'}" sortable="'name'">
+ {{linkData.name}}
+ </td>
+ <td title="'Type'" filter="{ type: 'text'}" sortable="'type'">
+ {{linkData.type}}
+ </td>
+ <td title="'Layer Rate'" filter="{ layerRate: 'text'}" sortable="'layerRate'">
+ {{linkData.layerRate}}
+ </td>
+ </td>
+ <td title="'Source Port'" filter="{ sourcePort: 'number'}" sortable="'sourcePort'">
+ {{linkData.sourcePort}}
+ </td>
+ <td title="'Sink Port'" filter="{ sinkPort: 'number'}" sortable="'sinkPort'">
+ {{linkData.sinkPort}}
+ </td>
+ <td title="'Source NE'" filter="{ sourceNE: 'text'}" sortable="'sourceNE'">
+ {{linkData.sourceNE}}
+ </td>
+ <td title="'Sink NE'" filter="{ sinkNE: 'text'}" sortable="'sourceNE'">
+ {{linkData.sinkNE}}
+ </td>
+ <td title="'Admin State'" filter="{ adminState: 'text'}" sortable="'adminState'">
+ {{linkData.adminState}}
+ </td>
+ <td title="'Operating State'" filter="{ operatingState: 'text'}" sortable="'operatingState'">
+ {{linkData.operatingState}}
+ <td title="'Action'">
+ <!-- <span class="pull-right glyphicon glyphicon-edit" ng-click="editData(siteData.name)" style="cursor: pointer;margin: 0 5px"></span>-->
+ <span ng-click="editData(linkData.id)" style="cursor: pointer;margin: 0 5px"> <img src="framework/images/edit.png" height="15" align="left"/></span>
+
+ <!--<span class="pull-right glyphicon glyphicon-trash" ng-click="deleteIndividualData(siteData.id)" style="cursor: pointer;margin: 0 5px"></span>-->
+ <span ng-click="deleteData(linkData.id)" style="cursor: pointer;margin: 0 5px"><img src="framework/images/delete.png" height="15" align="middle"/></span>
+
+ </td>
+ </tr>
+</table>
+
+
+<script type="text/ng-template" id="ng-table/headers/checkbox.html">
+ <input type="checkbox" ng-model="checkboxes.checked" name="filter-checkbox" value="" />
+</script>
+
+<div id="myTable"></div>
+
+
+
+<!-- Modal -->
+<div id="myModal" class="modal fade" role="dialog">
+ <div class="modal-dialog">
+
+ <!-- Modal content-->
+ <div class="modal-content">
+ <div class="modal-header">
+ <button type="button" class="close" data-dismiss="modal">×</button>
+ <h5 class="modal-title">Modal Header</h5>
+ </div>
+ <form name="linkForm" method="post"><!--ng-submit="saveData(province.id)"-->
+ <div class="modal-body">
+
+ <div class="form-group row">
+ <label class="col-xs-4 col-form-label">Name</label>
+ <div id="name" class="col-xs-8" >
+ </div>
+ </div>
+ <div class="form-group row">
+ <label class="col-xs-4 col-form-label">Type</label>
+ <div id="type" class="col-xs-8" >
+ </div>
+ </div>
+ <div class="form-group row">
+ <label class="col-xs-4 col-form-label">Layer Rate</label>
+ <div id="layerRate" class="col-xs-8" >
+ </div>
+ </div>
+ <div class="form-group row">
+ <label class="col-xs-4 col-form-label">Source Port</label>
+ <div id="sourcePort" class="col-xs-8" >
+ </div>
+ </div>
+ <div class="form-group row">
+ <label class="col-xs-4 col-form-label">Sink Port</label>
+ <div id="sinkPort" class="col-xs-8" >
+ </div>
+ </div>
+ <div class="form-group row">
+ <label class="col-xs-4 col-form-label">Source NE</label>
+ <div id="sourceNE" class="col-xs-8" >
+ </div>
+ </div>
+ <div class="form-group row">
+ <label class="col-xs-4 col-form-label">Sink NE</label>
+ <div id="sinkNE" class="col-xs-8" >
+ </div>
+ </div>
+
+ </div>
+
+ <div id="footerBtns" class="modal-footer">
+
+ </div>
+ </form>
+ </div>
+
+
+ </div>
+</div>
\ No newline at end of file diff --git a/resmgr/src/main/webapp/sdn-resmgr/link/linkRest.js b/resmgr/src/main/webapp/sdn-resmgr/link/linkRest.js new file mode 100644 index 00000000..4040c79a --- /dev/null +++ b/resmgr/src/main/webapp/sdn-resmgr/link/linkRest.js @@ -0,0 +1,72 @@ +/* Copyright 2017, Huawei Technologies Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+app.factory("linkDataService", function($http, DataService, $log){
+ var uri = 'http://192.168.9.13:18008';
+ uri += "/openoapi/sdnobrs/v1/topological-links";
+ return {
+ getAllLinkData: function () {
+ /*return $http({
+ url: 'http://localhost:3000/linkAPI/getAllLinkData',
+ method: 'GET',
+ data: null,
+ headers: {'Content-Type': 'application/json'}
+ }).then(function (response) {
+ $log.info("in get data service data is :" + response.data);
+ return response.data;
+ });*/
+ return DataService.get(uri)
+ .then(function(response){
+ $log.info("in get data service data is :"+response);
+ console.log(response);
+ return response;
+ });
+ },
+ deleteLinkData: function (id) {
+ /*return $http({
+ url: 'http://localhost:3000/linkAPI/deleteLinkData',
+ method: 'POST',
+ data: {'nameList': nameList},
+ headers: {'Content-Type': 'application/json'}
+ }).then(function (response) {
+ console.log("Successfully Deleted..");
+ $log.info(response);
+ return response.data;
+ });*/
+ return DataService.delete(uri+"/"+id)
+ .then(function(response){
+ $log.info("in delete data service data is :"+response);
+ console.log(response);
+ return response;
+ });
+ },
+ editLinkData : function(linkData) {
+ return DataService.put(uri, linkData)
+ .then(function(response){
+ console.log("Successfully edited.. Data returned in DataService is");
+ console.log(response);
+ return response;
+ });
+ },
+ addLinkData : function(linkData) {
+ return DataService.post(uri, linkData)
+ .then(function(response){
+ console.log("Successfully added.. Data returned in DataService is");
+ console.log(response);
+ return response;
+ });
+ }
+ }
+});
\ No newline at end of file |