// The Lucia project. // Copyright 2023-2026 DSP, inc. All rights reserved. // Authors: // chiayin.kuo@dsp.im (chiayin), 2023/1/31 // imacat.yang@dsp.im (imacat), 2023/9/23 // cindy.chang@dsp.im (Cindy Chang), 2024/5/30 /** * @module stores/conformanceInput Temporary storage for user input * during conformance rule configuration. Unlike stores/conformance * which handles API integration, this store focuses on caching * user selections before submission. */ import { defineStore } from "pinia"; import moment from "moment"; /** * Pinia store for caching user input during conformance rule editing. */ export const useConformanceInputStore = defineStore("conformanceInputStore", { state: () => ({ inputDataToSave: { inputStart: null, // TODO: clarify whether "start" means activity start or time start inputEnd: null, min: null, max: null, type: null, task: null, }, activityRadioData: { category: null, task: ["", ""], }, }), getters: {}, actions: { /** * Sets the activity radio global state for either the start ('From') or end ('To') of a task. * We arrange in this way because backend needs us to communicate in this way. * @param {object} actRadioData * @param {string} fromToStr 'From' or 'To' */ setActivityRadioStartEndData(actRadioData, fromToStr) { switch (fromToStr) { case "From": this.activityRadioData.task[0] = actRadioData; break; case "To": this.activityRadioData.task[this.activityRadioData.task.length - 1] = actRadioData; break; default: break; } }, }, });