88 <fieldset >
99 <legend >{{ t('logreader', 'Filter logging levels') }}</legend >
1010 <NcCheckboxRadioSwitch
11- v-for =" levelName, levelId in LOGGING_LEVEL_NAMES"
11+ v-for =" ( levelName, levelId) in LOGGING_LEVEL_NAMES"
1212 :key =" levelId"
13- :checked =" shownLevels"
14- :value =" `${levelId}`"
15- name =" logging_level"
16- @update:checked =" setShowLevels" >
13+ :model-value =" shownLevels[levelId]"
14+ @update:model-value =" setShowLevels(levelId)" >
1715 {{ levelName }}
1816 </NcCheckboxRadioSwitch >
1917 </fieldset >
@@ -36,10 +34,21 @@ const settingsStore = useSettingsStore()
3634/**
3735 * Get shown logging levels (to allow filter levels)
3836 */
39- const shownLevels = computed (() => settingsStore .shownLevels .map ((l ) => ` ${l } ` ))
40-
41- const setShowLevels = debounce ((levels : string []) => {
42- const numericLevels = levels .map ((level ) => parseInt (level )) as IAppSettings [' shownLevels' ]
37+ const shownLevels = computed (() => {
38+ return Object .fromEntries (Object .keys (LOGGING_LEVEL_NAMES ).map ((level ) => {
39+ return [level , settingsStore .shownLevels .includes (parseInt (level ))]
40+ }))
41+ })
42+
43+ const setShowLevels = debounce ((level : number ) => {
44+ const newShownLevels = {
45+ ... shownLevels .value ,
46+ [level ]: ! shownLevels .value [level ],
47+ }
48+
49+ const numericLevels = Object .keys (newShownLevels )
50+ .filter ((level ) => newShownLevels [level ])
51+ .map ((level ) => parseInt (level )) as IAppSettings [' shownLevels' ]
4352
4453 settingsStore .setSetting (' shownLevels' , numericLevels )
4554 .catch (() => showError (t (' logreader' , ' Could not set logging levels to show' )))
0 commit comments