* get global setting. If settings does not exists, default valye will be used. * * @param key * @returns {Object|string}
(key)
| 118 | * @returns {Object|string} |
| 119 | */ |
| 120 | get_setting(key) { |
| 121 | var default_values = { |
| 122 | 'theme': null, |
| 123 | 'transparency': false, |
| 124 | 'snap': true, |
| 125 | 'guides': true, |
| 126 | 'safe_search': true, |
| 127 | 'exit_confirm': true, |
| 128 | 'default_units': Object.keys(this.default_units_config)[0], |
| 129 | 'default_units_short': Object.values(this.default_units_config)[0], |
| 130 | 'resolution': 72, |
| 131 | 'thick_guides': false, |
| 132 | 'enable_autoresize': config.enable_autoresize_by_default, |
| 133 | }; |
| 134 | |
| 135 | var value = this.Helper.getCookie(key); |
| 136 | if(value == null && default_values[key] != undefined){ |
| 137 | //set default value |
| 138 | value = default_values[key]; |
| 139 | } |
| 140 | if(key == 'safe_search' && config.safe_search_can_be_disabled === false){ |
| 141 | //not allowed |
| 142 | value = 1; |
| 143 | } |
| 144 | if(key == 'theme' && value == null) { |
| 145 | value = config.themes[0]; |
| 146 | /*if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches |
| 147 | && config.themes.includes('dark')) { |
| 148 | //dark mode |
| 149 | value = 'dark'; |
| 150 | } |
| 151 | else if (window.matchMedia && window.matchMedia('(prefers-color-scheme: light)').matches |
| 152 | && config.themes.includes('light')) { |
| 153 | //light mode |
| 154 | value = 'light'; |
| 155 | }*/ |
| 156 | } |
| 157 | |
| 158 | //finalize values |
| 159 | if(value === 1){ |
| 160 | value = true; |
| 161 | } |
| 162 | if(value === 0){ |
| 163 | value = false; |
| 164 | } |
| 165 | |
| 166 | return value; |
| 167 | } |
| 168 | |
| 169 | } |
| 170 |
no test coverage detected