{"size": 1569, "ext": "js", "max_stars_repo_path": "web/gui/src/main/webapp/app/view/topo2/topo2Prefs.js", "max_stars_repo_name": "BharatSaraswal-huawei/local", "max_stars_repo_stars_event_min_datetime": "2017-04-11T02:54:28.000Z", "max_stars_repo_stars_event_max_datetime": "2018-09-26T10:32:58.000Z", "max_issues_repo_path": "web/gui/src/main/webapp/app/view/topo2/topo2Prefs.js", "max_issues_repo_name": "BharatSaraswal-huawei/local", "max_issues_repo_issues_event_min_datetime": "2020-03-04T21:42:57.000Z", "max_issues_repo_issues_event_max_datetime": "2021-12-09T19:59:19.000Z", "max_forks_repo_path": "web/gui/src/main/webapp/app/view/topo2/topo2Prefs.js", "max_forks_repo_name": "BharatSaraswal-huawei/local", "max_forks_repo_forks_event_min_datetime": "2017-12-06T14:07:27.000Z", "max_forks_repo_forks_event_max_datetime": "2017-12-12T12:21:46.000Z"}
{"max_stars_count": 4, "max_issues_count": 14, "max_forks_count": 2, "avg_line_length": 23.4179104478, "max_line_length": 74, "alphanum_fraction": 0.5889101338}
/*
* Copyright 2016-present 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.
*/

(function () {

    // Injected Services
    var ps;

    var defaultPrefsState = {
        insts: 1,
        summary: 1,
        detail: 1,
        hosts: 0,
        offdev: 1,
        dlbls: 0,
        porthl: 1,
        bg: 0,
        spr: 0,
        ovidx: 1,   // default to traffic overlay
        toolbar: 0
    };

    function topo2Prefs() {
        return ps.getPrefs('topo_prefs', defaultPrefsState);
    }

    function get(key) {
        var preferences = topo2Prefs();
        return preferences[key];
    }

    function set(key, value) {
        var preferences = topo2Prefs();
        preferences[key] = value;
        ps.setPrefs('topo_prefs', preferences);
        return preferences[key];
    }

    angular.module('ovTopo2')
    .factory('Topo2PrefsService',
    ['PrefsService',

        function (_ps_) {

            ps = _ps_;

            return {
                get: get,
                set: set
            };
        }
    ]);
})();
