From 3189252d724489e0e682639d7c3a282484004035 Mon Sep 17 00:00:00 2001 From: t8g Date: Thu, 31 Aug 2017 10:17:20 +0200 Subject: [PATCH] [front:editLogs] ignore unknown labels --- client/src/app/isari-data.service.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/client/src/app/isari-data.service.ts b/client/src/app/isari-data.service.ts index 18b6e75b..72de02d2 100644 --- a/client/src/app/isari-data.service.ts +++ b/client/src/app/isari-data.service.ts @@ -104,6 +104,12 @@ export class IsariDataService { } getHistory (feature: string, query: any, lang) { + + function getLabel(schema, path, lang) { + const item = _get(schema, path); + return item ? item.label[lang] : ''; + } + return Observable.combineLatest([ this.http.get(`${this.editLogUrl}/${feature}` + (query.id ? `/${query.id}` : ''), this.getHttpOptions(omit(query, 'id'))) .map((response) => response.json()), @@ -116,7 +122,7 @@ export class IsariDataService { logs = (logs).map(log => { log.diff = log.diff.map(diff => Object.assign(diff, { // if path = [grades, grade] we get _get(schema, 'grades') then _get(schema, 'grades.grade') and we store the labels - _label: diff.path.reduce((a, v, i, s) => [...a, _get(schema, [...s.slice(0, i), v].join('.')).label[lang]], []) + _label: diff.path.reduce((a, v, i, s) => [...a, getLabel(schema, [...s.slice(0, i), v].join('.'), lang)], []) })) // all diffs labels log._labels = log.diff.map(diff => diff._label);