function generateEventToggles(eventInfo, eventConfig) { let cardContent = $('
') cardContent.append('
" + eventInfo['key'] + "") ).append( $("

" + eventInfo['explain'] + "

") ) cardContent.append( $('
').append( $('
') ).append( $('

') ) ) return cardContent } async function generateNewFlagsConfigFile(eventData) { let flagConfig = {} for(const flagIter in eventData['flags']) { flagConfig[eventData['flags'][flagIter]['id']] = { 'toggle': true, 'str': eventData['flags'][flagIter]['str'] } } return flagConfig } async function readFlagsConfigFile(eventData) { try { return await $.getJSON("static/asset/config/flags.json", function(data) { return data }) } catch { return await generateNewFlagsConfigFile(eventData) } } async function readEventsJsonFile() { return await $.getJSON("static/asset/json/events.json", function(data) { return data }) } $(document).ready(async function() { let eventData = await readEventsJsonFile() let flagConfig = await readFlagsConfigFile(eventData) for(const flagIter in eventData['flags']) { if(flagConfig[eventData['flags'][flagIter]['id']] === undefined) flagConfig[eventData['flags'][flagIter]['id']] = { 'toggle': true } $('.card').append( generateEventToggles(eventData['flags'][flagIter], flagConfig[eventData['flags'][flagIter]['id']]) ) } console.log(flagConfig) $('#flags-submit').on('click', async function() { $.each($('span.check'), function(index, value) { for(const flagIter in eventData['flags']) { let toggle = true if($(value).css('background-color').includes("54, 54, 54")) { toggle = false } if(eventData['flags'][flagIter]['id'] === $(value).parent().children('input').attr('name')) { flagConfig[eventData['flags'][flagIter]['id']] = { 'toggle': toggle, 'str': eventData['flags'][flagIter]['str'] } } } }) await emit("manageStartupFlags", {flagConfig: flagConfig}).then( function(response) { alert('Saved.') }, function(error) { console.log(error) } ) }) })