UPD: Profile selection & renaming
This commit is contained in:
@@ -13,10 +13,7 @@
|
|||||||
:class="{ 'bg-zinc-300': selected }"
|
:class="{ 'bg-zinc-300': selected }"
|
||||||
@submit.prevent="
|
@submit.prevent="
|
||||||
() => {
|
() => {
|
||||||
// store.renameProfile(profile.id, nameInput)
|
$emit('rename', { profile: profile.name, name: nameInput })
|
||||||
console.log('Renaming profile to:', nameInput)
|
|
||||||
console.log('NOT IMPLEMENTED YET!')
|
|
||||||
// TODO: Implement deviceStore.renameProfile
|
|
||||||
editing = false
|
editing = false
|
||||||
}
|
}
|
||||||
"
|
"
|
||||||
@@ -140,7 +137,7 @@ import { Check, Copy, PenLine, Trash2, X, GripHorizontal } from 'lucide-vue-next
|
|||||||
import ScrambleText from '@renderer/components/common/ScrambleText.vue'
|
import ScrambleText from '@renderer/components/common/ScrambleText.vue'
|
||||||
import { nextTick, ref } from 'vue'
|
import { nextTick, ref } from 'vue'
|
||||||
|
|
||||||
defineEmits(['select', 'duplicate', 'delete'])
|
defineEmits(['select', 'rename', 'duplicate', 'delete'])
|
||||||
|
|
||||||
const nameSubmitButton = ref(null)
|
const nameSubmitButton = ref(null)
|
||||||
|
|
||||||
|
|||||||
@@ -109,10 +109,18 @@
|
|||||||
:selected="deviceStore.currentProfileName === dragProfile.element.name"
|
:selected="deviceStore.currentProfileName === dragProfile.element.name"
|
||||||
@select="
|
@select="
|
||||||
() => {
|
() => {
|
||||||
console.log('Select profile not implemented!')
|
deviceStore.selectProfile(dragProfile.element.name)
|
||||||
showProfileConfig = true
|
showProfileConfig = true
|
||||||
}
|
}
|
||||||
"
|
"
|
||||||
|
@rename="
|
||||||
|
(event) => {
|
||||||
|
deviceStore.renameProfile(event.profile, event.name)
|
||||||
|
if (deviceStore.currentProfileName === event.profile) {
|
||||||
|
deviceStore.selectProfile(event.name)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"
|
||||||
@duplicate="console.log('Duplicate profile not implemented!')"
|
@duplicate="console.log('Duplicate profile not implemented!')"
|
||||||
@delete="console.log('Delete profile not implemented!')"
|
@delete="console.log('Delete profile not implemented!')"
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -86,6 +86,12 @@ export const useDeviceStore = defineStore('device', {
|
|||||||
this.attachedDeviceIds.push(deviceId)
|
this.attachedDeviceIds.push(deviceId)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
selectProfile(profileName: string, updateDevice: boolean = true) {
|
||||||
|
this.currentProfileName = profileName
|
||||||
|
if (updateDevice) {
|
||||||
|
nanoIpc.send(this.currentDeviceId!, JSON.stringify({ current: profileName }))
|
||||||
|
}
|
||||||
|
},
|
||||||
addProfile(profile: Profile, updateDevice: boolean = true) {
|
addProfile(profile: Profile, updateDevice: boolean = true) {
|
||||||
if (!this.profileNames.includes(profile.name)) {
|
if (!this.profileNames.includes(profile.name)) {
|
||||||
this.profileNames.push(profile.name)
|
this.profileNames.push(profile.name)
|
||||||
@@ -103,6 +109,21 @@ export const useDeviceStore = defineStore('device', {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
renameProfile(oldName: string, newName: string, updateDevice: boolean = true) {
|
||||||
|
if (this.profileNames.includes(newName)) {
|
||||||
|
console.error('Profile name already exists:', newName)
|
||||||
|
}
|
||||||
|
const profile = this.profiles.find((p) => p.name === oldName)
|
||||||
|
if (profile) {
|
||||||
|
profile.name = newName
|
||||||
|
if (updateDevice) {
|
||||||
|
nanoIpc.send(
|
||||||
|
this.currentDeviceId!,
|
||||||
|
JSON.stringify({ profile: oldName, updates: { name: newName } })
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
detachDevice(deviceId: string) {
|
detachDevice(deviceId: string) {
|
||||||
const index = this.attachedDeviceIds.indexOf(deviceId)
|
const index = this.attachedDeviceIds.indexOf(deviceId)
|
||||||
if (index !== -1) {
|
if (index !== -1) {
|
||||||
@@ -207,7 +228,12 @@ export const initializeDevices = () => {
|
|||||||
nanoIpc.listAttachedDevices().then((deviceIds) => {
|
nanoIpc.listAttachedDevices().then((deviceIds) => {
|
||||||
deviceStore.setAttachedDeviceIds(deviceIds)
|
deviceStore.setAttachedDeviceIds(deviceIds)
|
||||||
if (!deviceStore.connected && deviceIds.length > 0) {
|
if (!deviceStore.connected && deviceIds.length > 0) {
|
||||||
nanoIpc.connect(deviceIds[0])
|
nanoIpc.connect(deviceIds[0]).catch((e) => {
|
||||||
|
console.error(e)
|
||||||
|
console.log('Serial port might still be open, requesting profiles...')
|
||||||
|
deviceStore.connectDevice(deviceIds[0], false)
|
||||||
|
nanoIpc.send(deviceIds[0], JSON.stringify({ profiles: '#all' }))
|
||||||
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user