Make nodes editable: norms, goals and keyword triggers

This commit is contained in:
Twirre
2025-11-13 10:50:12 +00:00
committed by Gerla, J. (Justin)
parent f534f0cefa
commit aeaf526797
14 changed files with 580 additions and 100 deletions

View File

@@ -457,6 +457,7 @@ describe('Graph Reducer Tests', () => {
nextPhaseId: 'end',
connectedNorms: [],
connectedGoals: [],
connectedTriggers: [],
}]
},
{
@@ -472,6 +473,7 @@ describe('Graph Reducer Tests', () => {
nextPhaseId: 'phase-2',
connectedNorms: [],
connectedGoals: [],
connectedTriggers: [],
},
{
phaseNode: {
@@ -483,6 +485,7 @@ describe('Graph Reducer Tests', () => {
nextPhaseId: 'phase-3',
connectedNorms: [],
connectedGoals: [],
connectedTriggers: [],
},
{
phaseNode: {
@@ -494,6 +497,7 @@ describe('Graph Reducer Tests', () => {
nextPhaseId: 'end',
connectedNorms: [],
connectedGoals: [],
connectedTriggers: [],
}]
},
{
@@ -509,6 +513,7 @@ describe('Graph Reducer Tests', () => {
nextPhaseId: 'phase-2',
connectedNorms: [],
connectedGoals: [],
connectedTriggers: [],
},
{
phaseNode: {
@@ -525,6 +530,7 @@ describe('Graph Reducer Tests', () => {
data: {label: 'Generic Norm', value: "generic"},
}],
connectedGoals: [],
connectedTriggers: [],
},
{
phaseNode: {
@@ -541,6 +547,7 @@ describe('Graph Reducer Tests', () => {
data: {label: 'Generic Norm', value: "generic"},
}],
connectedGoals: [],
connectedTriggers: [],
}]
},
{
@@ -561,6 +568,7 @@ describe('Graph Reducer Tests', () => {
data: {label: 'Generic Norm', value: "generic"},
}],
connectedGoals: [],
connectedTriggers: [],
},
{
phaseNode: {
@@ -583,6 +591,7 @@ describe('Graph Reducer Tests', () => {
data: {label: 'Generic Norm', value: "generic"},
}],
connectedGoals: [],
connectedTriggers: [],
},
{
phaseNode: {
@@ -605,6 +614,7 @@ describe('Graph Reducer Tests', () => {
data: {label: 'Generic Norm', value: "generic"},
}],
connectedGoals: [],
connectedTriggers: [],
}]
},
{
@@ -732,6 +742,7 @@ describe('Graph Reducer Tests', () => {
nextPhaseId: 'end',
connectedNorms: [],
connectedGoals: [],
connectedTriggers: [],
}
const output = defaultPhaseReducer(input);
expect(output).toEqual({
@@ -740,7 +751,8 @@ describe('Graph Reducer Tests', () => {
nextPhaseId: 'end',
phaseData: {
norms: [],
goals: []
goals: [],
triggers: [],
}
});
});
@@ -760,6 +772,7 @@ describe('Graph Reducer Tests', () => {
data: {label: 'Generic Norm', value: "generic"},
}],
connectedGoals: [],
connectedTriggers: [],
}
const output = defaultPhaseReducer(input);
expect(output).toEqual({
@@ -772,7 +785,8 @@ describe('Graph Reducer Tests', () => {
name: 'Generic Norm',
value: "generic"
}],
goals: []
goals: [],
triggers: [],
}
});
});
@@ -790,8 +804,9 @@ describe('Graph Reducer Tests', () => {
id: 'goal-1',
type: 'goal',
position: {x: 0, y: 150},
data: {label: 'Generic Goal', value: "generic"},
data: {label: 'Generic Goal', description: "generic", achieved: false},
}],
connectedTriggers: [],
}
const output = defaultPhaseReducer(input);
expect(output).toEqual({
@@ -803,7 +818,50 @@ describe('Graph Reducer Tests', () => {
goals: [{
id: 'goal-1',
name: 'Generic Goal',
value: "generic"
description: "generic",
achieved: false,
}],
triggers: [],
}
});
});
test("defaultTriggerReducer reduces triggers correctly", () => {
const input : PreparedPhase = {
phaseNode: {
id: 'phase-1',
type: 'phase',
position: {x: 0, y: 150},
data: {label: 'Generic Phase', number: 1},
},
nextPhaseId: 'end',
connectedNorms: [],
connectedGoals: [],
connectedTriggers: [{
id: 'trigger-1',
type: 'trigger',
position: {x: 0, y: 150},
data: {label: 'Keyword Trigger', type: "keywords", value: [
{id: "some_id", keyword: "generic"},
{id: "another_id", keyword: "another"},
]},
}],
}
const output = defaultPhaseReducer(input);
expect(output).toEqual({
id: 'phase-1',
name: 'Generic Phase',
nextPhaseId: 'end',
phaseData: {
norms: [],
goals: [],
triggers: [{
id: 'trigger-1',
label: 'Keyword Trigger',
type: "keywords",
value: [
{id: "some_id", keyword: "generic"},
{id: "another_id", keyword: "another"},
]
}]
}
});
@@ -820,7 +878,8 @@ describe('Graph Reducer Tests', () => {
nextPhaseId: 'end',
phaseData: {
norms: [],
goals: []
goals: [],
triggers: [],
}
}]
},
@@ -833,7 +892,8 @@ describe('Graph Reducer Tests', () => {
nextPhaseId: 'phase-2',
phaseData: {
norms: [],
goals: []
goals: [],
triggers: [],
}
},
{
@@ -842,7 +902,8 @@ describe('Graph Reducer Tests', () => {
nextPhaseId: 'phase-3',
phaseData: {
norms: [],
goals: []
goals: [],
triggers: [],
}
},
{
@@ -851,7 +912,8 @@ describe('Graph Reducer Tests', () => {
nextPhaseId: 'end',
phaseData: {
norms: [],
goals: []
goals: [],
triggers: [],
}
}]
},
@@ -864,7 +926,8 @@ describe('Graph Reducer Tests', () => {
nextPhaseId: 'phase-2',
phaseData: {
norms: [],
goals: []
goals: [],
triggers: [],
}
},
{
@@ -879,7 +942,8 @@ describe('Graph Reducer Tests', () => {
value: "generic"
}
],
goals: []
goals: [],
triggers: [],
}
},
{
@@ -892,7 +956,8 @@ describe('Graph Reducer Tests', () => {
name: 'Generic Norm',
value: "generic"
}],
goals: []
goals: [],
triggers: [],
}
}]
},
@@ -909,7 +974,8 @@ describe('Graph Reducer Tests', () => {
name: 'Generic Norm',
value: "generic"
}],
goals: []
goals: [],
triggers: [],
}
},
{
@@ -929,7 +995,8 @@ describe('Graph Reducer Tests', () => {
value: "generic"
}
],
goals: []
goals: [],
triggers: [],
}
},
{
@@ -947,7 +1014,8 @@ describe('Graph Reducer Tests', () => {
name: 'Generic Norm',
value: "generic"
}],
goals: []
goals: [],
triggers: [],
}
}]
},