import { computed } from 'https://cdn.jsdelivr.net/npm/vue@3/dist/vue.global.prod.js'; import { usePlannerState } from '../../services/planner-state-service.js'; import { SHIFTS } from '../../services/data-constants.js'; export default { name: 'PlannerEditDrawer', props: { modelValue: Boolean, mode: String, }, emits: ['update:modelValue'], setup(props, { emit }) { const { state, methods } = usePlannerState(); const currentAssignmentLabel = computed(() => { if (state.pendingShift) return state.pendingShift.label; if (!state.selectedAgent || !state.selectedDate) return null; const a = methods.getAssignment(state.selectedAgent.id, state.selectedDate); return a ? a.label : null; }); const saveAssignment = () => { methods.saveAssignment(); emit('update:modelValue', false); }; const setPendingShift = (shift) => { state.pendingShift = shift; }; return { state, shifts: SHIFTS, currentAssignmentLabel, saveAssignment, setPendingShift, formatDateForId: methods.formatDateForId, closeDrawer: () => emit('update:modelValue', false), }; }, template: `
{{ mode === 'assignment' ? 'Edit Assignment' : 'Agent Details' }}
{{ state.selectedAgent.name }}
{{ state.selectedAgent.dept }} • {{ state.selectedAgent.role }}
{{ state.selectedAgent.hubName }}
` };