diff --git a/client/components/Reader/LibsPage/LibsPage.vue b/client/components/Reader/LibsPage/LibsPage.vue index 7bd59a50..c89a8780 100644 --- a/client/components/Reader/LibsPage/LibsPage.vue +++ b/client/components/Reader/LibsPage/LibsPage.vue @@ -8,6 +8,7 @@ import Vue from 'vue'; import Component from 'vue-class-component'; import Window from '../../share/Window.vue'; +import * as utils from '../../../share/utils'; //import rstore from '../../../store/modules/reader'; export default @Component({ @@ -29,6 +30,16 @@ class LibsPage extends Vue { init() { this.popupWindow = window.open(`http://${window.location.host}/?p=external-libs#/external-libs`); + if (this.popupWindow) { + //Проверка закрытия окна + (async() => { + while(this.popupWindow) { + if (this.popupWindow && this.popupWindow.closed) + this.close(); + await utils.sleep(1000); + } + })(); + } this.loadLibs(); } @@ -54,7 +65,7 @@ class LibsPage extends Vue { }*/ close() { - this.$emit('do-action', {action: 'libs'}); + this.$emit('libs-close'); } } //----------------------------------------------------------------------------- diff --git a/client/components/Reader/Reader.vue b/client/components/Reader/Reader.vue index 108ba033..4d586476 100644 --- a/client/components/Reader/Reader.vue +++ b/client/components/Reader/Reader.vue @@ -85,7 +85,7 @@ @stop-text-search="stopTextSearch"> - + @@ -714,6 +714,11 @@ class Reader extends Vue { } } + libsClose() { + if (this.libsActive) + this.libsToogle(); + } + libsToogle() { this.libsActive = !this.libsActive; if (this.libsActive) { @@ -1217,9 +1222,6 @@ class Reader extends Vue { if (!handled && this.copyTextActive) handled = this.$refs.copyTextPage.keyHook(event); - if (!handled && this.libsActive) - handled = this.$refs.libsPage.keyHook(event); - if (!handled && this.$refs.page && this.$refs.page.keyHook) handled = this.$refs.page.keyHook(event);