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">
<details name="level1">
<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>
<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>
@ -527,7 +527,11 @@ class CCPExecutionHistory extends HTMLElement {
{
target : "span[name=version]",
apply : (e,d)=>{
e.textContent = `${d.methodversion}`
if(d.ccpnote){
e.textContent = `${d.ccpnote} (${d.methodversion})`
}else{
e.textContent = `${d.methodversion}`
}
}
},
{

View File

@ -142,6 +142,12 @@ class CCPMethodEditorController extends HTMLElement{
<path d="M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19Z" />
</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(){
super();
@ -443,6 +449,7 @@ class CCPMethodEditorController extends HTMLElement{
<span class="mr-2">Inputs</span>
</div>
<div class="ccp-toolbar-right">
${this.renderStandardInputButtons()}
${this.renderPlusButton("add-input")}
</div>
</div>
@ -653,6 +660,27 @@ class CCPMethodEditorController extends HTMLElement{
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=>{
const evname = ev.target.getAttribute('name')
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(){
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}
</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}
</button>
`