Merge pull request 'ccp-features' (#1) from ccp-features into master

Reviewed-on: gCubeSystem/cdn-experiments#1
This commit is contained in:
Marco Lettere 2023-05-25 18:40:52 +02:00
commit 16fbe197cc
2 changed files with 44 additions and 4 deletions

View File

@ -62,7 +62,7 @@ class CCPExecutionHistory extends HTMLElement {
<li class="ccp-method-item list-group-item list-group-item-dark"> <li class="ccp-method-item list-group-item list-group-item-dark">
<details name="level1"> <details name="level1">
<summary class="ccp-method-item-header noselect d-flex flex-wrap justify-content-between"> <summary class="ccp-method-item-header noselect d-flex flex-wrap justify-content-between">
<h5 class="text-primary d-inline mr-2"></h5> <h5 class="text-primary d-inline"></h5>
<div> <div>
<span name="failed" title="Failed executions" class="badge badge-danger float-right">Z</span> <span name="failed" title="Failed executions" class="badge badge-danger float-right">Z</span>
<span name="successful" title="Successful executions"class="badge badge-success float-right mr-1">Y</span> <span name="successful" title="Successful executions"class="badge badge-success float-right mr-1">Y</span>
@ -527,7 +527,11 @@ class CCPExecutionHistory extends HTMLElement {
{ {
target : "span[name=version]", target : "span[name=version]",
apply : (e,d)=>{ apply : (e,d)=>{
e.textContent = `${d.methodversion}` if(d.ccpnote){
e.textContent = `${d.ccpnote} (${d.methodversion})`
}else{
e.textContent = `${d.methodversion}`
}
} }
}, },
{ {

View File

@ -143,6 +143,12 @@ class CCPMethodEditorController extends HTMLElement{
</svg> </svg>
` `
#annotation_input_icon = `
<svg viewBox="0 -960 960 960">
<path d="M450-234h60v-129h130v-60H510v-130h-60v130H320v60h130v129ZM220-80q-24 0-42-18t-18-42v-680q0-24 18-42t42-18h361l219 219v521q0 24-18 42t-42 18H220Zm331-554v-186H220v680h520v-494H551ZM220-820v186-186 680-680Z"/>
</svg>
`
constructor(){ constructor(){
super(); super();
this.#boot = document.querySelector("d4s-boot-2") this.#boot = document.querySelector("d4s-boot-2")
@ -443,6 +449,7 @@ class CCPMethodEditorController extends HTMLElement{
<span class="mr-2">Inputs</span> <span class="mr-2">Inputs</span>
</div> </div>
<div class="ccp-toolbar-right"> <div class="ccp-toolbar-right">
${this.renderStandardInputButtons()}
${this.renderPlusButton("add-input")} ${this.renderPlusButton("add-input")}
</div> </div>
</div> </div>
@ -653,6 +660,27 @@ class CCPMethodEditorController extends HTMLElement{
this.renderInputs() this.renderInputs()
}) })
this.#rootdoc.querySelector("button[name=add-ccpannotation]").addEventListener("click", ev=>{
ev.preventDefault()
ev.stopPropagation()
this.#tmp_inputs.push(
{
id : "ccpnote",
title : "Annotations for execution",
description : "The value of this parameter will be associated as annotation to the execution",
minOccurs : 1,
maxOccurs : 1,
schema : {
type : "string",
format : null,
contentMediaType : "text/plain",
default : ""
}
}
)
this.renderInputs()
})
this.#rootdoc.querySelector("div[name=input-list]").addEventListener("click", ev=>{ this.#rootdoc.querySelector("div[name=input-list]").addEventListener("click", ev=>{
const evname = ev.target.getAttribute('name') const evname = ev.target.getAttribute('name')
if(evname === "delete-input"){ if(evname === "delete-input"){
@ -840,12 +868,20 @@ class CCPMethodEditorController extends HTMLElement{
` `
} }
renderStandardInputButtons(){
return `
<button name="add-ccpannotation" title="Add annotation input" name="reset" class="btn btn-info ccp-toolbar-button">
${this.#annotation_input_icon}
</button>
`
}
renderStandardOutputButtons(){ renderStandardOutputButtons(){
return ` return `
<button name="add-stdout" title="Add stdout" name="reset" class="btn btn-success ccp-toolbar-button"> <button name="add-stdout" title="Add stdout" class="btn btn-success ccp-toolbar-button">
${this.#output_icon} ${this.#output_icon}
</button> </button>
<button name="add-stderr" title="Add stderr" name="reset" class="btn btn-danger ccp-toolbar-button"> <button name="add-stderr" title="Add stderr" class="btn btn-danger ccp-toolbar-button">
${this.#output_icon} ${this.#output_icon}
</button> </button>
` `