Browse Source

feat(nc-gui): shared-view postmessage on locationchange

pull/3810/head
Denis 2 years ago
parent
commit
6a5b7a472c
  1. 19
      packages/nc-gui/layouts/shared-view.vue

19
packages/nc-gui/layouts/shared-view.vue

@ -1,7 +1,26 @@
<script lang="ts" setup>
import { useRouter } from 'vue-router'
import { navigateTo } from '#app'
const { isLoading, currentVersion } = useGlobal()
const { sharedView } = useSharedView()
const router = useRouter()
if (window.parent !== window) {
const notifyLocationChange = (value: string) =>
window.parent.postMessage(
{
event: 'locationchange',
payload: { value },
},
'*',
)
router.afterEach((to) => notifyLocationChange(location.origin + to.fullPath))
window.addEventListener('beforeunload', () => {
const { href } = document.activeElement as { href?: string }
if (href) notifyLocationChange(href)
})
}
</script>
<script lang="ts">

Loading…
Cancel
Save