Overhaul Scaffold (#2293)

This commit is contained in:
Abe Jellinek 2021-12-28 17:32:56 -08:00 committed by Dan Stillman
parent a7cf689df2
commit 5409ae3313
24 changed files with 1936 additions and 1013 deletions

View file

@ -7,16 +7,16 @@ var Scaffold_Translators = {
_provider: null,
_translators: new Map(),
_translatorFiles: new Map(),
_onLoadBeginListener: null,
_onLoadCompleteListener: null,
load: Zotero.serial(async function (reload, filenames) {
load: Zotero.serial(async function (reload) {
if (this._translators.size && !reload) {
Zotero.debug("Scaffold: Translators already loaded");
return;
}
if (filenames) {
return { numLoaded: 0, numDeleted: 0 };
}
if (this._onLoadBeginListener) this._onLoadBeginListener();
var t = new Date();
var dir = this.getDirectory();
@ -77,6 +77,13 @@ var Scaffold_Translators = {
this._translators.delete(id);
}
}
if (this._onLoadCompleteListener) this._onLoadCompleteListener();
return {
numLoaded,
numDeleted: deletedTranslators.size
};
}),
deleteByID: async function (translatorID) {
@ -93,6 +100,10 @@ var Scaffold_Translators = {
getDirectory: function () {
return Zotero.Prefs.get('scaffold.translatorsDir');
},
getModifiedTime: function (translatorID) {
return this._translators.get(translatorID)?.mtime;
},
getProvider: function () {
if (this._provider) {
@ -139,5 +150,10 @@ var Scaffold_Translators = {
}.bind(this)
});
return this._provider;
},
setLoadListener({ onLoadBegin, onLoadComplete }) {
this._onLoadBeginListener = onLoadBegin;
this._onLoadCompleteListener = onLoadComplete;
}
};
};