Initial cut - untested.

This commit is contained in:
2025-09-25 09:31:02 -07:00
parent 7a0666cc6c
commit 3775522265
33 changed files with 351 additions and 346 deletions

View File

@@ -56,8 +56,8 @@ const StudentEditor = ({value, close, defaultSiteId}) => {
const [active, setActive] = useState(value.active)
const [siteId, setSiteId] = useState(value.siteId ? value.siteId : defaultSiteId)
const {sites} = useTracker(() => {
let sites = Sites.find({}).fetch();
const {sites} = useTracker(async () => {
let sites = await Sites.find({}).fetch();
return {sites}
});
@@ -66,13 +66,13 @@ const StudentEditor = ({value, close, defaultSiteId}) => {
setSiteId(sites[0]._id)
}
const applyChanges = () => {
const applyChanges = async () => {
close()
//TODO Should invert this and only close if there was success on the server.
if(value._id)
Meteor.call("students.update", value._id, id, firstName, firstNameAlias, lastName, email, siteId, grade, active);
await Meteor.callAsync("students.update", value._id, id, firstName, firstNameAlias, lastName, email, siteId, grade, active);
else
Meteor.call("students.add", id, firstName, firstNameAlias, lastName, email, siteId, grade, active);
await Meteor.callAsync("students.add", id, firstName, firstNameAlias, lastName, email, siteId, grade, active);
}
const rejectChanges = () => {
close()
@@ -110,8 +110,8 @@ export default () => {
Meteor.subscribe('sites');
Meteor.subscribe('students');
const {sites} = useTracker(() => {
const sites = Sites.find({}).fetch();
const {sites} = useTracker(async () => {
const sites = await Sites.find({}).fetchAsync();
sites.push(siteAll);
@@ -124,7 +124,7 @@ export default () => {
const [active, setActive] = useState(ACTIVE_BOTH)
const [nameSearch, setNameSearch] = useState("")
const {students} = useTracker(() => {
const {students} = useTracker(async () => {
const studentQuery = site === siteAll._id ? {} : {siteId: site}
if(active !== ACTIVE_BOTH) {
@@ -135,7 +135,7 @@ export default () => {
studentQuery["$or"] = [{firstName: {$regex: nameSearch, $options: 'i'}}, {firstNameAlias: {$regex: nameSearch, $options: 'i'}}, {lastName: {$regex: nameSearch, $options: 'i'}}]
}
let students = Students.find(studentQuery).fetch();
let students = await Students.find(studentQuery).fetchAsync();
return {students}
});