diff --git a/console/ui/index.html b/console/ui/index.html index 74648e9..5f202d8 100644 --- a/console/ui/index.html +++ b/console/ui/index.html @@ -900,70 +900,11 @@ } }; - function onLangChange() { - var lang = document.getElementById('c-lang').value; - var t = LANG_TEMPLATES[lang]; - if (t) { - document.getElementById('c-entry').value = t.entrypoint; - document.getElementById('c-code').value = t.code; - } - } - function openCreate() { - document.getElementById('c-lang').value = 'python'; - onLangChange(); - document.getElementById('c-timeout').value = '60'; - document.getElementById('c-schedule-enabled').checked = false; - document.getElementById('c-cron').value = ''; - toggleScheduleFields('c'); - document.getElementById('create-modal').classList.add('open'); - document.getElementById('c-name').focus(); - } - - function closeCreate() { - document.getElementById('create-modal').classList.remove('open'); - } - - async function submitCreate() { - const btn = document.getElementById('c-submit'); - btn.disabled = true; - const progress = startTimedStatus('Создаём функцию...', 'Создание функции...', explainDelay); - try { - const name = document.getElementById('c-name').value.trim(); - if (!name) throw new Error('name is required'); - const lang = document.getElementById('c-lang').value.trim(); - if (!lang) throw new Error('language is required'); - - await requestJSON(API_BASE + '/functions', 'POST', { - name: name, - language: lang, - entrypoint: document.getElementById('c-entry').value.trim(), - route: document.getElementById('c-route').value.trim(), - methods: parseMethods(document.getElementById('c-methods').value), - timeout: parseTimeout(document.getElementById('c-timeout').value), - code: document.getElementById('c-code').value - }); - - try { - await syncScheduleForFunction(name, 'c'); - } catch (scheduleErr) { - try { - await requestJSON(API_BASE + '/functions/' + encodeURIComponent(name), 'DELETE'); - } catch (rollbackErr) { - scheduleErr.message += '; rollback failed: ' + rollbackErr.message; - } - throw scheduleErr; - } - - closeCreate(); - progress.stop('\u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0430: ' + name, 'ok'); - await reloadAll(); - } catch (e) { - progress.stop('\u041e\u0448\u0438\u0431\u043a\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f: ' + e.message, 'err'); - } finally { - btn.disabled = false; - } - } + // Подключаем CRUD-функции для создания + const scriptFunctions = document.createElement('script'); + scriptFunctions.src = 'js/functions.js'; + document.head.appendChild(scriptFunctions); async function openEdit(name) { try {