fix: ошибка валидации env vars — выводить внутри модалки
This commit is contained in:
@@ -55,7 +55,7 @@ spec:
|
|||||||
serviceAccountName: fission-console
|
serviceAccountName: fission-console
|
||||||
containers:
|
containers:
|
||||||
- name: console
|
- name: console
|
||||||
image: naeel/fission-console:v1.3.74
|
image: naeel/fission-console:v1.3.75
|
||||||
imagePullPolicy: Always
|
imagePullPolicy: Always
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 8090
|
- containerPort: 8090
|
||||||
|
|||||||
@@ -102,7 +102,7 @@
|
|||||||
<div class="nubes">NUBES</div>
|
<div class="nubes">NUBES</div>
|
||||||
<div class="product">FISSION CONSOLE</div>
|
<div class="product">FISSION CONSOLE</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="font-size:0.65rem; color:var(--text-secondary); margin-left:10px; align-self:center; opacity:0.7;">v1.3.74</div>
|
<div style="font-size:0.65rem; color:var(--text-secondary); margin-left:10px; align-self:center; opacity:0.7;">v1.3.75</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row" style="margin:0;">
|
<div class="row" style="margin:0;">
|
||||||
<button class="btn ghost" onclick="reloadAll()">Refresh</button>
|
<button class="btn ghost" onclick="reloadAll()">Refresh</button>
|
||||||
@@ -400,6 +400,7 @@
|
|||||||
<button id="e-add-envvar-btn" class="btn ghost" style="font-size:12px;" onclick="addEnvVarRow('e')">+ Добавить переменную</button>
|
<button id="e-add-envvar-btn" class="btn ghost" style="font-size:12px;" onclick="addEnvVarRow('e')">+ Добавить переменную</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div id="e-error-msg" style="display:none;color:#f66;font-size:0.85rem;margin-bottom:8px;"></div>
|
||||||
<div class="actions">
|
<div class="actions">
|
||||||
<button class="btn ghost" onclick="closeEdit()">Отмена</button>
|
<button class="btn ghost" onclick="closeEdit()">Отмена</button>
|
||||||
<button id="e-submit" class="btn" onclick="submitEdit()">Сохранить</button>
|
<button id="e-submit" class="btn" onclick="submitEdit()">Сохранить</button>
|
||||||
@@ -509,7 +510,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="actions" style="justify-content:space-between; align-items:center;">
|
<div class="actions" style="justify-content:space-between; align-items:center;">
|
||||||
<span style="font-size:0.75rem; color:var(--text-secondary);">v1.3.74</span>
|
<span style="font-size:0.75rem; color:var(--text-secondary);">v1.3.75</span>
|
||||||
<button class="btn ghost" onclick="closeHelp()">Закрыть</button>
|
<button class="btn ghost" onclick="closeHelp()">Закрыть</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -151,6 +151,8 @@ function parseTimeout(v) {
|
|||||||
|
|
||||||
async function openEdit(name) {
|
async function openEdit(name) {
|
||||||
try {
|
try {
|
||||||
|
var errEl = document.getElementById('e-error-msg');
|
||||||
|
if (errEl) errEl.style.display = 'none';
|
||||||
const fn = await getJSON(API_BASE + '/functions/' + encodeURIComponent(name));
|
const fn = await getJSON(API_BASE + '/functions/' + encodeURIComponent(name));
|
||||||
S.currentEdit = fn;
|
S.currentEdit = fn;
|
||||||
document.getElementById('e-title').textContent = 'Редактирование: ' + name;
|
document.getElementById('e-title').textContent = 'Редактирование: ' + name;
|
||||||
@@ -249,21 +251,25 @@ async function submitEdit() {
|
|||||||
if (!isTfFn) {
|
if (!isTfFn) {
|
||||||
var envVars = collectEnvVars('e');
|
var envVars = collectEnvVars('e');
|
||||||
// Проверка на дубли ключей
|
// Проверка на дубли ключей
|
||||||
var keys = envVars.map(function(e) { return e.name; });
|
var keys = envVars.map(function(ev) { return ev.name; });
|
||||||
var dupes = keys.filter(function(k, i) { return keys.indexOf(k) !== i; });
|
var dupes = keys.filter(function(k, i) { return keys.indexOf(k) !== i; });
|
||||||
if (dupes.length > 0) {
|
if (dupes.length > 0) {
|
||||||
throw new Error('Дублирующиеся ключи переменных: ' + dupes.join(', '));
|
throw new Error('Дублирующиеся ключи: ' + [...new Set(dupes)].join(', '));
|
||||||
}
|
}
|
||||||
await requestJSON(API_BASE + '/functions/' + encodeURIComponent(name) + '/envvars', 'PUT', {
|
await requestJSON(API_BASE + '/functions/' + encodeURIComponent(name) + '/envvars', 'PUT', {
|
||||||
env_vars: envVars
|
env_vars: envVars
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var errEl = document.getElementById('e-error-msg');
|
||||||
|
if (errEl) errEl.style.display = 'none';
|
||||||
closeEdit();
|
closeEdit();
|
||||||
progress.stop('Код обновлён: ' + name, 'ok');
|
progress.stop('Код обновлён: ' + name, 'ok');
|
||||||
await reloadAll();
|
await reloadAll();
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
progress.stop('Ошибка обновления: ' + e.message, 'err');
|
var errEl = document.getElementById('e-error-msg');
|
||||||
|
if (errEl) { errEl.textContent = e.message; errEl.style.display = 'block'; }
|
||||||
|
progress.stop('', '');
|
||||||
} finally {
|
} finally {
|
||||||
btn.disabled = false;
|
btn.disabled = false;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user