Skip to content

Commit

Permalink
Update defaults for BNF and skip refine field if already added to list
Browse files Browse the repository at this point in the history
  • Loading branch information
jweisman committed Nov 16, 2020
1 parent 2e93bc7 commit 583797f
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 9 deletions.
3 changes: 2 additions & 1 deletion cloudapp/src/app/models/refine-service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -91,9 +91,10 @@ export const defaultRefineServices: RefineServices = {
"fields": [
{ "tag": "1xx", "subfield": "a", "indexes": [], "subfield2": [] },
{ "tag": "6xx", "subfield": "a", "indexes": [], "subfield2": [] },
{ "tag": "75x", "subfield": "a", "indexes": ["/location/location"], "subfield2": [] },
{ "tag": "7xx", "subfield": "a", "indexes": [], "subfield2": [] },
],
"uriSubfield": "0",
"uriSubfield": "1",
"correctTerm": true,
}
}
17 changes: 9 additions & 8 deletions cloudapp/src/app/refine-table/refine-table-datasource.ts
Original file line number Diff line number Diff line change
Expand Up @@ -155,20 +155,21 @@ export class RefineTableDataSource implements DataSource<Bib> {
}
if (field.subfield2.length!=0)
xpath.push(`contains("${field.subfield2.join(' ').toLocaleLowerCase()}", ${lower('subfield[@code="2"]')}) and string-length(subfield[@code="2"]) != 0`);

let datafields = Utils.select(doc, `/record/datafield[${xpath.join(' and ')}]`);
let datafield: Element, subfield: Element;
while (datafield=datafields.iterateNext() as Element) {
let subfields = Utils.select(doc, `subfield[@code="${field.subfield}"]`, {context: datafield});
let uri = Utils.select(doc, `subfield[@code="${this.configService.selectedRefineService.uriSubfield}"]`, {context: datafield, single: true});
if(subfield=subfields.iterateNext() as Element) {
refineFields.push({
tag: datafield.getAttribute('tag'),
subfield: field.subfield,
value: subfield.textContent,
selectedRefineOption: uri.singleNodeValue ? { uri: uri.singleNodeValue.textContent, value: null, previewUrl: null } : null,
indexes: field.indexes
})
if (!refineFields.some(f=>f.tag == datafield.getAttribute('tag') && f.subfield == field.subfield)) {
refineFields.push({
tag: datafield.getAttribute('tag'),
subfield: field.subfield,
value: subfield.textContent,
selectedRefineOption: uri.singleNodeValue ? { uri: uri.singleNodeValue.textContent, value: null, previewUrl: null } : null,
indexes: field.indexes
})
}
}
};
})
Expand Down

0 comments on commit 583797f

Please sign in to comment.