Source: components/admin/controllers/scroller.controller.js

/**
 * @ngdoc controllers
 * @name Scroller
 * @module s4c.components.admin.controllers.Scroller
 *
 * @description
 * `ScrollerCtrl` Controller da tela de Scroller do módulo de administração
 * 
 * 
 */
(function () {
    'use strict';

    function ScrollerCtrl($scope, $http, API_ENDPOINT, $mdDialog) {

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

        $scope.scrollers = [];
        $scope.scrollers[0] = {};
        $scope.scrollers[1] = {};
        $scope.scrollers[2] = {};
        $scope.model = [];

        $http.get(API_ENDPOINT + 'scroller/')
            .then(function (res) {
                $scope.scrollers[0] = res.data[0] != null ? res.data[0] : {};
                $scope.scrollers[1] = res.data[1] != null ? res.data[1] : {};
                $scope.scrollers[2] = res.data[2] != null ? res.data[2] : {};

                if (!$scope.scrollers[0].rss) {
                    $scope.scrollers[0].rss = { url: '' };
                }

                if (!$scope.scrollers[1].rss) {
                    $scope.scrollers[1].rss = { url: '' };
                }

                if (!$scope.scrollers[2].rss) {
                    $scope.scrollers[2].rss = { url: '' };
                }

                if ($scope.scrollers[0].tipo == 'RSS') {
                    $scope.model[0] = $scope.scrollers[0].rss.url;
                } else {
                    $scope.model[0] = $scope.scrollers[0].frase;
                }

                if ($scope.scrollers[1].tipo == 'RSS') {
                    $scope.model[1] = $scope.scrollers[1].rss.url;
                } else {
                    $scope.model[1] = $scope.scrollers[1].frase;
                }

                if ($scope.scrollers[2].tipo == 'RSS') {
                    $scope.model[2] = $scope.scrollers[2].rss.url;
                } else {
                    $scope.model[2] = $scope.scrollers[2].frase;
                }
            });

        $scope.salvarScroller = function () {
            $http.put(API_ENDPOINT + 'scroller/', $scope.scrollers)
                .then(function (scroller) {
                    $mdDialog
                        .show($mdDialog.alert()
                            .title('Sucesso.')
                            .content('Scroller salvo com sucesso.')
                            .ok('OK'));
                });
        };

        $scope.$watch('model[0]', function () {

            if ($scope.scrollers[0].tipo == 'RSS') {
                $scope.scrollers[0].rss.url = $scope.model[0];
                $scope.model[0] = $scope.scrollers[0].rss.url;
            } else {
                $scope.scrollers[0].frase = $scope.model[0];
                $scope.model[0] = $scope.scrollers[0].frase;
            }
        });

        $scope.$watch('model[1]', function () {

            if ($scope.scrollers[1].tipo == 'RSS') {
                $scope.scrollers[1].rss.url = $scope.model[1];
                $scope.model[1] = $scope.scrollers[1].rss.url;
            } else {
                $scope.scrollers[1].frase = $scope.model[1];
                $scope.model[1] = $scope.scrollers[1].frase;
            }
        });

        $scope.$watch('model[2]', function () {

            if ($scope.scrollers[2].tipo == 'RSS') {
                $scope.scrollers[2].rss.url = $scope.model[2];
                $scope.model[2] = $scope.scrollers[2].rss.url;
            } else {
                $scope.scrollers[2].frase = $scope.model[2];
                $scope.model[2] = $scope.scrollers[2].frase;
            }
        });


        $scope.$watch('scrollers[0].tipo', function () {

            if ($scope.scrollers[0].tipo == 'RSS') {
                $scope.scrollers[0].rss.url = $scope.model[0];
                $scope.model[0] = $scope.scrollers[0].rss.url;
            } else {
                $scope.scrollers[0].frase = $scope.model[0];
                $scope.model[0] = $scope.scrollers[0].frase;
            }
        });

        $scope.$watch('scrollers[1].tipo', function () {

            if ($scope.scrollers[1].tipo == 'RSS') {
                $scope.scrollers[1].rss.url = $scope.model[1];
                $scope.model[1] = $scope.scrollers[1].rss.url;
            } else {
                $scope.scrollers[1].frase = $scope.model[1];
                $scope.model[1] = $scope.scrollers[1].frase;
            }
        });

        $scope.$watch('scrollers[2].tipo', function () {

            if ($scope.scrollers[2].tipo == 'RSS') {
                $scope.scrollers[2].rss.url = $scope.model[2];
                $scope.model[2] = $scope.scrollers[2].rss.url;
            } else {
                $scope.scrollers[2].frase = $scope.model[2];
                $scope.model[2] = $scope.scrollers[2].frase;
            }
        });
    }

    angular.module('s4c.controllers.ScrollerCtrl', [
        'ngMaterial'
    ])
        .controller('ScrollerCtrl', ScrollerCtrl);

    ScrollerCtrl.$inject = ['$scope', '$http', 'API_ENDPOINT', '$mdDialog'];

}());