Skip to content

Commit 11d5537

Browse files
committed
fix id filtering
1 parent 55b9227 commit 11d5537

2 files changed

Lines changed: 26 additions & 16 deletions

File tree

src/app/data.service.ts

Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -108,13 +108,14 @@ export class DataService {
108108
return t.firstName + " " + t.lastName;
109109
}
110110

111-
111+
112112
removeTeacher(id) {
113113
let teachers = this.getTeachers();
114-
teachers.find(e => e.id == id).deleted = true;
114+
let idx = teachers.findIndex(e => e.id === id);
115+
teachers[idx].deleted = true;
115116
this.saveLocalstorage('teachers', teachers);
116117
}
117-
118+
118119

119120
addTeacher(fName, lName, mail) {
120121
let teachers = this.getTeachers();
@@ -140,14 +141,16 @@ export class DataService {
140141
updateTeacher(id, fName, lName, mail) {
141142
let t = this.getTeachers();
142143
// password unset due to asynchronous encryption
143-
t[id] = {id: +id, firstName: fName, lastName: lName, mail: mail, pass: ''};
144+
let idx = t.findIndex(e => e.id === id);
145+
t[idx] = {id: +id, firstName: fName, lastName: lName, mail: mail, pass: ''};
144146
this.saveLocalstorage('teachers', t);
145147
}
146148

147149
setTeacherPassword(id, pass) {
148150
let t = this.getTeachers();
149-
if (!t[id]) return false;
150-
t[id].pass = pass;
151+
let idx = t.findIndex(e => e.id === id);
152+
if (!t[idx]) return false;
153+
t[idx].pass = pass;
151154
this.saveLocalstorage('teachers', t);
152155
}
153156

@@ -185,15 +188,17 @@ export class DataService {
185188

186189
updateClass(id, name, grade) {
187190
let c = this.getClasses();
188-
c[id] = {id: +id, name: name, grade: grade};
191+
let idx = c.findIndex(e => e.id === id);
192+
c[idx] = {id: +id, name: name, grade: grade};
189193
this.saveLocalstorage('classes', c);
190194
}
191195
removeClass(id) {
192196
let c = this.getClasses();
193-
c.find(e => e.id === id).deleted = true;
197+
let idx = c.findIndex(e => e.id === id);
198+
c[idx].deleted = true;
194199
this.saveLocalstorage('classes', c);
195200
}
196-
201+
197202

198203

199204
/******************** Pupil **********************/
@@ -232,13 +237,15 @@ export class DataService {
232237

233238
updatePupil(id, firstName, lastName, classId) {
234239
let p = this.getPupils();
235-
p[id] = {id: +id, firstName: firstName, lastName: lastName, classId: +classId};
240+
let idx = p.findIndex(e => e.id === id);
241+
p[idx] = {id: +id, firstName: firstName, lastName: lastName, classId: +classId};
236242
this.saveLocalstorage('pupils', p);
237243
}
238244

239245
removePupil(id) {
240246
let p = this.getPupils();
241-
p.find(x=>x.id==id).deleted=true;
247+
let idx = p.findIndex(e => e.id === id);
248+
p[idx].deleted = true;
242249
this.saveLocalstorage('pupils', p);
243250
}
244251

@@ -275,6 +282,7 @@ export class DataService {
275282
return this.notes;
276283
}
277284
}
285+
278286
getNotesVisible() {
279287
return this.getNotes().filter(x => !x.deleted);
280288
}
@@ -285,7 +293,7 @@ export class DataService {
285293
}
286294

287295
getNotesOfPupil(pId) {
288-
let notes = this.getNotes();
296+
let notes = this.getNotesVisible();
289297
return notes.filter(e => e.pupilId == pId);
290298
}
291299

@@ -319,14 +327,16 @@ export class DataService {
319327

320328
updateNote(id, pupilId, teacherId, text, date) {
321329
let n = this.getNotes();
322-
n[id] = {id: +id, pupilId: +pupilId, teacherId: +teacherId, text: text, date: date};
330+
let idx = n.findIndex(e => e.id === id);
331+
n[idx] = {id: +id, pupilId: +pupilId, teacherId: +teacherId, text: text, date: date};
323332
this.saveLocalstorage('notes', n);
324333
}
325334

326335
removeNote(id) {
327336
let n = this.getNotes();
328-
n.find(e => e.id === id).deleted = false;
337+
let idx = n.findIndex(e => e.id === id);
338+
n[idx].deleted = true;
329339
this.saveLocalstorage('notes', n);
330340
}
331-
341+
332342
}

src/app/notes/notes.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ export class NotesComponent implements OnInit, OnDestroy {
8383
}
8484

8585
getNotes() {
86-
let n = this.dataService.getNotes();
86+
let n = this.dataService.getNotesVisible();
8787
if (!isNaN(this.pupilId))
8888
return n.filter(e => e.pupilId == this.pupilId);
8989
else

0 commit comments

Comments
 (0)