summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--esr/src/main/webapp/extsys/ems/css/ems.css81
-rw-r--r--esr/src/main/webapp/extsys/ems/emsView.html390
-rw-r--r--esr/src/main/webapp/extsys/ems/i18n/nfv-nso-iui-i18n-en-US.properties74
-rw-r--r--esr/src/main/webapp/extsys/ems/i18n/nfv-nso-iui-i18n-zh-CN.properties75
-rw-r--r--esr/src/main/webapp/extsys/ems/js/ems-validate.js12
-rw-r--r--esr/src/main/webapp/extsys/ems/js/emsController.js424
-rw-r--r--esr/src/main/webapp/extsys/ems/js/emsUtil.js78
-rw-r--r--esr/src/main/webapp/extsys/ems/js/loadi18n_nsoc.js2
-rw-r--r--esr/src/main/webapp/extsys/ems/mock-data/ems.json66
9 files changed, 721 insertions, 481 deletions
diff --git a/esr/src/main/webapp/extsys/ems/css/ems.css b/esr/src/main/webapp/extsys/ems/css/ems.css
index 9dd1e5f..6838e7e 100644
--- a/esr/src/main/webapp/extsys/ems/css/ems.css
+++ b/esr/src/main/webapp/extsys/ems/css/ems.css
@@ -311,12 +311,10 @@ input[name="daterange"] {
}
td.details-control {
- background: url('../images/details_open.png') no-repeat center center;
cursor: pointer;
}
tr.shown td.details-control {
- background: url('../images/details_close.png') no-repeat center center;
}
.details table td {
@@ -403,10 +401,10 @@ input.pagination-panel-input {
animation-duration: .5s;
-webkit-animation-fill-mode: both;
animation-fill-mode: both;
+ -webkit-animation-delay: 0.1s;
}
.hpanel {
- background-color: none;
border: none;
box-shadow: none;
margin-bottom: 25px;
@@ -421,13 +419,15 @@ input.pagination-panel-input {
}
.h-200 {
- min-height: 220px;
+ min-height: 120px;
}
.m-t-xl {
margin-top: 40px;
}
-
+.card-name{
+ text-align: center;
+}
.m-t-xl div {
margin-bottom: 15px;
}
@@ -476,11 +476,78 @@ h3 {
font-weight: 600;
margin-bottom: 15px;
}
-
.hpanel_show {
background-color: #f7f9fa;
}
-
.vnfm-padding {
padding-left: 0;
+}
+.step-content{
+ margin-top: 20px;
+}
+.px-ui-steps{
+ height: 36px;
+}
+.px-ui-horizon-ul-horizon{
+ display: flex;
+ box-orient: horizontal;
+ margin: 0;
+ padding: 0;
+}
+.px-ui-steps-li{
+ list-style: none;
+ position: relative;
+ width: 386px;
+ height: 24px;
+ line-height: 24px;
+ float: left;
+ margin-right: 0;
+}
+.px-ui-menuitem-div-passive{
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ min-width: 120px;
+ -webkit-transform: translate(-50%,-50%);
+ -moz-transform: translate(-50%,-50%);
+ -ms-transform: translate(-50%,-50%);
+ -o-transform: translate(-50%,-50%);
+ transform: translate(-50%,-50%);
+}
+.step-active div:first-child span:last-child{
+ color: #4d5761;
+}
+.step-active div:last-child, .step-active div:first-child span:first-child{
+ background: #33bcff;
+}
+.px-ui-steps-number-passive{
+ width: 24px;
+ height: 24px;
+ border-radius: 50%;
+ display: inline-block;
+ margin-right: 10px;
+ float: left;
+ color: #fff;
+ text-align: center;
+ background: #ddd;
+}
+.px-ui-steps-title-passive{
+ white-space: nowrap;
+}
+.px-ui-steps-title-active{
+ color: #4d5761;
+}
+.px-ui-steps-title-passive{
+ color: #7c868d;
+}
+
+.px-ui-underline-passive{
+ width: 100%;
+ height: 2px;
+ margin-top: 35px;
+ position: absolute;
+ background: #ddd;
+}
+#btnPreStep, #btnSave{
+ display: none;
} \ No newline at end of file
diff --git a/esr/src/main/webapp/extsys/ems/emsView.html b/esr/src/main/webapp/extsys/ems/emsView.html
index 3e5216a..56a364e 100644
--- a/esr/src/main/webapp/extsys/ems/emsView.html
+++ b/esr/src/main/webapp/extsys/ems/emsView.html
@@ -23,145 +23,256 @@
<link href="../../thirdparty/font-awesome/css/font-awesome.min.css" rel="stylesheet"/>
<link href="../../thirdparty/bootstrap/css/bootstrap.min.css" rel="stylesheet"/>
<link href="../../thirdparty/uniform/css/uniform.default.min.css" rel="stylesheet"/>
- <link href="../../thirdparty/css/ZteIctIcons/style.css" rel="stylesheet"/>
<link href="../../thirdparty/css/ngict-component.css" rel="stylesheet"/>
<link href="css/animate.min.css" rel="stylesheet"/>
<link href="css/ems.css" rel="stylesheet"/>
- <style>
- .ms-controller {
- visibility: hidden
- }
- </style>
-
+ <style> .ms-controller { visibility: hidden } </style>
</head>
<body>
<div ms-controller="emsController" class="container-fluid ms-controller">
- <div id="addEmsDlg" class="modal fade" tabindex="-1" role="dialog"
- aria-labelledby="myModalLabel" aria-hidden="true">
+ <div id="addEmsDlg" class="modal fade" tabindex="-1" role="dialog"
+ aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static">
<div class="modal-dialog">
<div class="modal-content Changepasswd">
<div class="content">
<div class="modal-header">
- <button type="button" class="close" data-dismiss="modal"
- aria-hidden="true">×
- </button>
- <h4 id="myModalLabel">{{addEms.title}}</h4>
+ <h4 id="myModalLabel">{{modalTitle}}</h4>
</div>
<div class="modal-body">
- <form class="form-horizontal" id="ems_form" role="form">
- <input type="hidden" ms-duplex="addEms.emsId" name="emsId" class="form-control"/>
- <div class="form-group">
- <label class="control-label col-sm-3">
- <span id="nfv-ems-iui-text-name" name_i18n="com_zte_nfv_nsoc_i18n"></span>
- <span class="required" aria-required="true">*</span>
- </label>
- <div class="col-sm-7">
- <input type="text" ms-duplex="addEms.name" name="name" class="form-control" ms-readonly="addEms.nameReadonly"/>
- <span class="help-block"></span>
- </div>
- </div>
- <div class="form-group">
- <label class="control-label col-sm-3">
- <span id="nfv-ems-iui-text-type" name_i18n="com_zte_nfv_nsoc_i18n"></span>
- <span class="required" aria-required="true">*</span>
- </label>
- <div class="col-sm-7">
- <input type="text" ms-duplex="addEms.type" name="type" class="form-control"/>
- <span class="help-block"></span>
- </div>
- </div>
- <div class="form-group">
- <label class="control-label col-sm-3">
- <span id="nfv-ems-iui-text-vendor" name_i18n="com_zte_nfv_nsoc_i18n"></span>
- <span class="required" aria-required="true">*</span>
- </label>
- <div class="col-sm-7">
- <input type="text" ms-duplex="addEms.vendor" name="vendor" class="form-control"/>
- <span class="help-block"></span>
- </div>
- </div>
- <div class="form-group">
- <label class="control-label col-sm-3">
- <span id="nfv-ems-iui-text-version" name_i18n="com_zte_nfv_nsoc_i18n"></span>
- <span class="required" aria-required="true">*</span>
- </label>
- <div class="col-sm-7">
- <input type="text" ms-duplex="addEms.version" name="version" class="form-control"/>
- <span class="help-block"></span>
- </div>
- </div>
- <div class="form-group">
- <label class="control-label col-sm-3">
- <span>URL</span>
- <span class="required" aria-required="true">*</span>
- </label>
- <div class="col-sm-7">
- <input type="text" ms-duplex="addEms.url" name="url" class="form-control"
- ms-attr-placeholder="addEms.urlTip"/>
- <span class="help-block"></span>
- </div>
- </div>
- <div class="form-group">
- <label class="col-sm-3 control-label">VIM
- <span></span>
- </label>
- <div class="col-sm-7">
- <select class="form-control" id="vimId" name="vimId">
- <option ms-repeat-vim="vimSelectItems" ms-attr-value="vim.vimId"
- data-repeat-rendered="vimRendered">{{vim.name}}
- </option>
+ <div class="px-ui-steps">
+ <ul class="px-ui-horizon-ul-horizon" role="tablist">
+ <li class="px-ui-steps-li step-active" id="step-resource">
+ <div class="px-ui-menuitem-div-passive">
+ <span class="px-ui-steps-number-passive">1</span>
+ <span class="px-ui-steps-title-passive">Resource</span>
+ </div>
+ <div class="px-ui-underline-passive"></div>
+ </li>
+ <li class="px-ui-steps-li" id="step-performance">
+ <div class="px-ui-menuitem-div-passive">
+ <span class="px-ui-steps-number-passive">2</span>
+ <span class="px-ui-steps-title-passive">Performance</span>
+ </div>
+ <div class="px-ui-underline-passive"></div>
+ </li>
+ <li class="px-ui-steps-li" id="step-alarm">
+ <div class="px-ui-menuitem-div-passive">
+ <span class="px-ui-steps-number-passive">3</span>
+ <span class="px-ui-steps-title-passive">Alarm</span>
+ </div>
+ <div class="px-ui-underline-passive"></div>
+ </li>
+ </ul>
+ </div>
+ <div class="step-content">
+ <form class="form-horizontal" id="form_resource" role="form">
+ <div class="form-group">
+ <label class="control-label col-sm-3">
+ <span>Name</span>
+ <span class="required" aria-required="true">*</span>
+ </label>
+ <div class="col-sm-7">
+ <input type="text" ms-duplex="currentElement.emsName" name="emsName" class="form-control"/>
+ <span class="help-block"></span>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="control-label col-sm-3">
+ <span>Ftptype</span>
+ <span class="required" aria-required="true">*</span>
+ </label>
+ <div class="col-sm-7">
+ <select ms-duplex="currentElement.resource.ftptype" name="ftptype" class="form-control">
+ <option value="ftp">ftp</option>
+ <option value="sftp">sftp</option>
+ </select>
+ <span class="help-block"></span>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="control-label col-sm-3">
+ <span>IP</span>
+ <span class="required" aria-required="true">*</span>
+ </label>
+ <div class="col-sm-7">
+ <input type="text" ms-duplex="currentElement.resource.ip" name="ip" class="form-control"/>
+ <span class="help-block"></span>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="control-label col-sm-3">
+ <span>Port</span>
+ <span class="required" aria-required="true">*</span>
+ </label>
+ <div class="col-sm-7">
+ <input type="text" ms-duplex="currentElement.resource.port" name="port" class="form-control"/>
+ <span class="help-block"></span>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="control-label col-sm-3">
+ <span>User</span>
+ <span class="required" aria-required="true">*</span>
+ </label>
+ <div class="col-sm-7">
+ <input type="text" ms-duplex="currentElement.resource.user" name="user" class="form-control" ms-attr-placeholder="urlTip"/>
+ <span class="help-block"></span>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="control-label col-sm-3">
+ <span>Password</span>
+ </label>
+ <div class="col-sm-7">
+ <input type="password" class="form-control" rows="3" ms-duplex="currentElement.resource.password" name="password"/>
+ <span class="help-block"></span>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="control-label col-sm-3">
+ <span>Remotepath</span>
+ </label>
+ <div class="col-sm-7">
+ <input class="form-control" rows="3" ms-duplex="currentElement.resource.remotepath" name="remotepath"/>
+ <span class="help-block"></span>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="control-label col-sm-3">
+ <span>Passive</span>
+ </label>
+ <div class="col-sm-7">
+ <select class="form-control" rows="3" ms-duplex="currentElement.resource.passive" name="passive">
+ <option value="true">true</option>
+ <option value="false">false</option>
</select>
+ <span class="help-block"></span>
+ </div>
</div>
- </div>
- <div class="form-group">
- <label class="control-label col-sm-3">
- <span id="nfv-ems-iui-text-certificateUrl"
- name_i18n="com_zte_nfv_nsoc_i18n"></span>
- </label>
- <div class="col-sm-7">
- <input type="text" ms-duplex="addEms.certificateUrl" name="certificateUrl"
- class="form-control"/>
- <span class="help-block"></span>
- </div>
- </div>
- <div class="form-group">
- <label class="control-label col-sm-3">
- <span id="nfv-ems-iui-text-userName" name_i18n="com_zte_nfv_nsoc_i18n"></span>
- </label>
- <div class="col-sm-7">
- <input type="text" ms-duplex="addEms.userName" name="userName"
- class="form-control"/>
- <span class="help-block"></span>
- </div>
- </div>
- <div class="form-group">
- <label class="control-label col-sm-3">
- <span id="nfv-ems-iui-text-password" name_i18n="com_zte_nfv_nsoc_i18n"></span>
- </label>
- <div class="col-sm-7">
- <input type="password" ms-duplex="addEms.password" name="password"
- class="form-control"/>
- <span class="help-block"></span>
- </div>
- </div>
- <div class="form-group">
- <label class="control-label col-sm-3">
- <span id="nfv-ems-iui-text_description" name_i18n="com_zte_nfv_nsoc_i18n"></span>
- </label>
- <div class="col-sm-7">
- <textarea class="form-control" rows="3" ms-duplex="addEms.description"
- name="description"></textarea>
- <span class="help-block"></span>
- </div>
- </div>
- </form>
-
+ </form>
+ <form class="form-horizontal" id="form_performance" role="form" hidden>
+ <div class="form-group">
+ <label class="control-label col-sm-3">
+ <span>Ftptype</span>
+ <span class="required" aria-required="true">*</span>
+ </label>
+ <div class="col-sm-7">
+ <select ms-duplex="currentElement.performance.ftptype" name="type" class="form-control">
+ <option value="ftp">ftp</option>
+ <option value="sftp">sftp</option>
+ </select>
+ <span class="help-block"></span>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="control-label col-sm-3">
+ <span>IP</span>
+ <span class="required" aria-required="true">*</span>
+ </label>
+ <div class="col-sm-7">
+ <input type="text" ms-duplex="currentElement.performance.ip" name="ip" class="form-control"/>
+ <span class="help-block"></span>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="control-label col-sm-3">
+ <span>Port</span>
+ <span class="required" aria-required="true">*</span>
+ </label>
+ <div class="col-sm-7">
+ <input type="text" ms-duplex="currentElement.performance.port" name="port" class="form-control"/>
+ <span class="help-block"></span>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="control-label col-sm-3">
+ <span>User</span>
+ <span class="required" aria-required="true">*</span>
+ </label>
+ <div class="col-sm-7">
+ <input type="text" ms-duplex="currentElement.performance.user" name="user" class="form-control" ms-attr-placeholder="urlTip"/>
+ <span class="help-block"></span>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="control-label col-sm-3">
+ <span>Password</span>
+ </label>
+ <div class="col-sm-7">
+ <input type="password" class="form-control" rows="3" ms-duplex="currentElement.performance.password" name="password"/>
+ <span class="help-block"></span>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="control-label col-sm-3">
+ <span>Remotepath</span>
+ </label>
+ <div class="col-sm-7">
+ <input class="form-control" rows="3" ms-duplex="currentElement.performance.remotepath" name="remotepath"/>
+ <span class="help-block"></span>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="control-label col-sm-3">
+ <span>Passive</span>
+ </label>
+ <div class="col-sm-7">
+ <select class="form-control" rows="3" ms-duplex="currentElement.performance.passive" name="passive">
+ <option value="true">true</option>
+ <option value="false">false</option>
+ </select>
+ <span class="help-block"></span>
+ </div>
+ </div>
+ </form>
+ <form class="form-horizontal" id="form_alarm" role="form" hidden>
+ <div class="form-group">
+ <label class="control-label col-sm-3">
+ <span>IP</span>
+ <span class="required" aria-required="true">*</span>
+ </label>
+ <div class="col-sm-7">
+ <input type="text" ms-duplex="currentElement.alarm.ip" name="ip" class="form-control"/>
+ <span class="help-block"></span>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="control-label col-sm-3">
+ <span>Port</span>
+ <span class="required" aria-required="true">*</span>
+ </label>
+ <div class="col-sm-7">
+ <input type="text" ms-duplex="currentElement.alarm.port" name="port" class="form-control"/>
+ <span class="help-block"></span>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="control-label col-sm-3">
+ <span>User</span>
+ <span class="required" aria-required="true">*</span>
+ </label>
+ <div class="col-sm-7">
+ <input type="text" ms-duplex="currentElement.alarm.user" name="user" class="form-control" ms-attr-placeholder="urlTip"/>
+ <span class="help-block"></span>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="control-label col-sm-3">
+ <span>Password</span>
+ </label>
+ <div class="col-sm-7">
+ <input type="password" class="form-control" rows="3" ms-duplex="currentElement.alarm.password" name="password"/>
+ <span class="help-block"></span>
+ </div>
+ </div>
+ </form>
+ </div>
</div>
<div class="modal-footer">
- <button class="btn" data-dismiss="modal" aria-hidden="true" id="nfv-ems-iui-text-cancelBtn"
- name_i18n="com_zte_nfv_nsoc_i18n"></button>
- <button class="btn btn-primary" type="submit" ms-click="$saveEms"
- id="nfv-ems-iui-text-saveBtn" name_i18n="com_zte_nfv_nsoc_i18n"></button>
+ <button class="btn" id="btnPreStep" ms-click="$preStep">Back</button>
+ <button class="btn btn-primary" id="btnNextStep" ms-click="$nextStep">Next</button>
+ <button class="btn btn-primary" id="btnSave" ms-click="$saveEMS" id_i18n="nfv-ems-iui-text-saveBtn" name_i18n="com_zte_nfv_nsoc_i18n"></button>
+ <button class="btn" id="btnCancel" ms-click="dismiss" aria-hidden="true" id_i18n="nfv-ems-iui-text-cancelBtn" name_i18n="com_zte_nfv_nsoc_i18n"></button>
</div>
</div>
</div>
@@ -169,40 +280,33 @@
</div>
<div class="row-fluid" data-name="cond_zone">
<div class="col-md-12">
- <button class="btn white radius_l" id="app-new-btn" ms-click="$showEmsTable">
- <i class="ict-new"></i> <span id="nfv-ems-iui-text-registerBtn"
- name_i18n="com_zte_nfv_nsoc_i18n"></span>
+ <button class="btn white radius_l" id="app-new-btn" ms-click="$registerEMS">
+ <i class="ict-new"></i> <span id_i18n="nfv-ems-iui-text-registerBtn" name_i18n="com_zte_nfv_nsoc_i18n"></span>
</button>
</div>
</div>
- <div class="col-sm-12 ems-padding" ms-each-el="emsInfo">
- <div class="col-sm-4 animated-panel zoomIn" style="-webkit-animation-delay: 0.1s;">
+ <div class="col-sm-12 vnfm-padding" ms-each-el="emsInfo">
+ <div class="col-sm-3 animated-panel zoomIn">
<div class="hpanel stats">
<div class="panel-body h-200" ms-hover="hpanel_show">
<div class="pull-left">
- <span class="label label-success" ms-if="el.status === $Status.success"
- id="nfv-ems-iui-text-status-normal" name_i18n="com_zte_nfv_nsoc_i18n"></span>
- <span class="label label-danger" ms-attr-title="el.errorInfo" data-toggle="tooltip"
- ms-if="el.status === $Status.failed" id="nfv-ems-iui-text-status-fail"
- name_i18n="com_zte_nfv_nsoc_i18n"></span>
+ <span class="label label-success" ms-if="el.status == status.success" id_i18n="nfv-ems-iui-text-status-normal" name_i18n="com_zte_nfv_nsoc_i18n"></span>
+ <span class="label label-danger" ms-if="el.status == status.failed" ms-attr-title="el.errorInfo" data-toggle="tooltip" id_i18n="nfv-ems-iui-text-status-fail" name_i18n="com_zte_nfv_nsoc_i18n"></span>
</div>
<div class="stats-icon pull-right">
<i class="fa fa-server fa-5x color_cloud"></i>
</div>
<div class="m-t-xl">
- <h3 ms-text="el.name"></h3>
- <div><span id="nfv-ems-iui-text-type" name_i18n="com_zte_nfv_nsoc_i18n"></span>:<span
- ms-text="el.type"></span></div>
- <div>URL:<span ms-text="el.url"></span></div>
+ <h3 ms-text="el.emsName"></h3>
+ <!--<div class="card-name"><span ms-text="el.emsName"></span></div>-->
</div>
</div>
<div class="panel-footer">
<div class="pull-right">
- <a class="btn btn-default btn-sm" ms-click="emsUtil.updateEms(el.$model)"><i
+ <a class="btn btn-default btn-sm" ms-click="updateEMS($index)"><i
class="fa fa-pencil-square-o fa-lg"></i></a>
- <a class="btn btn-default btn-sm" ms-click="emsUtil.delEms(el.emsId)"><i
- class="fa fa-trash-o fa-lg"> </i></a>
+ <a class="btn btn-default btn-sm" ms-click="delEMS(el.emsId, $index)"><i class="fa fa-trash-o fa-lg"></i></a>
</div>
</div>
</div>
@@ -210,9 +314,8 @@
</div>
<div class="col-sm-12">
<div class="pull-left text-muted">
- <small><span id="nfv-ems-iui-text-total" name_i18n="com_zte_nfv_nsoc_i18n"></span> <span class="blue-font"
- ms-text="emsInfo.size()"></span>
- <span id="nfv-ems-iui-text-total-ems" name_i18n="com_zte_nfv_nsoc_i18n"></span></small>
+ <small><span id_i18n="nfv-ems-iui-text-total" name_i18n="com_zte_nfv_nsoc_i18n"></span> <span class="blue-font" ms-text="emsInfo.size()"></span>
+ <span id_i18n="nfv-ems-iui-text-total-ems" name_i18n="com_zte_nfv_nsoc_i18n"></span></small>
</div>
</div>
</div>
@@ -234,7 +337,6 @@
<script type="text/javascript" src="js/loadi18n_nsoc.js"></script>
<script type="text/javascript" src="js/ems-validate.js"></script>
-<script type="text/javascript" src="js/emsUtil.js"></script>
<script type="text/javascript" src="js/emsController.js"></script>
</body>
</html> \ No newline at end of file
diff --git a/esr/src/main/webapp/extsys/ems/i18n/nfv-nso-iui-i18n-en-US.properties b/esr/src/main/webapp/extsys/ems/i18n/nfv-nso-iui-i18n-en-US.properties
index 6d10a1d..f39749a 100644
--- a/esr/src/main/webapp/extsys/ems/i18n/nfv-nso-iui-i18n-en-US.properties
+++ b/esr/src/main/webapp/extsys/ems/i18n/nfv-nso-iui-i18n-en-US.properties
@@ -14,42 +14,42 @@
# limitations under the License.
#
-//vnfm
-nfv-vnfm-iui-title=VNFM Manage
-nfv-vnfm-iui-message-title=vnfm info
-nfv-vnfm-iui-message-query-fail=Query vnfm failed.
-nfv-vnfm-iui-message-save-success=Save successfully.
-nfv-vnfm-iui-message-save-fail=Save failed.
-nfv-vnfm-iui-message-vnfm-already-exists=vnfm already exists.
-nfv-vnfm-iui-message-update-success=Update successfully.
-nfv-vnfm-iui-message-update-fail=Update failed.
-nfv-vnfm-iui-message-delete-confirm=Do you want to delete the current vnfm?
-nfv-vnfm-iui-message-delete-success=Vnfm deleted successfully.
-nfv-vnfm-iui-message-delete-fail=Vnfm deleted failed.
+//ems
+nfv-ems-iui-title=EMS Manage
+nfv-ems-iui-message-title=Ems info
+nfv-ems-iui-message-query-fail=Query ems failed.
+nfv-ems-iui-message-save-success=Save successfully.
+nfv-ems-iui-message-save-fail=Save failed.
+nfv-ems-iui-message-ems-already-exists=Ems already exists.
+nfv-ems-iui-message-update-success=Update successfully.
+nfv-ems-iui-message-update-fail=Update failed.
+nfv-ems-iui-message-delete-confirm=Do you want to delete the current ems?
+nfv-ems-iui-message-delete-success=Ems deleted successfully.
+nfv-ems-iui-message-delete-fail=Ems deleted failed.
-nfv-vnfm-iui-test-update=Modify vnfm info
-nfv-vnfm-iui-text-register=Register vnfm info
-nfv-vnfm-iui-text-name=Name
-nfv-vnfm-iui-text-type=type
-nfv-vnfm-iui-text-version=version
-nfv-vnfm-iui-text-certificateUrl=certificate URL
-nfv-vnfm-iui-text-vendor=Vendor
-nfv-vnfm-iui-text-userName=Username
-nfv-vnfm-iui-text-password=Password
-nfv-vnfm-iui-text_description=Description
-nfv-vnfm-iui-text-cancelBtn=cancel
-nfv-vnfm-iui-text-saveBtn=save
-nfv-vnfm-iui-text-registerBtn=Register
-nfv-vnfm-iui-text-status-normal=Normal
-nfv-vnfm-iui-text-status-fail=Alarm
-nfv-vnfm-iui-text-total=Total
-nfv-vnfm-iui-text-total-vnfm= of vnfm
+nfv-ems-iui-text-update=Modify ems info
+nfv-ems-iui-text-register=Register ems info
+nfv-ems-iui-text-name=Name
+nfv-ems-iui-text-type=type
+nfv-ems-iui-text-version=version
+nfv-ems-iui-text-certificateUrl=certificate URL
+nfv-ems-iui-text-vendor=Vendor
+nfv-ems-iui-text-userName=Username
+nfv-ems-iui-text-password=Password
+nfv-ems-iui-text_description=Description
+nfv-ems-iui-text-cancelBtn=cancel
+nfv-ems-iui-text-saveBtn=save
+nfv-ems-iui-text-registerBtn=Register
+nfv-ems-iui-text-status-normal=Normal
+nfv-ems-iui-text-status-fail=Abnormal
+nfv-ems-iui-text-total=Total
+nfv-ems-iui-text-total-ems= of ems
-nfv-vnfm-iui-validate-name=Please enter a name
-nfv-vnfm-iui-validate-type=Please enter the vnfm type
-nfv-vnfm-iui-validate-version=Please enter version
-nfv-vnfm-iui-validate-vendor=Please enter vendor
-nfv-vnfm-iui-validate-vim=Please select a VIM
-nfv-vnfm-iui-validate-url-required=Please enter the URL
-nfv-vnfm-iui-validate-url=Please enter the right URL
-nfv-vnfm-iui-text-url-tip=Example: http://10.0.0.1 \ No newline at end of file
+nfv-ems-iui-validate-name=Please enter a name
+nfv-ems-iui-validate-type=Please enter the ems type
+nfv-ems-iui-validate-version=Please enter version
+nfv-ems-iui-validate-vendor=Please enter vendor
+nfv-ems-iui-validate-ems=Please select a EMS
+nfv-ems-iui-validate-url-required=Please enter the URL
+nfv-ems-iui-validate-url=Please enter the right URL
+nfv-ems-iui-text-url-tip=Example: http://10.0.0.1
diff --git a/esr/src/main/webapp/extsys/ems/i18n/nfv-nso-iui-i18n-zh-CN.properties b/esr/src/main/webapp/extsys/ems/i18n/nfv-nso-iui-i18n-zh-CN.properties
index 6adad99..e6bdacd 100644
--- a/esr/src/main/webapp/extsys/ems/i18n/nfv-nso-iui-i18n-zh-CN.properties
+++ b/esr/src/main/webapp/extsys/ems/i18n/nfv-nso-iui-i18n-zh-CN.properties
@@ -14,42 +14,41 @@
# limitations under the License.
#
-//vnfm
-nfv-vnfm-iui-title=VNFM管理
-nfv-vnfm-iui-message-title=vnfm信息
-nfv-vnfm-iui-message-query-fail=查询vnfm失败。
-nfv-vnfm-iui-message-save-success=保存成功。
-nfv-vnfm-iui-message-save-fail=保存失败。
-nfv-vnfm-iui-message-vnfm-already-exists=vnfm 已经存在
-nfv-vnfm-iui-message-update-success=修改成功。
-nfv-vnfm-iui-message-update-fail=修改失败。
-nfv-vnfm-iui-message-delete-confirm=确定删除所选vnfm信息?
-nfv-vnfm-iui-message-delete-success=删除成功
-nfv-vnfm-iui-message-delete-fail=删除失败
+//ems
+nfv-ems-iui-title=EMS管理
+nfv-ems-iui-message-title=EMS信息
+nfv-ems-iui-message-query-fail=查询EMS失败。
+nfv-ems-iui-message-save-success=保存成功。
+nfv-ems-iui-message-save-fail=保存失败。
+nfv-ems-iui-message-ems-already-exists=EMS已经存在
+nfv-ems-iui-message-update-success=修改成功。
+nfv-ems-iui-message-update-fail=修改失败。
+nfv-ems-iui-message-delete-confirm=确定删除所选ems信息?
+nfv-ems-iui-message-delete-success=删除成功
+nfv-ems-iui-message-delete-fail=删除失败
+nfv-ems-iui-text-update=修改EMS信息
+nfv-ems-iui-text-register=注册EMS信息
+nfv-ems-iui-text-name=名称
+nfv-ems-iui-text-type=类型
+nfv-ems-iui-text-version=版本
+nfv-ems-iui-text-certificateUrl=认证url
+nfv-ems-iui-text_description=描述
+nfv-ems-iui-text-vendor=厂商
+nfv-ems-iui-text-userName=接入用户
+nfv-ems-iui-text-password=接入密码
+nfv-ems-iui-text-cancelBtn=取消
+nfv-ems-iui-text-saveBtn=保存
+nfv-ems-iui-text-registerBtn=注册EMS
+nfv-ems-iui-text-status-normal=正常
+nfv-ems-iui-text-status-fail=报警
+nfv-ems-iui-text-total=共
+nfv-ems-iui-text-total-ems=EMS
-nfv-vnfm-iui-test-update=修改vnfm信息
-nfv-vnfm-iui-text-register=注册vnfm信息
-nfv-vnfm-iui-text-name=名称
-nfv-vnfm-iui-text-type=类型
-nfv-vnfm-iui-text-version=版本
-nfv-vnfm-iui-text-certificateUrl=认证url
-nfv-vnfm-iui-text_description=描述
-nfv-vnfm-iui-text-vendor=厂商
-nfv-vnfm-iui-text-userName=接入用户
-nfv-vnfm-iui-text-password=接入密码
-nfv-vnfm-iui-text-cancelBtn=取消
-nfv-vnfm-iui-text-saveBtn=保存
-nfv-vnfm-iui-text-registerBtn=注册vnfm
-nfv-vnfm-iui-text-status-normal=正常
-nfv-vnfm-iui-text-status-fail=报警
-nfv-vnfm-iui-text-total=共
-nfv-vnfm-iui-text-total-vnfm= vnfm
-
-nfv-vnfm-iui-validate-name=请输入名称
-nfv-vnfm-iui-validate-type=请输入vnfm类型
-nfv-vnfm-iui-validate-version=请输入版本号
-nfv-vnfm-iui-validate-vendor=请输入厂商
-nfv-vnfm-iui-validate-vim=请选择VIM
-nfv-vnfm-iui-validate-url-required=请输入URL
-nfv-vnfm-iui-validate-url=请输入正确的URL
-nfv-vnfm-iui-text-url-tip=例如:http://10.0.0.1 \ No newline at end of file
+nfv-ems-iui-validate-name=请输入名称
+nfv-ems-iui-validate-type=请输入EMS类型
+nfv-ems-iui-validate-version=请输入版本号
+nfv-ems-iui-validate-vendor=请输入厂商
+nfv-ems-iui-validate-vim=请选择EMS
+nfv-ems-iui-validate-url-required=请输入URL
+nfv-ems-iui-validate-url=请输入正确的URL
+nfv-ems-iui-text-url-tip=例如:http://10.0.0.1 \ No newline at end of file
diff --git a/esr/src/main/webapp/extsys/ems/js/ems-validate.js b/esr/src/main/webapp/extsys/ems/js/ems-validate.js
index 627d6d5..7cca638 100644
--- a/esr/src/main/webapp/extsys/ems/js/ems-validate.js
+++ b/esr/src/main/webapp/extsys/ems/js/ems-validate.js
@@ -47,20 +47,20 @@ $(function () {
},
messages: {
name: {
- required: $.i18n.prop("nfv-vnfm-iui-validate-name")
+ required: $.i18n.prop("nfv-ems-iui-validate-name")
},
type: {
- required: $.i18n.prop("nfv-vnfm-iui-validate-type")
+ required: $.i18n.prop("nfv-ems-iui-validate-type")
},
version: {
- required: $.i18n.prop("nfv-vnfm-iui-validate-version")
+ required: $.i18n.prop("nfv-ems-iui-validate-version")
},
vendor: {
- required: $.i18n.prop("nfv-vnfm-iui-validate-vendor")
+ required: $.i18n.prop("nfv-ems-iui-validate-vendor")
},
url: {
- required: $.i18n.prop("nfv-vnfm-iui-validate-url-required"),
- url: $.i18n.prop("nfv-vnfm-iui-validate-url")
+ required: $.i18n.prop("nfv-ems-iui-validate-url-required"),
+ url: $.i18n.prop("nfv-ems-iui-validate-url")
}
},
errorPlacement: function (error, element) { // render error placement for each input type
diff --git a/esr/src/main/webapp/extsys/ems/js/emsController.js b/esr/src/main/webapp/extsys/ems/js/emsController.js
index 567af53..b615b62 100644
--- a/esr/src/main/webapp/extsys/ems/js/emsController.js
+++ b/esr/src/main/webapp/extsys/ems/js/emsController.js
@@ -14,12 +14,45 @@
* limitations under the License.
*/
-var vm = avalon
- .define({
+var vm = avalon.define({
$id: "emsController",
emsInfo: [],
- //mocSelectItems : [],
+ currentElement: {},
+ $emsList: [],
+ $newElement: {
+ "emsId": "",
+ "status": "active",
+ "emsName": "",
+ "version": "v1.0",
+ "vendor": "ZTE",
+ "description": "ems description",
+ "resource": {
+ "ftptype": "ftp",
+ "ip": "",
+ "port": "",
+ "user": "root",
+ "password": "",
+ "remotepath": "/opt/Gcp/data/",
+ "passive": true
+ },
+ "performance": {
+ "ftptype": "ftp",
+ "ip": "",
+ "port": "",
+ "user": "root",
+ "password": "",
+ "remotepath": "",
+ "passive": true
+ },
+ "alarm": {
+ "ip": "",
+ "port": 2000,
+ "user": "root",
+ "password": ""
+ }
+ },
vimSelectItems: [],
+ saveType: "add",
server_rtn: {
info_block: false,
warning_block: false,
@@ -27,15 +60,23 @@ var vm = avalon
$RTN_SUCCESS: "RTN_SUCCESS",
$RTN_FAILED: "RTN_FAILED"
},
- $Status: {
+ modalTitle: $.i18n.prop("nfv-ems-iui-text-register"),
+ urlTip: "",
+ currentStep: 1,
+ status: {
success: "active",
failed: "inactive"
},
+ $format: {
+ "ipv4": /^((?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d))))$/,
+ "port": /^([0-9]|[1-9]\d|[1-9]\d{2}|[1-9]\d{3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$/,
+ "url": /^(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?$/
+ },
$restUrl: {
- queryEmsInfoUrl: '/onapapi/aai/esr/v1/emss',
- addEmsInfoUrl: '/onapapi/aai/esr/v1/emss',
- updateEmsInfoUrl: '/onapapi/aai/esr/v1/emss/',
- delEmsInfoUrl: '/onapapi/aai/esr/v1/emss/',
+ queryEmsInfoUrl: "/esrui/extsys/ems/mock-data/ems.json",//'/onapapi/aai/esr/v1/ems',
+ addVnfmInfoUrl: '/onapapi/aai/esr/v1/ems',
+ updateVnfmInfoUrl: '/onapapi/aai/esr/v1/ems/',
+ delVnfmInfoUrl: '/onapapi/aai/esr/v1/ems/',
queryMocUrl: '',
queryVimUrl: '/onapapi/aai/esr/v1/vims'
},
@@ -50,196 +91,239 @@ var vm = avalon
$.ajax({
"type": 'GET',
"url": vm.$restUrl.queryEmsInfoUrl,
- //"dataType": "json",
+ "dataType": "json",
"success": function (resp) {
- for (var i = 0; i < resp.length; i++) {
- resp[i].status = vm.$Status.success;
- }
vm.emsInfo = resp;
+ vm.$emsList = $.extend(true, [], resp) ;
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
bootbox.alert($.i18n.prop("nfv-ems-iui-message-query-fail") + ":" + textStatus + ":" + errorThrown);
return;
},
complete: function () {
- emsUtil.tooltipEmsStatus();
+ $("[data-toggle='tooltip']").tooltip();
}
});
},
-
- $initVim: function () {
- $.ajax({
- type: 'get',
- url: vm.$restUrl.queryVimUrl,
- dataType: 'json',
- success: function (resp) {
- if (resp) {
- vm.vimSelectItems = resp;
- }
- vm.vimSelectItems.push({"vimId": "", "name": ""});
- }
- });
+ $nextStep: function () {
+ if(vm.currentStep == 1 && !vm.validate("resource")){
+ return false;
+ } else if(vm.currentStep == 2 && !vm.validate("performance")){
+ return false;
+ }
+ vm.currentStep ++;
+ vm.showStep();
},
- addEms: {
- title: $.i18n.prop("nfv-ems-iui-text-register"),
- emsId: "",
- name: "",
- type: "",
- //moc : "",
- nameReadonly : false,
- vimId: "",
- //vimVisiable : false,
- vendor: "",
- version: "",
- description: "",
- certificateUrl: "",
- url: "",
- urlTip: $.i18n.prop("nfv-ems-iui-text-url-tip"),
- userName: "",
- password: "",
- saveType: "add",
- status: ""
- },
- $showEmsTable: function () {
- vm.addEms.title = $.i18n.prop("nfv-ems-iui-text-register"),
- vm.addEms.emsId = "";
- vm.addEms.name = "";
- vm.addEms.type = "";
- vm.addEms.nameReadonly = false;
- vm.addEms.vimId = "";
- vm.addEms.vendor = "";
- vm.addEms.version = "";
- vm.addEms.description = "";
- vm.addEms.certificateUrl = "";
- vm.addEms.url = "";
- vm.addEms.userName = "";
- vm.addEms.password = "";
- vm.addEms.saveType = "add";
- vm.server_rtn.warning_block = false;
- vm.server_rtn.info_block = false;
- vm.$initVim();
- $(".form-group").each(function () {
- $(this).removeClass('has-success');
- $(this).removeClass('has-error');
- $(this).find(".help-block[id]").remove();
- });
+ $preStep: function () {
+ if(vm.currentStep == 2 && !vm.validate("resource")){
+ return false;
+ } else if(vm.currentStep == 3 && !vm.validate("alarm")){
+ return false;
+ }
+ vm.currentStep --;
+ vm.showStep();
+ },
+ showStep: function () {
+ var show = function (filter) {
+ $(".px-ui-steps ul li.step-active").removeClass("step-active");
+ $("#step-" + filter).addClass("step-active");
+ $(".step-content form").hide();
+ $("#form_" + filter).show();
+ };
+ switch (vm.currentStep){
+ case 1:
+ show("resource");
+ $("#btnSave, #btnPreStep").hide();
+ $("#btnNextStep").show();
+ break;
+ case 2:
+ show("performance");
+ $("#btnSave").hide();
+ $("#btnNextStep, #btnPreStep").show();
+ break;
+ case 3:
+ show("alarm");
+ $("#btnNextStep").hide();
+ $("#btnSave, #btnPreStep").show();
+ break;
+ }
+ },
+ $registerEMS: function () {
+ vm.currentElement = $.extend(true, {}, vm.$newElement);
+ vm.currentIndex = -1;
+ vm.saveType = "add";
+ vm.modalTitle = $.i18n.prop("nfv-ems-iui-text-register");
+ vm.$showTable();
+ },
+ $showTable: function () {
+ vm.currentStep = 1;
+ vm.showStep();
+ $(".form-group").removeClass('has-success').removeClass('has-error');
$("#addEmsDlg").modal("show");
},
- // $getMocName : function(mocId) {
- // var items = vm.mocSelectItems;
- // for(var i=0;i<items.length;i++) {
- // if(items[i].id == mocId) {
- // return items[i].name;
- // }
- // }
- // return "";
- // },
- $saveEms: function () {
- var form = $('#ems_form');
- if (form.valid() == false) {
- return false;
+ dismiss: function () {
+ if(vm.currentIndex !== -1){
+ vm.currentElement.emsName = vm.$emsList[vm.currentIndex].emsName;
}
+ $("#addEmsDlg").modal("hide");
+ },
+ $saveEMS: function () {
+ var form = $('#vnfm_form');
+ //TODO valiate
vm.server_rtn.info_block = true;
vm.server_rtn.warning_block = false;
- vm.addEms.status = vm.$Status.success;
- var param = {
- name: vm.addEms.name,
- vimId: $("#vimId").val(),
- vendor: vm.addEms.vendor,
- version: vm.addEms.version,
- type: vm.addEms.type,
- description: vm.addEms.description,
- certificateUrl: vm.addEms.certificateUrl,
- url: vm.addEms.url,
- userName: vm.addEms.userName,
- password: vm.addEms.password
- }
//save VIM info
- if (vm.addEms.saveType == "add") {
- $.ajax({
- type: "POST",
- url: vm.$restUrl.addEmsInfoUrl,
- data: JSON.stringify(param),
- dataType: "json",
- contentType: "application/json",
- success: function (data) {
- vm.server_rtn.info_block = false;
- vm.server_rtn.warning_block = false;
- if (data) {
- vm.emsInfo = [];
- vm.$initTable();
-
- $('#addEmsDlg').modal('hide');
- commonUtil.showMessage(vm.$htmlText.saveSuccess, "success");
- } else {
- vm.server_rtn.warning_block = true;
- vm.server_rtn.rtn_info = vm.$htmlText.saveFail;
- commonUtil.showMessage(vm.$htmlText.saveFail, "failed");
- }
- },
- error: function (XMLHttpRequest, textStatus, errorThrown) {
- vm.server_rtn.warning_block = true;
- vm.server_rtn.rtn_info = textStatus + ":" + errorThrown;
- vm.server_rtn.info_block = false;
- }
- });
+ var res = false;
+ if (vm.saveType == "add") {
+ res = vm.postEMS();
} else {
- $.ajax({
- type: "PUT",
- url: vm.$restUrl.updateEmsInfoUrl + vm.addEms.emsId,
- data: JSON.stringify(param),
- dataType: "json",
- contentType: "application/json",
- success: function (data) {
- vm.server_rtn.info_block = false;
- vm.server_rtn.warning_block = false;
- if (data) {
- for (var i = 0; i < vm.emsInfo.length; i++) {
- if (vm.emsInfo[i].emsId == vm.addEms.emsId) {
- vm.emsInfo[i].name = vm.addEms.name;
- vm.emsInfo[i].vimId = $("#vimId").val();
- vm.emsInfo[i].vendor = vm.addEms.vendor;
- vm.emsInfo[i].version = vm.addEms.version;
- vm.emsInfo[i].certificateUrl = vm.addEms.certificateUrl;
- vm.emsInfo[i].description = vm.addEms.description;
- vm.emsInfo[i].url = vm.addEms.url;
- vm.emsInfo[i].userName = vm.addEms.userName;
- vm.emsInfo[i].password = vm.addEms.password;
- }
+ res = vm.putEMS();
+ }
+ if(res){
+ $("#addEmsDlg").modal("hide");
+ }
+ },
+ updateEMS: function (index) {
+ vm.saveType = "update";
+ vm.currentIndex = index;
+ vm.currentElement = vm.emsInfo[index];
+ vm.$showTable();
+ },
+ delEMS: function (id, index) {
+ bootbox.confirm($.i18n.prop("nfv-ems-iui-message-delete-confirm"), function (result) {
+ if (result) {
+ vm.emsInfo.splice(index, 1);
+ vm.$emsList.splice(index, 1);
+ console.log(vm.emsInfo[index]);
+ /* $.ajax({
+ type: "DELETE",
+ url: vm.$restUrl.delVnfmInfoUrl + id,
+ dataType: "json",
+ success: function (data, statusText, jqXHR) {
+ if (jqXHR.status == "204") {
+
+ commonUtil.showMessage($.i18n.prop("nfv-ems-iui-message-delete-success"), "success");
+ } else {
+ commonUtil.showMessage($.i18n.prop("nfv-ems-iui-message-delete-fail"), "warning");
}
- $('#addEmsDlg').modal('hide');
- commonUtil.showMessage(vm.$htmlText.updateSuccess, "success");
- } else {
- vm.server_rtn.warning_block = true;
- vm.server_rtn.rtn_info = vm.$htmlText.updateFail;
- commonUtil.showMessage(vm.$htmlText.updateFail, "failed");
+ },
+ error: function () {
+ commonUtil.showMessage($.i18n.prop("nfv-ems-iui-message-delete-fail"), "warning");
}
- },
- error: function (XMLHttpRequest, textStatus, errorThrown) {
- vm.server_rtn.warning_block = true;
- vm.server_rtn.rtn_info = textStatus + ":" + errorThrown;
- vm.server_rtn.info_block = false;
- }
- });
+ });*/
+ }
+ });
+ },
+ validate: function (formId) {
+ var res = true;
+ var emsSave = vm.getEMSSave();
+ var ip = emsSave[formId].ip;
+ var port = emsSave[formId].port;
+ if(!vm.$format.ipv4.test(ip)){
+ $("#form_" + formId + " input[name='ip']").next().html("The IP format is incorrect");
+ res = res && false;
+ } else {
+ $("#form_" + formId + " input[name='ip']").next().html("");
}
+ if(!vm.$format.port.test(port)){
+ $("#form_" + formId + " input[name='port']").next().html("The port format is incorrect");
+ res = res && false;
+ } else {
+ $("#form_" + formId + " input[name='port']").next().html("");
+ }
+ return res;
},
+ postEMS: function () {
+ var emsSave = vm.getEMSSave();
+ if(!vm.validate("alarm")){
+ return false;
+ }
+ emsSave.emsId = Math.floor(Math.random() * 100000) / 100000;
+ vm.emsInfo.push(emsSave);
+ vm.$emsList.push(emsSave);
+ console.log(emsSave);
+ return true;
+ /*$.ajax({
+ type: "POST",
+ url: vm.$restUrl.addVnfmInfoUrl,
+ data: JSON.stringify(vm.currentElement),
+ dataType: "json",
+ contentType: "application/json",
+ success: function (data) {
+ vm.server_rtn.info_block = false;
+ vm.server_rtn.warning_block = false;
+ if (data) {
+ vm.vnfmInfo = [];
+ vm.$initTable();
- vimRendered: function (action) {
- var items = vm.vimSelectItems;
- if (vm.addEms.saveType === "update") {
- for (var i = 0; i < items.length; i++) {
- if (items[i].vimId == vm.addEms.vimId) {
- $("#vimId")[0].selectedIndex = i;
- break;
+ $('#addEmsDlg').modal('hide');
+ commonUtil.showMessage(vm.$htmlText.saveSuccess, "success");
+ } else {
+ vm.server_rtn.warning_block = true;
+ vm.server_rtn.rtn_info = vm.$htmlText.saveFail;
+ commonUtil.showMessage(vm.$htmlText.saveFail, "failed");
}
+ },
+ error: function (XMLHttpRequest, textStatus, errorThrown) {
+ vm.server_rtn.warning_block = true;
+ vm.server_rtn.rtn_info = textStatus + ":" + errorThrown;
+ vm.server_rtn.info_block = false;
}
- } else {
- $("#vimId")[0].selectedIndex = items.length - 1;
+ });*/
+ },
+ putEMS: function () {
+ console.log(vm.getEMSSave());
+ if(!vm.validate("alarm")){
+ return false;
}
+ return true;
+ /* $.ajax({
+ type: "PUT",
+ url: vm.$restUrl.updateVnfmInfoUrl + vm.currentElement.emsId,
+ data: JSON.stringify(vm.currentElement),
+ dataType: "json",
+ contentType: "application/json",
+ success: function (data) {
+ vm.server_rtn.info_block = false;
+ vm.server_rtn.warning_block = false;
+ if (data) {
+ for (var i = 0; i < vm.vnfmInfo.length; i++) {
+ if (vm.vnfmInfo[i].vnfmId == vm.addVnfm.vnfmId) {
+ vm.vnfmInfo[i].name = vm.addVnfm.name;
+ vm.vnfmInfo[i].vimId = $("#vimId").val();
+ vm.vnfmInfo[i].vendor = vm.addVnfm.vendor;
+ vm.vnfmInfo[i].version = vm.addVnfm.version;
+ vm.vnfmInfo[i].certificateUrl = vm.addVnfm.certificateUrl;
+ vm.vnfmInfo[i].description = vm.addVnfm.description;
+ vm.vnfmInfo[i].url = vm.addVnfm.url;
+ vm.vnfmInfo[i].userName = vm.addVnfm.userName;
+ vm.vnfmInfo[i].password = vm.addVnfm.password;
+ }
+ }
+ $('#addEmsDlg').modal('hide');
+ commonUtil.showMessage(vm.$htmlText.updateSuccess, "success");
+ } else {
+ vm.server_rtn.warning_block = true;
+ vm.server_rtn.rtn_info = vm.$htmlText.updateFail;
+ commonUtil.showMessage(vm.$htmlText.updateFail, "failed");
+ }
+ },
+ error: function (XMLHttpRequest, textStatus, errorThrown) {
+ vm.server_rtn.warning_block = true;
+ vm.server_rtn.rtn_info = textStatus + ":" + errorThrown;
+ vm.server_rtn.info_block = false;
+ }
+ });*/
},
-
+ getEMSSave: function () {
+ var emsSave = $.extend(true, {}, vm.currentElement.$model);
+ emsSave.alarm = vm.currentElement.alarm.$model;
+ emsSave.resource = vm.currentElement.resource.$model;
+ emsSave.performance = vm.currentElement.performance.$model;
+ return emsSave;
+ }
});
+vm.currentElement = $.extend(true, {}, vm.$newElement);
avalon.scan();
-vm.$initTable();
-//vm.$initMoc(); \ No newline at end of file
+vm.$initTable(); \ No newline at end of file
diff --git a/esr/src/main/webapp/extsys/ems/js/emsUtil.js b/esr/src/main/webapp/extsys/ems/js/emsUtil.js
deleted file mode 100644
index 21038da..0000000
--- a/esr/src/main/webapp/extsys/ems/js/emsUtil.js
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright 2016-2017 ZTE Corporation.
- *
- * 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.
- */
-var vnfmUtil = {};
-
-vnfmUtil.delVnfm = function (vnfmId) {
- bootbox.confirm($.i18n.prop("nfv-vnfm-iui-message-delete-confirm"), function (result) {
- if (result) {
- $.ajax({
- type: "DELETE",
- url: vm.$restUrl.delVnfmInfoUrl + vnfmId,
- dataType: "json",
- success: function (data, statusText, jqXHR) {
- if (jqXHR.status == "204") {
- for (var i = 0; i < vm.vnfmInfo.length; i++) {
- if (vnfmId == vm.vnfmInfo[i].vnfmId) {
- //delete the vnfm object from vnfm array
- vm.vnfmInfo.splice(i, 1);
- break;
- }
- }
- commonUtil.showMessage($.i18n.prop("nfv-vnfm-iui-message-delete-success"), "success");
- } else {
- commonUtil.showMessage($.i18n.prop("nfv-vnfm-iui-message-delete-fail"), "warning");
- }
- },
- error: function () {
- commonUtil.showMessage($.i18n.prop("nfv-vnfm-iui-message-delete-fail"), "warning");
- }
- });
- }
- });
-}
-
-vnfmUtil.updateVnfm = function (data) {
- vm.addVnfm.vnfmId = data.vnfmId;
- vm.addVnfm.name = data.name;
- //vm.addVnfm.moc = data.moc;
- //vm.addVnfm.mocDisabled = true;
- vm.addVnfm.vendor = data.vendor;
- vm.addVnfm.version = data.version;
- vm.addVnfm.description = data.description;
- vm.addVnfm.type = data.type;
- vm.addVnfm.vimId = data.vimId;
- vm.addVnfm.url = data.url;
- vm.addVnfm.nameReadonly=true;
- vm.addVnfm.userName = data.userName;
- vm.addVnfm.password = data.password;
- vm.addVnfm.saveType = "update";
- vm.addVnfm.title = $.i18n.prop("nfv-vnfm-iui-test-update");
- vm.server_rtn.info_block = false;
- vm.server_rtn.warning_block = false;
- //vm.$initMoc();
- vm.$initVim();
-
- $(".form-group").each(function () {
- $(this).removeClass('has-success');
- $(this).removeClass('has-error');
- $(this).find(".help-block[id]").remove();
- });
- $("#addVnfmDlg").modal("show");
-}
-
-vnfmUtil.tooltipVnfmStatus = function () {
- $("[data-toggle='tooltip']").tooltip();
-} \ No newline at end of file
diff --git a/esr/src/main/webapp/extsys/ems/js/loadi18n_nsoc.js b/esr/src/main/webapp/extsys/ems/js/loadi18n_nsoc.js
index a543a20..45224af 100644
--- a/esr/src/main/webapp/extsys/ems/js/loadi18n_nsoc.js
+++ b/esr/src/main/webapp/extsys/ems/js/loadi18n_nsoc.js
@@ -23,7 +23,7 @@ function loadPropertiesSideMenu(lang, fileNamePrefix, filePath) {
var i18nItems = $("[name_i18n=com_zte_nfv_nsoc_i18n]");
for (var i = 0; i < i18nItems.length; i++) {
var $item = $(i18nItems.eq(i));
- var itemId = $item.attr("id");
+ var itemId = $item.attr("id_i18n");
var itemTitle = $item.attr("title");
if (typeof(itemTitle) != "undefined") {
$item.attr("title", $.i18n.prop(itemId));
diff --git a/esr/src/main/webapp/extsys/ems/mock-data/ems.json b/esr/src/main/webapp/extsys/ems/mock-data/ems.json
new file mode 100644
index 0000000..d02e57e
--- /dev/null
+++ b/esr/src/main/webapp/extsys/ems/mock-data/ems.json
@@ -0,0 +1,66 @@
+[
+ {
+ "emsId": "123098765",
+ "status": "active",
+ "emsName": "EMS_TEST",
+ "version": "v1.0",
+ "vendor": "ZTE",
+ "description": "ems description",
+ "resource": {
+ "ftptype": "ftp",
+ "ip": "10.44.55.145",
+ "port": "2000",
+ "user": "root",
+ "password": "test",
+ "remotepath": "/opt/Gcp/data/",
+ "passive": true
+ },
+ "performance": {
+ "ftptype": "ftp",
+ "ip": "10.44.55.145",
+ "port": "2000",
+ "user": "root",
+ "password": "test",
+ "remotepath": "/opt/Gcp/data/",
+ "passive": true
+ },
+ "alarm": {
+ "ip": "10.44.55.145",
+ "port": 2000,
+ "user": "root",
+ "password": "test"
+ }
+ },
+ {
+ "emsId": "12309876566",
+ "status": "inactive",
+ "emsName": "EMS_TEST_FAILED",
+ "version": "v1.0",
+ "vendor": "ZTE",
+ "description": "ems description",
+ "resouce": {
+ "ftptype": "sftp",
+ "ip": "10.44.55.15",
+ "port": "2100",
+ "user": "root",
+ "password": "test",
+ "remotepath": "/opt/Gcp/data/",
+ "passive": true
+ },
+ "performance": {
+ "ftptype": "sftp",
+ "ip": "10.44.55.15",
+ "port": "2100",
+ "user": "root",
+ "password": "test",
+ "remotepath": "/opt/Gcp/data/",
+ "passive": true
+ },
+ "alarm": {
+ "ip": "10.44.55.15",
+ "port": 2100,
+ "user": "root",
+ "password": "test"
+ }
+ }
+] \ No newline at end of file