(core) Hides the link icon in print view

Summary:
Users complained about white spaces left by the link icon when printing.
Diff fixes the issue by hiding link icon completely.

Test Plan: Adds tests in `nbrowser/Printing.ts`

Reviewers: jarek

Reviewed By: jarek

Differential Revision: https://phab.getgrist.com/D3767
This commit is contained in:
Cyprien P
2023-01-18 17:43:39 +01:00
parent 1dafe4bae0
commit ca5ae6fa3f
4 changed files with 20 additions and 5 deletions

View File

@@ -10,7 +10,7 @@ import {getStorage} from 'app/client/lib/storage';
import {urlState} from 'app/client/models/gristUrlState';
import {getTheme, ProductFlavor} from 'app/client/ui/CustomThemes';
import {Theme, ThemeAppearance} from 'app/common/ThemePrefs';
import {dom, makeTestId, Observable, styled, TestId} from 'grainjs';
import {dom, DomElementMethod, makeTestId, Observable, styled, TestId} from 'grainjs';
import debounce = require('lodash/debounce');
import values = require('lodash/values');
@@ -893,3 +893,16 @@ function getOrCreateStyleElement(id: string) {
document.head.append(style);
return style;
}
// A dom method to hide element in print view
export function hideInPrintView(): DomElementMethod {
return cssHideInPrint.cls('');
}
const cssHideInPrint = styled('div', `
@media print {
& {
display: none !important;
}
}
`);

View File

@@ -1,5 +1,5 @@
import { sameDocumentUrlState, urlState } from 'app/client/models/gristUrlState';
import { theme } from 'app/client/ui2018/cssVars';
import { hideInPrintView, theme } from 'app/client/ui2018/cssVars';
import { CellValue } from 'app/plugin/GristData';
import { dom, IDomArgs, Observable, styled } from 'grainjs';
@@ -30,6 +30,7 @@ export function gristLink(href: string|Observable<string>, ...args: IDomArgs<HTM
// from running on the same process as Grist:
// https://developers.google.com/web/tools/lighthouse/audits/noopener
dom.attr("rel", "noopener noreferrer"),
hideInPrintView(),
args
);
}