blob: 402aa07deadbd4c7d5e7e7a71d62ae2fa3c935d5 [file] [log] [blame]
Matteo Scandolo06107602016-06-03 16:37:24 -07001(function () {
2 'use strict';
3
4 angular.module('mCord')
5 .directive('eNodeList', function () {
6 return {
7 restrict: 'E',
8 scope: {},
9 controllerAs: 'vm',
10 templateUrl: 'app/view/enode-list/e-node-list.tpl.html',
Matteo Scandolo76b29ae2016-07-14 13:47:51 -070011 controller: function($uibModal, _, Enodeb){
Matteo Scandolo06107602016-06-03 16:37:24 -070012
13 Enodeb.query().$promise
14 .then((enodes) => {
Matteo Scandolo06107602016-06-03 16:37:24 -070015 this.enodes = enodes;
Matteo Scandoloeccf4972016-06-13 11:32:05 -070016 });
Matteo Scandolo06107602016-06-03 16:37:24 -070017
18 this.tableConfig = {
Matteo Scandolob2946032016-06-10 11:24:58 -070019 order: true,
20 filter: 'field',
Matteo Scandolo06107602016-06-03 16:37:24 -070021 columns: [
22 {
23 label: '#',
Matteo Scandolobe342fa2016-06-08 15:54:55 -070024 prop: 'eNBId',
25 link: item => `#/enode/${item.eNBId}`
Matteo Scandolo06107602016-06-03 16:37:24 -070026 },
27 {
28 label: 'Ip Address',
29 prop: 'IpAddr'
30 },
31 {
32 label: 'Description',
33 prop: 'Description'
34 },
35 {
36 label: 'Status',
37 prop: 'Status',
38 type: 'boolean'
39 }
Matteo Scandolo76b29ae2016-07-14 13:47:51 -070040 ],
41 actions: [
42 {
43 label: 'delete',
44 icon: 'remove',
45 cb: (item) => {
46 item.$delete()
47 .then(() => {
48 _.remove(this.enodes, item);
49 })
50 .catch(e => {
51 console.log(e);
52 })
53 },
54 color: 'red'
55 }
Matteo Scandolo06107602016-06-03 16:37:24 -070056 ]
Matteo Scandolobe342fa2016-06-08 15:54:55 -070057 };
58
59 this.addEnode = () => {
60 this.modalInstance = $uibModal.open({
61 animation: true,
62 templateUrl: 'addEnode',
63 controllerAs: 'vm',
64 controller: function($uibModalInstance){
65 this.modal = $uibModalInstance;
66 }
67 });
68 };
Matteo Scandolo06107602016-06-03 16:37:24 -070069
70 }
71 }
72 });
73}());