mirror of
https://github.com/wekan/wekan.git
synced 2025-09-22 01:50:48 +02:00
Sync Sandstorm URL and page title with the inner Wekan grain
The page title synchronization required implementing reactivity in the kadira:dochead package, see https://github.com/kadirahq/meteor-dochead/pull/25 Closes #403.
This commit is contained in:
parent
875cf0ad56
commit
827663f255
3 changed files with 21 additions and 5 deletions
20
sandstorm.js
20
sandstorm.js
|
@ -54,10 +54,10 @@ if (isSandstorm && Meteor.isServer) {
|
|||
// XXX If this routing scheme changes, this will break. We should generate
|
||||
// the location URL using the router, but at the time of writing, the
|
||||
// it is only accessible on the client.
|
||||
const path = `/boards/${sandstormBoard._id}/${sandstormBoard.slug}`;
|
||||
const boardPath = `/b/${sandstormBoard._id}/${sandstormBoard.slug}`;
|
||||
|
||||
res.writeHead(301, {
|
||||
Location: base + path,
|
||||
Location: base + boardPath,
|
||||
});
|
||||
res.end();
|
||||
|
||||
|
@ -126,6 +126,22 @@ if (isSandstorm && Meteor.isServer) {
|
|||
}
|
||||
|
||||
if (isSandstorm && Meteor.isClient) {
|
||||
// Since the Sandstorm grain is displayed in an iframe of the Sandstorm shell,
|
||||
// we need to explicitly expose meta data like the page title or the URL path
|
||||
// so that they could appear in the browser window.
|
||||
// See https://docs.sandstorm.io/en/latest/developing/path/
|
||||
function updateSandstormMetaData(msg) {
|
||||
return window.parent.postMessage(msg, '*');
|
||||
}
|
||||
|
||||
FlowRouter.triggers.enter([({ path }) => {
|
||||
updateSandstormMetaData({ setPath: path });
|
||||
}]);
|
||||
|
||||
Tracker.autorun(() => {
|
||||
updateSandstormMetaData({ setTitle: DocHead.getTitle() });
|
||||
});
|
||||
|
||||
// XXX Hack. `Meteor.absoluteUrl` doesn't work in Sandstorm, since every
|
||||
// session has a different URL whereas Meteor computes absoluteUrl based on
|
||||
// the ROOT_URL environment variable. So we overwrite this function on a
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue