From cc9f90acfce2d625b9f1ca20c934ed808a60bd9d Mon Sep 17 00:00:00 2001 From: Martchus Date: Tue, 31 Jan 2023 14:10:02 +0100 Subject: [PATCH] Make it easier to select build action when pre-defined task is selected --- srv/static/index.html | 2 +- srv/static/js/buildactionspage.js | 23 +++++++++++++++++++++-- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/srv/static/index.html b/srv/static/index.html index d9edba5..e6d7334 100644 --- a/srv/static/index.html +++ b/srv/static/index.html @@ -180,7 +180,7 @@

- +
diff --git a/srv/static/js/buildactionspage.js b/srv/static/js/buildactionspage.js index 628f09c..0d14291 100644 --- a/srv/static/js/buildactionspage.js +++ b/srv/static/js/buildactionspage.js @@ -27,12 +27,31 @@ export function initBuildActionsForm() }; listFormElements.showselected.onclick = showSelectedActions; listFormElements.deleteselected.onclick = deleteSelectedActions; + + // allow selecting build action type / unselecting pre-defined action more easily + document.getElementById('build-action-type').parentNode.onclick = function() { + document.getElementById('build-action-task').selectedIndex = 0; + handleBuildActionPresetChange(); + }; + queryBuildActions(); handleBuildActionTypeChange(); buildActionsForm.dataset.initialized = true; return true; } +function setBuildActionTypeState(enabled) +{ + const e = document.getElementById('build-action-type'); + if (!enabled) { + e.disabled = true; + e.style.pointerEvents = 'none'; + } else { + e.disabled = false; + e.style.pointerEvents = 'auto'; + } +} + function queryBuildActions(additionalParams) { additionalParams = additionalParams === undefined ? '' : '?' + additionalParams; @@ -163,13 +182,13 @@ export function handleBuildActionPresetChange() const taskInfoElement = Utils.getAndEmptyElement('build-action-task-info'); const actionSelect = document.getElementById('build-action-type'); if (!taskInfo) { - actionSelect.disabled = false; + setBuildActionTypeState(true); taskInfoElement.style.fontStyle = 'italic'; taskInfoElement.appendChild(document.createTextNode('Start a single action (no predefined task selected)')); handleBuildActionTypeChange(); return; } - actionSelect.disabled = true; + setBuildActionTypeState(false); taskInfoElement.style.fontStyle = 'normal'; taskInfoElement.appendChild(document.createTextNode(taskInfo.desc || taskInfo.name)); document.getElementById('build-action-directory').disabled = false;