some refactoring and make highlighter change when app changed
This commit is contained in:
@@ -7,18 +7,14 @@
|
|||||||
<q-icon v-if="prop.node.eventId" name="play_circle" :color="prop.node.hasFlow ? 'green' : 'grey'" size="16px"
|
<q-icon v-if="prop.node.eventId" name="play_circle" :color="prop.node.hasFlow ? 'green' : 'grey'" size="16px"
|
||||||
class="q-mr-sm">
|
class="q-mr-sm">
|
||||||
</q-icon>
|
</q-icon>
|
||||||
<div class="no-wrap"
|
<div class="no-wrap" :class="getSelectedClass(prop.node)">{{ prop.node.label }}</div>
|
||||||
:class="selectedEvent && prop.node.eventId === selectedEvent.eventId ? 'selected-node' : ''">{{prop.node.label }}
|
|
||||||
</div>
|
|
||||||
<q-space></q-space>
|
<q-space></q-space>
|
||||||
<!-- <q-icon v-if="prop.node.hasFlow" name="delete" color="negative" size="16px" class="q-mr-sm"></q-icon> -->
|
<!-- <q-icon v-if="prop.node.hasFlow" name="delete" color="negative" size="16px" class="q-mr-sm"></q-icon> -->
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template v-slot:header-CHANGE="prop">
|
<template v-slot:header-CHANGE="prop">
|
||||||
<div class="row col items-start no-wrap event-node">
|
<div class="row col items-start no-wrap event-node">
|
||||||
<div class="no-wrap"
|
<div class="no-wrap" :class="getSelectedClass(prop.node)">{{ prop.node.label }}</div>
|
||||||
:class="selectedEvent && prop.node.eventId === selectedEvent.eventId ? 'selected-node' : ''"
|
|
||||||
>{{ prop.node.label }}</div>
|
|
||||||
<q-space></q-space>
|
<q-space></q-space>
|
||||||
<q-icon name="add_circle" color="primary" size="16px" class="q-mr-sm"
|
<q-icon name="add_circle" color="primary" size="16px" class="q-mr-sm"
|
||||||
@click="addChangeEvent(prop.node)"></q-icon>
|
@click="addChangeEvent(prop.node)"></q-icon>
|
||||||
@@ -27,7 +23,7 @@
|
|||||||
<template v-slot:header-DELETABLE="prop">
|
<template v-slot:header-DELETABLE="prop">
|
||||||
<div class="row col items-start event-node" @click="onSelected(prop.node)">
|
<div class="row col items-start event-node" @click="onSelected(prop.node)">
|
||||||
<q-icon v-if="prop.node.eventId" name="play_circle" :color="prop.node.hasFlow ? 'green' : 'grey'" size="16px" class="q-mr-sm" />
|
<q-icon v-if="prop.node.eventId" name="play_circle" :color="prop.node.hasFlow ? 'green' : 'grey'" size="16px" class="q-mr-sm" />
|
||||||
<div class="no-wrap" :class="selectedEvent && prop.node.eventId === selectedEvent.eventId ? 'selected-node' : ''" >{{ prop.node.label}}</div>
|
<div class="no-wrap" :class="getSelectedClass(prop.node)">{{ prop.node.label }}</div>
|
||||||
<q-space></q-space>
|
<q-space></q-space>
|
||||||
<q-icon name="delete_forever" color="negative" size="16px" @click="deleteEvent(prop.node)"></q-icon>
|
<q-icon name="delete_forever" color="negative" size="16px" @click="deleteEvent(prop.node)"></q-icon>
|
||||||
</div>
|
</div>
|
||||||
@@ -42,7 +38,7 @@
|
|||||||
import { QTree, useQuasar } from 'quasar';
|
import { QTree, useQuasar } from 'quasar';
|
||||||
import { ActionFlow, RootAction } from 'src/types/ActionTypes';
|
import { ActionFlow, RootAction } from 'src/types/ActionTypes';
|
||||||
import { useFlowEditorStore } from 'stores/flowEditor';
|
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 { IKintoneEvent, IKintoneEventGroup, IKintoneEventNode, kintoneEvent } from '../../types/KintoneEvents';
|
||||||
import FieldSelect from '../FieldSelect.vue';
|
import FieldSelect from '../FieldSelect.vue';
|
||||||
import ShowDialog from '../ShowDialog.vue';
|
import ShowDialog from '../ShowDialog.vue';
|
||||||
@@ -80,6 +76,11 @@ export default defineComponent({
|
|||||||
const isFieldChange = (node: IKintoneEventNode) => {
|
const isFieldChange = (node: IKintoneEventNode) => {
|
||||||
return node.header == 'EVENT' && node.eventId.indexOf(".change.") > -1;
|
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) => {
|
const closeDg = (val: string) => {
|
||||||
if (val == 'OK') {
|
if (val == 'OK') {
|
||||||
@@ -132,7 +133,7 @@ export default defineComponent({
|
|||||||
const screen = store.eventTree.findEventById(node.parentId);
|
const screen = store.eventTree.findEventById(node.parentId);
|
||||||
|
|
||||||
let flow = store.findFlowByEventId(node.eventId);
|
let flow = store.findFlowByEventId(node.eventId);
|
||||||
let screenName = screen !== null ? screen.label : "";
|
let screenName = screen !== null ? screen.label : '';
|
||||||
let nodeLabel = node.label;
|
let nodeLabel = node.label;
|
||||||
// if(isFieldChange(node)){
|
// if(isFieldChange(node)){
|
||||||
// screenName=nodeLabel;
|
// screenName=nodeLabel;
|
||||||
@@ -159,6 +160,7 @@ export default defineComponent({
|
|||||||
tree,
|
tree,
|
||||||
showDialog,
|
showDialog,
|
||||||
isFieldChange,
|
isFieldChange,
|
||||||
|
getSelectedClass,
|
||||||
onSelected,
|
onSelected,
|
||||||
selectedEvent,
|
selectedEvent,
|
||||||
addChangeEvent,
|
addChangeEvent,
|
||||||
|
|||||||
@@ -290,20 +290,8 @@ const onSaveAllFlow= async ()=>{
|
|||||||
}
|
}
|
||||||
|
|
||||||
const fetchData = async () => {
|
const fetchData = async () => {
|
||||||
|
await store.loadFlow();
|
||||||
drawerLeft.value = true;
|
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=()=>{
|
const onClearFilter=()=>{
|
||||||
|
|||||||
@@ -64,7 +64,9 @@ export const useFlowEditorStore = defineStore('flowEditor', {
|
|||||||
this.selectedFlow = flow;
|
this.selectedFlow = flow;
|
||||||
if(flow!==undefined){
|
if(flow!==undefined){
|
||||||
const eventId = flow.getRoot()?.name;
|
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) {
|
setActiveNode(node: IActionNode) {
|
||||||
@@ -86,8 +88,8 @@ export const useFlowEditorStore = defineStore('flowEditor', {
|
|||||||
//eventTreeにバンドする
|
//eventTreeにバンドする
|
||||||
this.eventTree.bindFlows(actionFlows);
|
this.eventTree.bindFlows(actionFlows);
|
||||||
if (actionFlows === undefined || actionFlows.length === 0) {
|
if (actionFlows === undefined || actionFlows.length === 0) {
|
||||||
this.flows = [];
|
this.setFlows([]);
|
||||||
this.selectedFlow = undefined;
|
this.selectFlow(undefined);
|
||||||
this.expandedScreen =[];
|
this.expandedScreen =[];
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -95,6 +97,11 @@ export const useFlowEditorStore = defineStore('flowEditor', {
|
|||||||
if (actionFlows && actionFlows.length > 0) {
|
if (actionFlows && actionFlows.length > 0) {
|
||||||
this.selectFlow(actionFlows[0]);
|
this.selectFlow(actionFlows[0]);
|
||||||
}
|
}
|
||||||
|
const root = actionFlows[0].getRoot();
|
||||||
|
if (root) {
|
||||||
|
this.setActiveNode(root);
|
||||||
|
}
|
||||||
|
|
||||||
const expandEventIds = actionFlows.map((flow) => flow.getRoot()?.name);
|
const expandEventIds = actionFlows.map((flow) => flow.getRoot()?.name);
|
||||||
const expandScreens:string[]=[];
|
const expandScreens:string[]=[];
|
||||||
expandEventIds.forEach((eventid)=>{
|
expandEventIds.forEach((eventid)=>{
|
||||||
|
|||||||
Reference in New Issue
Block a user