Подробные комментарии ко всем JS-файлам фронтенда
This commit is contained in:
@@ -1,9 +1,27 @@
|
||||
// scenario-create.js — создание и клонирование сценария
|
||||
// scenario-create.js — создание и клонирование сценариев
|
||||
//
|
||||
// createScenario() — открыть редактор для нового сценария
|
||||
// cloneScenario(id) — клонировать существующий (prompt имени → POST /api/scenario/definitions)
|
||||
|
||||
/**
|
||||
* Создать новый сценарий — открывает модальный редактор.
|
||||
*/
|
||||
async function createScenario() {
|
||||
showScenarioEditor(null);
|
||||
showScenarioEditor(null); // null = новый, без определения
|
||||
}
|
||||
|
||||
/**
|
||||
* Клонировать существующий сценарий.
|
||||
*
|
||||
* Алгоритм:
|
||||
* 1. prompt — спросить имя для копии
|
||||
* 2. GET /api/scenario/definitions/{id} — загрузить исходные steps
|
||||
* 3. POST /api/scenario/definitions — создать копию с новым именем
|
||||
* 4. Обновить список сценариев
|
||||
*
|
||||
* @param {number} defId — ID исходного сценария
|
||||
* @param {string} origName — имя исходного (для prompt)
|
||||
*/
|
||||
async function cloneScenario(defId, origName) {
|
||||
const newName = prompt('Имя нового сценария (копия «' + origName + '»):', origName + '_copy');
|
||||
if (!newName) return;
|
||||
@@ -18,7 +36,7 @@ async function cloneScenario(defId, origName) {
|
||||
});
|
||||
const d = await rr.json();
|
||||
if (d.error) { alert(d.error); return; }
|
||||
await loadScenarios();
|
||||
await loadScenarios(); // обновить список
|
||||
} catch (e) {
|
||||
alert('Ошибка клонирования: ' + e.message);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user