Source: directives/telegram/1.telegram.js

  /**
     * @ngdoc directives
     * @name Telegram
     * @module s4c.directives.telegram.Telegram
     *
     * @description
     * `Telegram` Controller do Telegram
     *
     * @example
     *   <s4c-telegram>
     *   </s4c-telegram>
     */

(function () {
    'use strict';

    telegramCtrl.$inject = ['$scope'];

    function telegramCtrl($scope, TelegramService, Preset, localize) {

        $scope.res = $scope.$root.res;

        $scope.groups = [];
        $scope.chatActive = false;
        $scope.selectedGroup = {};
        $scope.state = {
            selectedGroup: 'teste'
        };
        $scope.groupOpened = false;

        /**
         * @method getGroups
         */
        TelegramService.getGroups().then(function (groups) {
            $scope.groups = groups;
            var presetGrupo = $scope.presetModulo.extras && $scope.presetModulo.extras.grupoSelecionado;
            if (presetGrupo) {
                $scope.selectGroup(presetGrupo);
            }
        });

        /**
         * @method selectedGroup
         * 
         * @param {*} group
         */
        $scope.selectGroup = function (group) {
            $scope.state.selectedGroup = group;
            $scope.chatActive = true;
            $scope.groupOpened = false;
            $scope.presetModulo.extras = {
                grupoSelecionado: group
            };
            Preset.salvar();
        };

    }

    telegramCtrl.$inject = [
        '$scope',
        'TelegramService',
        'Preset',
        'localize'
    ];

    function s4cTelegram() {
        return {
            restrict: 'E',
            templateUrl: 'app/directives/telegram/telegram.html',
            controller: telegramCtrl,
            scope: {
                'presetModulo': '='
            }
        };
    }

    angular.module('s4c.components.telegram', [])
        .directive('s4cTelegram', s4cTelegram);
}());