diff --git a/frontend/src/components/left/EventTree.vue b/frontend/src/components/left/EventTree.vue
index f6297dd..9201c63 100644
--- a/frontend/src/components/left/EventTree.vue
+++ b/frontend/src/components/left/EventTree.vue
@@ -7,18 +7,14 @@
-
{{prop.node.label }}
-
+ {{ prop.node.label }}
-
{{ prop.node.label }}
+
{{ prop.node.label }}
@@ -27,7 +23,7 @@
-
{{ prop.node.label}}
+
{{ prop.node.label }}
@@ -42,7 +38,7 @@
import { QTree, useQuasar } from 'quasar';
import { ActionFlow, RootAction } from 'src/types/ActionTypes';
import { useFlowEditorStore } from 'stores/flowEditor';
-import { defineComponent, ref,watchEffect } from 'vue';
+import { defineComponent, ref, watchEffect } from 'vue';
import { IKintoneEvent, IKintoneEventGroup, IKintoneEventNode, kintoneEvent } from '../../types/KintoneEvents';
import FieldSelect from '../FieldSelect.vue';
import ShowDialog from '../ShowDialog.vue';
@@ -80,6 +76,11 @@ export default defineComponent({
const isFieldChange = (node: IKintoneEventNode) => {
return node.header == 'EVENT' && node.eventId.indexOf(".change.") > -1;
}
+
+ const getSelectedClass = (node: IKintoneEventNode) => {
+ return store.selectedEvent && node.eventId === store.selectedEvent.eventId ? 'selected-node' : '';
+ };
+
//フィールド値変更イベント追加
const closeDg = (val: string) => {
if (val == 'OK') {
@@ -132,7 +133,7 @@ export default defineComponent({
const screen = store.eventTree.findEventById(node.parentId);
let flow = store.findFlowByEventId(node.eventId);
- let screenName = screen !== null ? screen.label : "";
+ let screenName = screen !== null ? screen.label : '';
let nodeLabel = node.label;
// if(isFieldChange(node)){
// screenName=nodeLabel;
@@ -159,6 +160,7 @@ export default defineComponent({
tree,
showDialog,
isFieldChange,
+ getSelectedClass,
onSelected,
selectedEvent,
addChangeEvent,
diff --git a/frontend/src/pages/FlowChart.vue b/frontend/src/pages/FlowChart.vue
index 874bead..73ee837 100644
--- a/frontend/src/pages/FlowChart.vue
+++ b/frontend/src/pages/FlowChart.vue
@@ -290,20 +290,8 @@ const onSaveAllFlow= async ()=>{
}
const fetchData = async () => {
+ await store.loadFlow();
drawerLeft.value = true;
- if (store.appInfo === undefined) return;
- const flowCtrl = new FlowCtrl();
- const actionFlows = await flowCtrl.getFlows(store.appInfo?.appId);
- if (actionFlows && actionFlows.length > 0) {
- store.setFlows(actionFlows);
- }
- if (actionFlows && actionFlows.length == 1) {
- store.selectFlow(actionFlows[0]);
- }
- const root = actionFlows[0].getRoot();
- if (root) {
- store.setActiveNode(root);
- }
}
const onClearFilter=()=>{
diff --git a/frontend/src/stores/flowEditor.ts b/frontend/src/stores/flowEditor.ts
index 75dbf11..db31fb8 100644
--- a/frontend/src/stores/flowEditor.ts
+++ b/frontend/src/stores/flowEditor.ts
@@ -64,7 +64,9 @@ export const useFlowEditorStore = defineStore('flowEditor', {
this.selectedFlow = flow;
if(flow!==undefined){
const eventId = flow.getRoot()?.name;
- this.selectedEvent=this.eventTree.findEventById(eventId) as IKintoneEvent;
+ this.selectedEvent = this.eventTree.findEventById(eventId) as IKintoneEvent;
+ } else {
+ this.selectedEvent = undefined;
}
},
setActiveNode(node: IActionNode) {
@@ -86,8 +88,8 @@ export const useFlowEditorStore = defineStore('flowEditor', {
//eventTreeにバンドする
this.eventTree.bindFlows(actionFlows);
if (actionFlows === undefined || actionFlows.length === 0) {
- this.flows = [];
- this.selectedFlow = undefined;
+ this.setFlows([]);
+ this.selectFlow(undefined);
this.expandedScreen =[];
return;
}
@@ -95,6 +97,11 @@ export const useFlowEditorStore = defineStore('flowEditor', {
if (actionFlows && actionFlows.length > 0) {
this.selectFlow(actionFlows[0]);
}
+ const root = actionFlows[0].getRoot();
+ if (root) {
+ this.setActiveNode(root);
+ }
+
const expandEventIds = actionFlows.map((flow) => flow.getRoot()?.name);
const expandScreens:string[]=[];
expandEventIds.forEach((eventid)=>{