// frontend/static/js/workdir_config.js async function getWorkDirConfig() { if (!currentProfile?.work_dir) { showError('No se ha seleccionado un directorio de trabajo'); return null; } try { return await apiRequest(`/workdir-config/${encodeURIComponent(currentProfile.work_dir)}`); } catch (error) { showError('Error al cargar la configuración del directorio de trabajo'); return null; } } async function getGroupConfig(groupId) { if (!currentProfile?.work_dir) { showError('No se ha seleccionado un directorio de trabajo'); return null; } try { return await apiRequest( `/workdir-config/${encodeURIComponent(currentProfile.work_dir)}/group/${groupId}` ); } catch (error) { showError('Error al cargar la configuración del grupo'); return null; } } async function updateGroupConfig(groupId, settings) { if (!currentProfile?.work_dir) { showError('No se ha seleccionado un directorio de trabajo'); return false; } try { await apiRequest( `/workdir-config/${encodeURIComponent(currentProfile.work_dir)}/group/${groupId}`, { method: 'PUT', body: JSON.stringify(settings) } ); showSuccess('Group configuration updated successfully'); return true; } catch (error) { showError('Failed to update group configuration'); return false; } } function showConfigEditor(config, schema) { const modal = document.createElement('div'); modal.className = 'modal active'; const formContent = Object.entries(schema).map(([key, field]) => `
${getInputByType(key, field, config[key])}
`).join(''); modal.innerHTML = ` `; document.body.appendChild(modal); } function getInputByType(key, field, value) { switch (field.type) { case 'select': return ` `; case 'boolean': return ` `; case 'number': return ` `; default: return ` `; } } // static/js/workdir_config.js async function showWorkDirConfig() { if (!currentProfile?.work_dir) { showError('No se ha seleccionado un directorio de trabajo'); return; } try { const config = await getWorkDirConfig(); const content = `

Directory

${currentProfile.work_dir}

Version

${config.version}

Group Configurations

${Object.entries(config.group_settings || {}).map(([groupId, settings]) => `
${groupId}
${JSON.stringify(settings, null, 2)}
`).join('')}
`; createModal('Work Directory Configuration', content); } catch (error) { showError('Error al cargar la configuración del directorio de trabajo'); } } function closeModal(button) { const modal = button.closest('.modal'); if (modal) { modal.remove(); } }