kf save almost good

This commit is contained in:
STEINNI
2025-10-26 20:03:19 +00:00
parent 4e1f6886f2
commit f349ff38f4
5 changed files with 58 additions and 18 deletions
+13 -6
View File
@@ -17,7 +17,7 @@
}
.kf-editor article.agent-properties section{
display: grid;
grid-template-rows: 2em 3em auto;
grid-template-rows: 2em 2em auto;
overflow: visible;
height:100%;
}
@@ -53,11 +53,14 @@
padding: 0 0 0 0;
min-height: 1.2em;
}
.kf-editor article.agent-properties section.kf-actions { border-top: 1px solid #473; padding: 3px 5px 3px 5px; height:3em;}
.kf-editor article.agent-properties section.kf-actions {
border-top: 1px solid #473;
padding: 3px 5px 3px 5px;
height:8em;
}
.kf-editor article.agent-properties section.kf-actions button{
color: #DDD;
padding: 0 0 0 0;
min-height: 2em;
}
.kf-editor button[data-trigger="onAddAgent"] { background-color: #473; }
.kf-editor button[data-trigger="onRemoveAgent"] { background-color: #A00; }
@@ -99,9 +102,13 @@
</div>
<div data-output="agentProperties"></div>
</section>
<section class="kf-actions cols-2">
<button eicbutton rounded data-output="btnSaveKF" data-trigger="onSaveKF">Save KF</button>
<button eicbutton rounded data-output="btnResetKF" data-trigger="onResetKF">Reset KF</button>
<section class="kf-actions">
<label>Keyframe name</label>
<input type="text" data-output="kfName" placeholder="(min 5 chars)"/>
<div class="cols-2">
<button eicbutton rounded data-output="btnSaveKF" data-trigger="onSaveKF">Save KF</button>
<button eicbutton rounded data-output="btnResetKF" data-trigger="onResetKF">Reset KF</button>
</div>
</section>
</article>
+15 -4
View File
@@ -31,6 +31,9 @@ class KeyframeView extends WindozDomContent {
this.agentTypes = types
this.currentAgentType = null
//TODO from browser
this.currentKeyframe = { }
this.outputs.agentsSelector.fillOptions( this.agentTypes.map(item => {
return({ markup: `<i class="icon-${item.atp_hascode ? 'bug' : 'atom1'}"></i>${item.atp_name}`, value: item.atp_id})
}))
@@ -48,7 +51,7 @@ class KeyframeView extends WindozDomContent {
this.outputs.btnAddAgent.disabled = true
this.outputs.btnRemoveAgent.disabled = true
this.outputs.btnSaveKF.disabled = true
this.outputs.kfName.addEventListener('keyup', this.updateKfButtons.bind(this))
this.currentlySelectedAid = null
}
@@ -93,7 +96,8 @@ class KeyframeView extends WindozDomContent {
}
updateKfButtons(){
if(Object.keys(this.kfArena.agents).length > 0) this.outputs.btnSaveKF.disabled = false
if((Object.keys(this.kfArena.agents).length > 0) && (this.outputs.kfName.value.length > 5)) { this.outputs.btnSaveKF.disabled = false }
else { this.outputs.btnSaveKF.disabled = true }
}
fillAgentProperties(aid, agentProps, agentValues = {}){
@@ -140,8 +144,15 @@ class KeyframeView extends WindozDomContent {
}
async onSaveKF(evt){
console.log('SAVE:',this.kfArena.agents)
await this.models.keyframe.save(this.kfArena.agents)
if(!this.currentKeyframe.kfId){ // Create first (and get new kfId)
this.currentKeyframe.kfName = this.outputs.kfName.value
const result = await this.models.keyframes.create(this.currentKeyframe)
this.currentKeyframe.kfId = result.payload.kfId
} else if(this.currentKeyframe.kfName != this.outputs.kfName.value){ //rename
this.currentKeyframe.kfName = this.outputs.kfName.value
const result = await this.models.keyframes.rename(this.currentKeyframe)
}
await this.models.keyframes.save(this.currentKeyframe.kfId, this.kfArena.agents)
}
}