Added IMSI detail page
diff --git a/mCordPortal/src/app/components/add-imsi/add-imsi.html b/mCordPortal/src/app/components/add-imsi/add-imsi.html
new file mode 100644
index 0000000..9aa4048
--- /dev/null
+++ b/mCordPortal/src/app/components/add-imsi/add-imsi.html
@@ -0,0 +1,6 @@
+<div class="modal-header">
+ <h3 class="modal-title">Create IMSI</h3>
+</div>
+<div class="modal-body">
+ <xos-form ng-model="vm.model" config="vm.config"></xos-form>
+</div>
\ No newline at end of file
diff --git a/mCordPortal/src/app/components/add-imsi/add-imsi.js b/mCordPortal/src/app/components/add-imsi/add-imsi.js
new file mode 100644
index 0000000..5308a5c
--- /dev/null
+++ b/mCordPortal/src/app/components/add-imsi/add-imsi.js
@@ -0,0 +1,105 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * 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.
+ */
+
+angular.module('mCord')
+ .directive('addImsi', function () {
+ return {
+ restrict: 'E',
+ templateUrl: 'app/components/add-imsi/add-imsi.html',
+ scope: {
+ modal: '='
+ },
+ bindToController: true,
+ controllerAs: 'vm',
+ controller: function(Imsi, Enodeb, _){
+ this.model = {
+ };
+ this.config = {
+ formName: 'createImsi',
+ fields: {
+ Enodeb: {
+ type: 'select',
+ validators: {
+ required: true
+ },
+ options: [
+ {
+ id: 591,
+ label: '591'
+ },
+ {
+ id: 592,
+ label: '592'
+ },
+ {
+ id: 593,
+ label: '593'
+ }
+ ]
+ },
+ DlMeasBitRate: {
+ type: 'number',
+ validators: {
+ required: true
+ }
+ },
+ UlMeasBitRate: {
+ type: 'number',
+ validators: {
+ required: true
+ }
+ }
+ },
+ actions: [
+ {
+ label: 'Save',
+ icon: 'ok',
+ cb: (imsi) => {
+ // TODO validate form (wait for arpit to commit)
+ Imsi.save(imsi).$promise
+ .then(() => {
+ this.modal.close();
+ })
+ .catch(e => {
+ console.log(this.modal);
+ })
+ },
+ class: 'success'
+ },
+ {
+ label: 'Cancel',
+ icon: 'remove',
+ cb: () => {
+ this.modal.close();
+ },
+ class: 'warning'
+ }
+ ]
+ };
+
+ // TODO use this once merged Arpit PR
+ Enodeb.query().$promise
+ .then(enodes => {
+ this.config.fields.Enodeb.options = _.reduce(enodes, (list, enode) => {
+ return list.concat([{
+ id: enode.eNBId,
+ label: enode.eNBId.toString()
+ }]);
+ }, []);
+ })
+ }
+ };
+ });
diff --git a/mCordPortal/src/app/components/related-profiles/related-profiles.js b/mCordPortal/src/app/components/related-profiles/related-profiles.js
index f12f2df..44314ef 100644
--- a/mCordPortal/src/app/components/related-profiles/related-profiles.js
+++ b/mCordPortal/src/app/components/related-profiles/related-profiles.js
@@ -25,7 +25,7 @@
},
bindToController: true,
controllerAs: 'vm',
- controller: function($scope){
+ controller: function($scope, _){
$scope.$watch(() => this.model, enode => {
if(enode){
loadProfiles();
@@ -38,6 +38,13 @@
this.profiles = profiles;
});
};
+
+ this.deleteProfile = (id) => {
+ this.model.deleteProfile(id)
+ .then(() => {
+ _.remove(this.profiles, p => p.Name === id);
+ });
+ }
}
};
});
diff --git a/mCordPortal/src/app/components/related-profiles/related-profiles.tpl.html b/mCordPortal/src/app/components/related-profiles/related-profiles.tpl.html
index e782a6a..9120656 100644
--- a/mCordPortal/src/app/components/related-profiles/related-profiles.tpl.html
+++ b/mCordPortal/src/app/components/related-profiles/related-profiles.tpl.html
@@ -5,6 +5,7 @@
<th>Upload Rate</th>
<th>Start Date</th>
<th>End Date</th>
+ <th></th>
</tr>
<tr ng-repeat="profile in vm.profiles">
<td ng-if="!vm.config.colors">{{profile.Name}}</td>
@@ -21,5 +22,10 @@
</td>
<td>{{profile.Start}}</td>
<td>{{profile.End}}</td>
+ <td ng-if="vm.config.delete">
+ <a href="" ng-click="vm.deleteProfile(profile.Name)">
+ <i class="glyphicon glyphicon-remove"></i>
+ </a>
+ </td>
</tr>
</table>
\ No newline at end of file