Zotero.ItemFields.isAutocompleteField: Cache, use Set
This commit is contained in:
parent
a334d9fdd8
commit
6eea3704a9
1 changed files with 29 additions and 27 deletions
|
@ -38,6 +38,7 @@ Zotero.ItemFields = new function() {
|
||||||
var _typeFieldIDsByBase = {};
|
var _typeFieldIDsByBase = {};
|
||||||
var _typeFieldNamesByBase = {};
|
var _typeFieldNamesByBase = {};
|
||||||
var _baseFieldIDsByTypeAndField = {};
|
var _baseFieldIDsByTypeAndField = {};
|
||||||
|
var _autocompleteFields = null;
|
||||||
|
|
||||||
// Privileged methods
|
// Privileged methods
|
||||||
this.getName = getName;
|
this.getName = getName;
|
||||||
|
@ -353,7 +354,8 @@ Zotero.ItemFields = new function() {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
var autoCompleteFields = [
|
if (!_autocompleteFields) {
|
||||||
|
_autocompleteFields = new Set([
|
||||||
'journalAbbreviation',
|
'journalAbbreviation',
|
||||||
'series',
|
'series',
|
||||||
'seriesTitle',
|
'seriesTitle',
|
||||||
|
@ -370,18 +372,18 @@ Zotero.ItemFields = new function() {
|
||||||
'programDirector',
|
'programDirector',
|
||||||
'institution',
|
'institution',
|
||||||
'discipline'
|
'discipline'
|
||||||
];
|
]);
|
||||||
|
|
||||||
// Add the type-specific versions of these base fields
|
// Add the type-specific versions of base fields
|
||||||
var baseACFields = ['publisher', 'publicationTitle', 'type', 'medium', 'place'];
|
for (let baseField of ['publisher', 'publicationTitle', 'type', 'medium', 'place']) {
|
||||||
autoCompleteFields = autoCompleteFields.concat(baseACFields);
|
_autocompleteFields.add(baseField);
|
||||||
|
for (let typeField of Zotero.ItemFields.getTypeFieldsFromBase(baseField, true)) {
|
||||||
for (var i=0; i<baseACFields.length; i++) {
|
_autocompleteFields.add(typeField);
|
||||||
var add = Zotero.ItemFields.getTypeFieldsFromBase(baseACFields[i], true)
|
}
|
||||||
autoCompleteFields = autoCompleteFields.concat(add);
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return autoCompleteFields.includes(fieldName);
|
return _autocompleteFields.has(fieldName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue