Работа над LibsPage

This commit is contained in:
Book Pauk
2020-10-29 15:14:27 +07:00
parent 57e521e2ff
commit bc21ace416
3 changed files with 22 additions and 14 deletions

View File

@@ -125,10 +125,7 @@ class ExternalLibs extends Vue {
} }
while(this.opener) { while(this.opener) {
if (this.opener.closed) { await this.checkOpener();
await this.$root.stdDialog.alert('Потеряна связь с читалкой. Окно будет закрыто', 'Ошибка');
window.close();
}
await utils.sleep(1000); await utils.sleep(1000);
} }
})(); })();
@@ -143,12 +140,24 @@ class ExternalLibs extends Vue {
this.ready = true; this.ready = true;
this.libs = _.cloneDeep(d.data); this.libs = _.cloneDeep(d.data);
this.goToStartLink(); this.goToStartLink();
} else if (d.type == 'notify') {
this.$root.notify.success(d.data);
} }
} }
sendMessage(d) { sendMessage(d) {
if (this.opener && this.openerOrigin) (async() => {
this.opener.postMessage(Object.assign({}, {from: 'ExternalLibs'}, d), this.openerOrigin); await this.checkOpener();
if (this.opener && this.openerOrigin)
this.opener.postMessage(Object.assign({}, {from: 'ExternalLibs'}, d), this.openerOrigin);
})();
}
async checkOpener() {
if (this.opener.closed) {
await this.$root.stdDialog.alert('Потеряна связь с читалкой. Окно будет закрыто', 'Ошибка');
window.close();
}
} }
commitLibs(libs) { commitLibs(libs) {
@@ -283,8 +292,10 @@ class ExternalLibs extends Vue {
submitUrl() { submitUrl() {
if (this.bookUrl) { if (this.bookUrl) {
this.$emit('load-book', {url: this.addProtocol(this.bookUrl), force: true}); this.sendMessage({type: 'submitUrl', data: {url: this.addProtocol(this.bookUrl), force: true}});
this.bookUrl = ''; this.bookUrl = '';
if (this.libs.closeAfterSubmit)
this.close();
} }
} }

View File

@@ -81,6 +81,9 @@ class LibsPage extends Vue {
this.commit('reader/setLibs', d.data); this.commit('reader/setLibs', d.data);
} else if (d.type == 'close') { } else if (d.type == 'close') {
this.close(); this.close();
} else if (d.type == 'submitUrl') {
this.$emit('load-book', d.data);
this.sendMessage({type: 'notify', data: 'Ссылка передана в читалку'});
} }
} }
@@ -105,13 +108,6 @@ class LibsPage extends Vue {
this.sendMessage({type: 'libs', data: this.libs}); this.sendMessage({type: 'libs', data: this.libs});
} }
/* submitUrl() {
if (this.bookUrl) {
this.$emit('load-book', {url: this.addProtocol(this.bookUrl), force: true});
this.bookUrl = '';
}
}*/
close() { close() {
this.$emit('libs-close'); this.$emit('libs-close');
} }

View File

@@ -256,6 +256,7 @@ const settingDefaults = {
const libsDefaults = { const libsDefaults = {
startLink: 'http://flibusta.is', startLink: 'http://flibusta.is',
comment: 'Флибуста | Книжное братство', comment: 'Флибуста | Книжное братство',
closeAfterSubmit: false,
groups: [ groups: [
{r: 'http://flibusta.is', s: 'http://flibusta.is', list: [ {r: 'http://flibusta.is', s: 'http://flibusta.is', list: [
{l: 'http://flibusta.is', c: 'Флибуста | Книжное братство'}, {l: 'http://flibusta.is', c: 'Флибуста | Книжное братство'},