|
|
@@ -225,12 +225,13 @@ module.exports = function(crowi, app) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- function addRenderVarsForPage(renderVars, page) {
|
|
|
+ function addRenderVarsForPage(renderVars, page, compareRevisionIds = []) {
|
|
|
renderVars.page = page;
|
|
|
renderVars.revision = page.revision;
|
|
|
renderVars.pageIdOnHackmd = page.pageIdOnHackmd;
|
|
|
renderVars.revisionHackmdSynced = page.revisionHackmdSynced;
|
|
|
renderVars.hasDraftOnHackmd = page.hasDraftOnHackmd;
|
|
|
+ renderVars.compareRevisionIds = compareRevisionIds;
|
|
|
|
|
|
if (page.creator != null) {
|
|
|
renderVars.page.creator = renderVars.page.creator.toObject();
|
|
|
@@ -364,6 +365,7 @@ module.exports = function(crowi, app) {
|
|
|
async function showPageForGrowiBehavior(req, res, next) {
|
|
|
const path = getPathFromRequest(req);
|
|
|
const revisionId = req.query.revision;
|
|
|
+ const compare = req.query.compare;
|
|
|
const layoutName = configManager.getConfig('crowi', 'customize:layout');
|
|
|
|
|
|
let page = await Page.findByPathAndViewer(path, req.user);
|
|
|
@@ -393,9 +395,11 @@ module.exports = function(crowi, app) {
|
|
|
page = await page.seen(req.user);
|
|
|
}
|
|
|
|
|
|
+ const compareRevisionIds = compare ? compare.split('...') : [];
|
|
|
+
|
|
|
// populate
|
|
|
page = await page.populateDataToShowRevision();
|
|
|
- addRenderVarsForPage(renderVars, page);
|
|
|
+ addRenderVarsForPage(renderVars, page, compareRevisionIds);
|
|
|
addRenderVarsForScope(renderVars, page);
|
|
|
|
|
|
await addRenderVarsForSlack(renderVars, page);
|
|
|
@@ -452,6 +456,7 @@ module.exports = function(crowi, app) {
|
|
|
actions.showSharedPage = async function(req, res, next) {
|
|
|
const { linkId } = req.params;
|
|
|
const revisionId = req.query.revision;
|
|
|
+ const compare = req.query.compare;
|
|
|
|
|
|
const layoutName = configManager.getConfig('crowi', 'customize:layout');
|
|
|
|
|
|
@@ -485,9 +490,11 @@ module.exports = function(crowi, app) {
|
|
|
|
|
|
page.initLatestRevisionField(revisionId);
|
|
|
|
|
|
+ const compareRevisionIds = compare ? compare.split('...') : [];
|
|
|
+
|
|
|
// populate
|
|
|
page = await page.populateDataToShowRevision();
|
|
|
- addRenderVarsForPage(renderVars, page);
|
|
|
+ addRenderVarsForPage(renderVars, page, compareRevisionIds);
|
|
|
addRenderVarsForScope(renderVars, page);
|
|
|
|
|
|
await interceptorManager.process('beforeRenderPage', req, res, renderVars);
|