EPG CRUD
[groupbasedpolicy.git] / groupbasedpolicy-ui / module / src / main / resources / gbp / epg / epg.controller.js
index 56272301644ae476c6aa1dbaf7a6455842fed135..d3013969d364cc77916d95bd045dd9f7772ad47d 100644 (file)
@@ -6,16 +6,84 @@ define([
 
     angular.module('app.gbp').controller('EpgController', EpgController);
 
-    EpgController.$inject = ['$scope', 'EpgService', 'EpgListService'];
+    EpgController.$inject = ['$scope', '$stateParams', '$mdDialog', 'EpgService', 'EpgListService'];
 
-    function EpgController($scope, EpgService, EpgListService) {
-        $scope.epg = EpgService.createObject();
-        $scope.epg.get('epg_test', 'tenant_test');
-        console.log('Epg', $scope.epg);
+    function EpgController($scope, $stateParams, $mdDialog, EpgService, EpgListService) {
+        $scope.epgsTableQuery = {};
+
+        // $scope.epg = EpgService.createObject();
+        // $scope.epg.get($stateParams.epgId, $stateParams.tenantId);
 
         $scope.epgs = EpgListService.createList();
-        $scope.epgs.get('config', 'tenant2');
 
-        console.log('Epgs', $scope.epgs);
+        /* methods */
+        $scope.getEpgList = getEpgList;
+        $scope.openEpgDialog = openEpgDialog;
+        $scope.deleteEpgDialog = deleteEpgDialog;
+
+        init();
+
+        /* Implementations */
+
+        /**
+         * fills $scope.epgs array with data from data store
+         */
+        function getEpgList() {
+            if($stateParams.tenantId) {
+                $scope.epgs = EpgListService.createList();
+                $scope.epgs.get('config', $stateParams.tenantId);
+            }
+            else {
+                $scope.epgs = EpgListService.createList();
+                $scope.epgs.get('config', $scope.rootTenant);
+            }
+        }
+
+        /**
+         * Initializing function
+         */
+        function init() {
+            $scope.epgsTableQuery = {
+                order: 'data.id',
+                limit: 25,
+                page: 1,
+                options: [25, 50, 100],
+                filter: ''
+            };
+
+            getEpgList();
+        }
+
+        function openEpgDialog(epgData) {
+            $mdDialog.show({
+                clickOutsideToClose: true,
+                controller: 'AddEpgController',
+                preserveScope: true,
+                templateUrl: 'src/app/gbp/epg/dialog-add-epg.tpl.html',
+                parent: angular.element(document.body),
+                scope: $scope,
+                locals: {
+                    epg: epgData
+                }
+            });
+        }
+
+        function deleteEpgDialog(epgData) {
+            var confirm = $mdDialog.confirm()
+                .title('Delete EPG')
+                .textContent('Do you want to delete EPG ' + epgData.data.name + '?')
+                .ok('Delete')
+                .cancel('Cancel');
+
+            $mdDialog.show(confirm).then(function() {
+                epgData.deleteEpg($scope.rootTenant,
+                    function() {
+                        $scope.getEpgList();
+                    }
+                );
+            }, function() {
+
+            });
+        }
     }
 });
\ No newline at end of file