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;