import { defineStore } from 'pinia' export const useWorkingFormStore = defineStore('working_form', { state: () => ({ content: null, // Field being edited selectedFieldIndex: null, showEditFieldSidebar: null, showAddFieldSidebar: null }), actions: { set (form) { this.content = form }, setProperties (properties) { this.content.properties = properties }, openSettingsForField (index) { // If field is passed, compute index if (typeof index === 'object') { index = this.content.properties.findIndex(prop => prop.id === index.id) } this.selectedFieldIndex = index this.showEditFieldSidebar = true this.showAddFieldSidebar = false }, closeEditFieldSidebar () { this.selectedFieldIndex = null this.showEditFieldSidebar = false this.showAddFieldSidebar = false }, openAddFieldSidebar (index) { // If field is passed, compute index if (index !== null && typeof index === 'object') { index = this.content.properties.findIndex(prop => prop.id === index.id) } this.selectedFieldIndex = index this.showAddFieldSidebar = true this.showEditFieldSidebar = false }, closeAddFieldSidebar () { this.selectedFieldIndex = null this.showAddFieldSidebar = false this.showEditFieldSidebar = false }, reset() { this.content = null this.selectedFieldIndex = null this.showEditFieldSidebar = null this.showAddFieldSidebar = null } } })