1(function ($) { 2 'use strict'; 3 4 window.app = { 5 name:'pulse', 6 setting: { 7 folded: false, 8 container: false, 9 color: 'primary', 10 bg: '' 11 } 12 }; 13 14 var setting = 'jqStorage-'+app.name+'-Setting', 15 storage = $.localStorage, 16 color; 17 18 if( storage.isEmpty(setting) ){ 19 storage.set(setting, app.setting); 20 }else{ 21 app.setting = storage.get(setting); 22 } 23 var v = window.location.search.substring(1).split('&'); 24 for (var i = 0; i < v.length; i++) 25 { 26 var n = v[i].split('='); 27 app.setting[n[0]] = (n[1] == "true" || n[1]== "false") ? (n[1] == "true") : n[1]; 28 storage.set(setting, app.setting); 29 } 30 31 setTheme(); 32 33 // init 34 function setTheme(){ 35 36 $('body').removeClass($('body').attr('data-ui-class')).addClass(app.setting.bg).attr('data-ui-class', app.setting.bg); 37 app.setting.folded ? $('#aside').addClass('folded') : $('#aside').removeClass('folded'); 38 $('#aside').length == 0 && (app.setting.container ? $('.app-header .navbar, .app-content').addClass('container') : $('.app-header .navbar, .app-content').removeClass('container')); 39 40 $('.switcher input[value="'+app.setting.color+'"]').prop('checked', true); 41 $('.switcher input[value="'+app.setting.bg+'"]').prop('checked', true); 42 43 $('[data-target="folded"] input').prop('checked', app.setting.folded); 44 $('[data-target="container"] input').prop('checked', app.setting.container); 45 46 if(color != app.setting.color){ 47 uiLoad.remove('css/theme/'+color+'.css'); 48 uiLoad.load('css/theme/'+app.setting.color+'.css'); 49 color = app.setting.color; 50 } 51 } 52 53 // click to switch 54 $(document).on('click.setting', '.switcher input', function(e){ 55 var $this = $(this), $target; 56 $target = $this.parent().attr('data-target') ? $this.parent().attr('data-target') : $this.parent().parent().attr('data-target'); 57 app.setting[$target] = $this.is(':checkbox') ? $this.prop('checked') : $(this).val(); 58 storage.set(setting, app.setting); 59 setTheme(app.setting); 60 }); 61 62})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.