master #16

Merged
m.lettere merged 3 commits from master into prod 2024-06-06 10:02:40 +02:00
1 changed files with 39 additions and 7 deletions

View File

@ -85,14 +85,22 @@ class CCPExecutionForm extends HTMLElement{
<h5>Options</h5>
</div>
<div class="card-body">
<div class="col form-check">
<div class="p-1">
<label class="small text-muted p-0">Select what you like to archive automatically when the execution is completed.</label>
<select name="archive-selector" class="form-select p-2" style="padding:2px">
<option value="execution" title="Automatically archive the whole execution provenance to the workspace">Automatically archive whole execution provenance</option>
<option value="outputs" title="Automatically archive only the outputs to the workspace">Automatically archive uncompressed outputs only</option>
<option value="none" title="Do not archive anything">Do not archive anything automatically</option>
</select>
</div>
<!--div class="col form-check">
<input class="form-check-input" type="checkbox" name="auto-archive" alt="Automatically archive the whole execution with metadata to workspace folder" title="Automatically archive the whole execution with metadata to workspace folder">
<label class="form-check-label">Automatically archive whole execution to workspace</label>
<label class="form-check-label">Automatically archive the entire execution provenance to workspace</label>
</div>
<div class="col form-check">
<input class="form-check-input" type="checkbox" name="auto-archive-outputs" alt="Automatically archive only the outputs to workspace" title="Automatically archive only the outputs to workspace" checked="checked">
<label class="form-check-label">Automatically archive outputs to workspace</label>
</div>
</div-->
</div>
</div>
<div class="card">
@ -258,14 +266,24 @@ class CCPExecutionForm extends HTMLElement{
if(o.enabled) request.outputs[o.name] = { transmissionMode : "value" };
})
const autoarchiveoption = this.#rootdoc.querySelector("input[name='auto-archive']")
/*const autoarchiveoption = this.#rootdoc.querySelector("input[name='auto-archive']")
const autoarchiveoutputsoption = this.#rootdoc.querySelector("input[name='auto-archive-outputs']")
if (autoarchiveoption.checked || autoarchiveoutputsoption.checked){
request.subscribers = []
if(autoarchiveoption.checked) request.subscribers.push({ successUri : "http://registry:8080/executions/archive-to-folder" })
if(autoarchiveoutputsoption.checked) request.subscribers.push({ successUri : "http://registry:8080/executions/outputs/archive-to-folder" })
}*/
const archiveoption = this.#rootdoc.querySelector("select[name='archive-selector']").value
switch(archiveoption){
case 'execution':
request.subscribers = [{ successUri : "http://registry:8080/executions/archive-to-folder" }]
break;
case 'outputs':
request.subscribers = [{ successUri : "http://registry:8080/executions/outputs/archive-to-folder" }]
break
default:
break
}
return request
}
@ -286,9 +304,23 @@ class CCPExecutionForm extends HTMLElement{
})
}
//initOptionValues(request){
// const autoarchiveoption = this.#rootdoc.querySelector("select[name='auto-archive-outputs']")
// autoarchiveoption.checked = request.subscribers && request.subscribers.filter(s=>s.successUri === "http://registry:8080/executions/archive-to-folder").length === 1
//}
initOptionValues(request){
const autoarchiveoption = this.#rootdoc.querySelector("input[name='auto-archive-outputs']")
autoarchiveoption.checked = request.subscribers && request.subscribers.filter(s=>s.successUri === "http://registry:8080/executions/archive-to-folder").length === 1
const archiveselector = this.#rootdoc.querySelector("select[name='archive-selector']")
if(request.subscribers){
if(request.subscribers.filter(s=>s.successUri === "http://registry:8080/executions/archive-to-folder").length === 1){
archiveselector.value = "execution"
}else if(request.subscribers.filter(s=>s.successUri === "http://registry:8080/executions/outputs/archive-to-folder").length === 1){
archiveselector.value = "outputs"
}else{
archiveselector.value = "none"
}
}else{
archiveselector.value = "none"
}
}
prepareFromExecution(exec){