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()
+ }]);
+ }, []);
+ })
+ }
+ };
+ });