From 144eb1d5c428e819c1e9fcf8c76c8654c8f7df41 Mon Sep 17 00:00:00 2001 From: granawkins Date: Fri, 20 Oct 2023 07:49:45 +0700 Subject: [PATCH] basic nonfunctional ace --- src/components/ace/AgentEditor.vue | 48 +++++++++++++++++++++++++ src/components/ace/AgentSelector.vue | 50 ++++++++++++++++++++++++++ src/components/ace/index.js | 2 ++ src/components/entry/Menu.vue | 4 +++ src/router.js | 4 +-- src/store/modules/AceStore.js | 42 ++++++++++++++++++++++ src/views/AceView.vue | 53 ++++++++++++++++++++++++++++ 7 files changed, 200 insertions(+), 3 deletions(-) create mode 100644 src/components/ace/AgentEditor.vue create mode 100644 src/components/ace/AgentSelector.vue create mode 100644 src/components/ace/index.js create mode 100644 src/store/modules/AceStore.js create mode 100644 src/views/AceView.vue diff --git a/src/components/ace/AgentEditor.vue b/src/components/ace/AgentEditor.vue new file mode 100644 index 000000000..748faa639 --- /dev/null +++ b/src/components/ace/AgentEditor.vue @@ -0,0 +1,48 @@ + + + + + diff --git a/src/components/ace/AgentSelector.vue b/src/components/ace/AgentSelector.vue new file mode 100644 index 000000000..eb0926846 --- /dev/null +++ b/src/components/ace/AgentSelector.vue @@ -0,0 +1,50 @@ + + + + + + + diff --git a/src/components/ace/index.js b/src/components/ace/index.js new file mode 100644 index 000000000..422382a9e --- /dev/null +++ b/src/components/ace/index.js @@ -0,0 +1,2 @@ +export {default as AgentEditor} from './AgentEditor.vue' +export {default as AgentSelector} from './AgentSelector.vue' diff --git a/src/components/entry/Menu.vue b/src/components/entry/Menu.vue index 357da8d42..48852b715 100644 --- a/src/components/entry/Menu.vue +++ b/src/components/entry/Menu.vue @@ -11,6 +11,7 @@ + @@ -93,6 +94,9 @@ export default { * this Menu, but in live mode that menu is bypassed and they must be manually set here * before the Dashboard components can be rendered. */ + toAce() { + this.$router.push('ace') + }, toLiveDashboard() { // duplicated in Login.vue this.currentMode = 'live' // set 'live' mode diff --git a/src/router.js b/src/router.js index 0a8f04631..a676180a9 100644 --- a/src/router.js +++ b/src/router.js @@ -36,13 +36,11 @@ export default createRouter({ name: 'menuconfig', component: () => import('@/components/entry/MenuConfig.vue'), }, - /* { path: '/ace', name: 'ace', - conponent: () => import('@/views/AceView.vue'), + component: () => import('@/views/AceView.vue'), }, - */ { path: '/configuration', name: 'configuration', diff --git a/src/store/modules/AceStore.js b/src/store/modules/AceStore.js new file mode 100644 index 000000000..7501522f6 --- /dev/null +++ b/src/store/modules/AceStore.js @@ -0,0 +1,42 @@ +import {defineStore} from 'pinia' +import axios from 'axios' + +export const useAceStore = defineStore('AceStore', { + state: () => ({ + defaultAgentDesc: {}, + userAgentDesc: {}, + }), + actions: { + loadDefaultAgentDesc() { + axios.get('/get_agent_desc').then(response => { + this.defaultAgentDesc = response.data + }) + }, + getAgentClasses() { + // Return combined keys of defaultAgentDesc and userAgentDesc + const defaultClasses = Object.keys(this.defaultAgentDesc) + const userClasses = Object.keys(this.userAgentDesc) + return defaultClasses.concat(userClasses) + }, + getAgentsInClass(agentClass) { + // Return combined keys of defaultAgentDesc and userAgentDesc + let agents = [] + if (this.defaultAgentDesc[agentClass]) { + agents = agents.concat(this.defaultAgentDesc[agentClass]) + } + if (this.userAgentDesc[agentClass]) { + agents = agents.concat(this.userAgentDesc[agentClass]) + } + return agents + }, + getAgentData(agentName) { + if (this.defaultAgentDesc[agentName]) { + return this.defaultAgentDesc[agentName] + } else if (this.userAgentDesc[agentName]) { + return this.userAgentDesc[agentName] + } else { + return null + } + }, + }, +}) diff --git a/src/views/AceView.vue b/src/views/AceView.vue new file mode 100644 index 000000000..df7738c6b --- /dev/null +++ b/src/views/AceView.vue @@ -0,0 +1,53 @@ + + + + + + +