Bug 11559: Rancor: advanced cataloging interface
[koha.git] / koha-tmpl / intranet-tmpl / lib / koha / cateditor / preferences.js
1 /**
2  * Copyright 2015 ByWater Solutions
3  *
4  * This file is part of Koha.
5  *
6  * Koha is free software; you can redistribute it and/or modify it
7  * under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 3 of the License, or
9  * (at your option) any later version.
10  *
11  * Koha is distributed in the hope that it will be useful, but
12  * WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with Koha; if not, see <http://www.gnu.org/licenses>.
18  */
19
20 define( function() {
21     var Preferences = {
22         Load: function( borrowernumber ) {
23             if ( borrowernumber == null ) return;
24
25             var saved_prefs;
26             try {
27                 saved_prefs = JSON.parse( localStorage[ 'cateditor_preferences_' + borrowernumber ] );
28             } catch (e) {}
29
30             Preferences.user = $.extend( {
31                 // Preference defaults
32                 fieldWidgets: true,
33                 font: 'monospace',
34                 fontSize: '1em',
35                 macros: {},
36                 selected_search_targets: {},
37             }, saved_prefs );
38         },
39
40         Save: function( borrowernumber ) {
41             if ( !borrowernumber ) return;
42             if ( !Preferences.user ) Preferences.Load(borrowernumber);
43
44             localStorage[ 'cateditor_preferences_' + borrowernumber ] = JSON.stringify(Preferences.user);
45         },
46     };
47
48     return Preferences;
49 } );