Scaffold: Automatically load last opened translator
This commit is contained in:
parent
9b6d6c109c
commit
65048fd624
1 changed files with 28 additions and 6 deletions
|
@ -111,7 +111,14 @@ var Scaffold = new function () {
|
||||||
|
|
||||||
document.getElementById('tabpanels').addEventListener('select', event => Scaffold.handleTabSelect(event));
|
document.getElementById('tabpanels').addEventListener('select', event => Scaffold.handleTabSelect(event));
|
||||||
|
|
||||||
this.generateTranslatorID();
|
let lastTranslatorID = Zotero.Prefs.get('scaffold.lastTranslatorID');
|
||||||
|
if (lastTranslatorID) {
|
||||||
|
document.getElementById("textbox-translatorID").value = lastTranslatorID;
|
||||||
|
document.getElementById("textbox-label").value = 'Loading…';
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
this.generateTranslatorID();
|
||||||
|
}
|
||||||
|
|
||||||
// Add List fields help menu entries for all other item types
|
// Add List fields help menu entries for all other item types
|
||||||
var types = Zotero.ItemTypes.getAll().map(t => t.name).sort();
|
var types = Zotero.ItemTypes.getAll().map(t => t.name).sort();
|
||||||
|
@ -182,6 +189,15 @@ var Scaffold = new function () {
|
||||||
|
|
||||||
_translatorsLoadedPromise = Scaffold_Translators.load();
|
_translatorsLoadedPromise = Scaffold_Translators.load();
|
||||||
_translatorProvider = Scaffold_Translators.getProvider();
|
_translatorProvider = Scaffold_Translators.getProvider();
|
||||||
|
|
||||||
|
if (lastTranslatorID) {
|
||||||
|
this.load(lastTranslatorID).then((success) => {
|
||||||
|
if (!success) {
|
||||||
|
Zotero.Prefs.clear('scaffold.lastTranslatorID');
|
||||||
|
this.newTranslator(true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
this.promptForTranslatorsDirectory = async function () {
|
this.promptForTranslatorsDirectory = async function () {
|
||||||
|
@ -586,9 +602,11 @@ var Scaffold = new function () {
|
||||||
this.setFontSize(currentSize - 2);
|
this.setFontSize(currentSize - 2);
|
||||||
};
|
};
|
||||||
|
|
||||||
this.newTranslator = async function () {
|
this.newTranslator = async function (skipSave) {
|
||||||
_logOutput('Saving translator and resetting...');
|
if (!skipSave) {
|
||||||
await this.save();
|
_logOutput('Saving translator and resetting...');
|
||||||
|
await this.save();
|
||||||
|
}
|
||||||
|
|
||||||
this.generateTranslatorID();
|
this.generateTranslatorID();
|
||||||
document.getElementById('textbox-label').value = 'Untitled';
|
document.getElementById('textbox-label').value = 'Untitled';
|
||||||
|
@ -621,7 +639,7 @@ var Scaffold = new function () {
|
||||||
this.load = async function (translatorID) {
|
this.load = async function (translatorID) {
|
||||||
await _translatorsLoadedPromise;
|
await _translatorsLoadedPromise;
|
||||||
|
|
||||||
var translator = false;
|
var translator;
|
||||||
if (translatorID === undefined) {
|
if (translatorID === undefined) {
|
||||||
var io = {};
|
var io = {};
|
||||||
io.translatorProvider = _translatorProvider;
|
io.translatorProvider = _translatorProvider;
|
||||||
|
@ -635,7 +653,7 @@ var Scaffold = new function () {
|
||||||
}
|
}
|
||||||
|
|
||||||
// No translator was selected in the dialog.
|
// No translator was selected in the dialog.
|
||||||
if (!translator) return;
|
if (!translator) return false;
|
||||||
|
|
||||||
for (var id in _propertyMap) {
|
for (var id in _propertyMap) {
|
||||||
document.getElementById(id).value = translator[_propertyMap[id]] || "";
|
document.getElementById(id).value = translator[_propertyMap[id]] || "";
|
||||||
|
@ -700,6 +718,10 @@ var Scaffold = new function () {
|
||||||
|
|
||||||
this.updateModelMarkers(translator.path);
|
this.updateModelMarkers(translator.path);
|
||||||
_lastModifiedTime = new Date().getTime();
|
_lastModifiedTime = new Date().getTime();
|
||||||
|
|
||||||
|
Zotero.Prefs.set('scaffold.lastTranslatorID', translator.translatorID);
|
||||||
|
|
||||||
|
return true;
|
||||||
};
|
};
|
||||||
|
|
||||||
function _getMetadataObject() {
|
function _getMetadataObject() {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue