group.js 1.78 KB
/*
 * 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.
 */

/*
 ONOS GUI -- Group View Module
 */

(function () {
    'use strict';

    // injected references
    var $log, $scope, $location, fs, tbs;

    angular.module('ovGroup', [])
    .controller('OvGroupCtrl',
        ['$log', '$scope', '$location', '$sce',
            'FnService', 'TableBuilderService',

        function (_$log_, _$scope_, _$location_, $sce, _fs_, _tbs_) {
            var params;
            $log = _$log_;
            $scope = _$scope_;
            $location = _$location_;
            fs = _fs_;
            tbs = _tbs_;

            params = $location.search();
            if (params.hasOwnProperty('devId')) {
                $scope.devId = params['devId'];
            }

            tbs.buildTable({
                scope: $scope,
                tag: 'group',
                query: params
            });

            $scope.$watch('tableData', function () {
                if (!fs.isEmptyObject($scope.tableData)) {
                    $scope.tableData.forEach(function (group) {
                        group.buckets = $sce.trustAsHtml(group.buckets);
                    });
                }
            });

            $log.log('OvGroupCtrl has been created');
        }]);
}());