import React, { useState } from 'react';
import {Meteor} from "meteor/meteor";
import {Roles} from 'meteor/alanning:roles';
import { useTracker } from 'meteor/react-meteor-data';
import {Link} from 'react-router-dom';
import _ from 'lodash';
import Button from "@mui/material/Button";
import TextField from "@mui/material/TextField";
import MenuItem from '@mui/material/MenuItem';
import {InputLabel, List, ListItem, ListItemButton, ListItemText, Paper} from "@mui/material";
import Box from "@mui/material/Box";
import ToggleButton from '@mui/material/ToggleButton';
import ToggleButtonGroup from '@mui/material/ToggleButtonGroup';
import Dialog from '@mui/material/Dialog';
import DialogActions from '@mui/material/DialogActions';
import DialogContent from '@mui/material/DialogContent';
import DialogContentText from '@mui/material/DialogContentText';
import DialogTitle from '@mui/material/DialogTitle';
import {Editor} from 'react-draft-wysiwyg'
import 'react-draft-wysiwyg/dist/react-draft-wysiwyg.css'
import {Students} from "/imports/api/students";
import {Staff} from "/imports/api/staff";
import {conditions} from "/imports/api/assets";
const cssTwoColumnContainer = {
display: 'grid',
gridTemplateColumns: "1fr 1fr",
columnGap: '1rem',
rowGap: '0.4rem',
}
export const Workshops = () => {
Meteor.subscribe('students');
Meteor.subscribe('staff');
Meteor.subscribe('workshops');
const user = Meteor.user();
const isAdmin = user && Roles.userIsInRole(user._id, 'admin', 'global');
const [selectedWorkshop, setSelectedWorkshop] = useState("")
const {workshops} = useTracker(() => {
let workshops = [];
workshops = Workshops.find({isComplete: false}).fetch();
for(let workshop of workshops) {
for(let user of workshop.signupSheet) {
user.data = Students.findOne({_id: user._id})
if(!user.data) user.data = Staff.findOne({_id: user._id})
}
}
return {workshops}
});
const getListItemStyle = (item) => {
return {
backgroundColor: selectedWorkshop === item ? '#EECFA6' : 'white'
}
}
const newWorkshop = () => {
if(isAdmin) {
setEditedWorkshop({})
setOpenWorkshopEditor(true)
}
}
const editWorkshop = () => {
if(isAdmin && selectedWorkshop) {
setEditedWorkshop({...selectedWorkshop})
setOpenWorkshopEditor(true)
}
}
const [openWorkshopEditor, setOpenWorkshopEditor] = useState(false)
const [editedWorkshop, setEditedWorkshop] = useState(false)
const workshopEditorClosed = (save) => {
const completeHandler = (err, result) => {
if(err) console.error(err)
else {
setOpenWorkshopEditor(false)
setEditedWorkshop(null)
}
}
if(save) {
if(editedWorkshop._id) Meteor.call('workshops.update', editedWorkshop._id, editedWorkshop.name, editedWorkshop.description, editedWorkshop.signupLimit, completeHandler)
else Meteor.call('workshops.add', editedWorkshop.name, editedWorkshop.description, editedWorkshop.signupLimit, completeHandler)
}
else completeHandler()
}
return (
<>
{isAdmin && }
{workshops.map((next, i) => {
return (
{setSelectedWorkshop(next)}}>
)
})}
{/* {selectedWorkshop.description = ""}}/>*/}
{`${selectedWorkshop.description}`}
{selectedWorkshop.signupSheet.map((next, i) => {
return (
)
})}
>
)
}