source : layoutCtrl.js

(function (angular) {
    'use strict';
    /**
     * @memberof spApp
     * @ngdoc controller
     * @name LayoutCtrl
     * @description
     *   main spatial-hub container
     */
    angular.module('layout-ctrl', ['layout-service', 'url-params-service'])
        .controller('LayoutCtrl', ['$scope', 'LayoutService', 'SessionsService', '$timeout', '$location', 'MapService', 'UrlParamsService',
            function ($scope, LayoutService, SessionsService, $timeout, $location, MapService, UrlParamsService) {
                $scope.panelMode = LayoutService.panelMode;
                $scope.showOptions = LayoutService.showOptions;
                $scope.showLegend = LayoutService.showLegend;
                $scope.toOpenStack = LayoutService.toOpenStack;
                $scope.panelData = LayoutService.panelData;
                $scope.optionsVisible = true;
                $scope.toggleOptions = function (show) {
                    if (show) {
                        $scope.optionsVisible = true;
                        $SH.defaultPaneResizer.show('south');
                    } else {
                        $scope.optionsVisible = false;
                        $SH.defaultPaneResizer.hide('south');
                    }
                };
                $scope.$watch('toOpenStack', function () {
                    if (LayoutService.toOpenStack.length > 0) {
                        LayoutService.openFromStack(LayoutService.toOpenStack[0]);
                        LayoutService.toOpenStack.pop()
                    }
                }, true);
                var params = $location.search();
                if (params && Object.keys(params).length !== 0) {
                    UrlParamsService.processUrlParams(params);
                }
                //init a saved session
                $scope.loadSession = function (sessionId) {
                    if (sessionId) sessionId = sessionId[0].replace('?ss=', '').replace('&ss=', '');
                    if (sessionId) {
                        SessionsService.load(sessionId)
                    }
                };
            }])
}(angular));