mirror of
https://github.com/n8n-io/n8n.git
synced 2025-03-05 20:50:17 -08:00
fix(editor): Fix svg background pattern rendering on safari (#12079)
This commit is contained in:
parent
f18263bc8f
commit
36eb25c9f5
|
@ -200,13 +200,18 @@ describe('Canvas', () => {
|
|||
describe('background', () => {
|
||||
it('should render default background', () => {
|
||||
const { container } = renderComponent();
|
||||
expect(container.querySelector('#pattern-canvas')).toBeInTheDocument();
|
||||
const patternCanvas = container.querySelector('#pattern-canvas');
|
||||
expect(patternCanvas).toBeInTheDocument();
|
||||
expect(patternCanvas?.innerHTML).toContain('<circle');
|
||||
expect(patternCanvas?.innerHTML).not.toContain('<path');
|
||||
});
|
||||
|
||||
it('should render striped background', () => {
|
||||
const { container } = renderComponent({ props: { readOnly: true } });
|
||||
expect(container.querySelector('#pattern-canvas')).not.toBeInTheDocument();
|
||||
expect(container.querySelector('#diagonalHatch')).toBeInTheDocument();
|
||||
const patternCanvas = container.querySelector('#pattern-canvas');
|
||||
expect(patternCanvas).toBeInTheDocument();
|
||||
expect(patternCanvas?.innerHTML).toContain('<path');
|
||||
expect(patternCanvas?.innerHTML).not.toContain('<circle');
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -686,8 +686,13 @@ provide(CanvasKey, {
|
|||
<CanvasArrowHeadMarker :id="arrowHeadMarkerId" />
|
||||
|
||||
<Background data-test-id="canvas-background" pattern-color="#aaa" :gap="GRID_SIZE">
|
||||
<template v-if="readOnly" #pattern-container>
|
||||
<CanvasBackgroundStripedPattern :x="viewport.x" :y="viewport.y" :zoom="viewport.zoom" />
|
||||
<template v-if="readOnly" #pattern-container="patternProps">
|
||||
<CanvasBackgroundStripedPattern
|
||||
:id="patternProps.id"
|
||||
:x="viewport.x"
|
||||
:y="viewport.y"
|
||||
:zoom="viewport.zoom"
|
||||
/>
|
||||
</template>
|
||||
</Background>
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
*/
|
||||
import { computed } from 'vue';
|
||||
const props = defineProps<{
|
||||
id: string;
|
||||
x: number;
|
||||
y: number;
|
||||
zoom: number;
|
||||
|
@ -16,7 +17,7 @@ const patternOffset = computed(() => scaledGap.value / 2);
|
|||
|
||||
<template>
|
||||
<pattern
|
||||
id="diagonalHatch"
|
||||
:id="id"
|
||||
patternUnits="userSpaceOnUse"
|
||||
:x="x % scaledGap"
|
||||
:y="y % scaledGap"
|
||||
|
@ -26,7 +27,6 @@ const patternOffset = computed(() => scaledGap.value / 2);
|
|||
>
|
||||
<path :d="`M0 ${scaledGap / 2} H${scaledGap}`" :stroke-width="scaledGap / 2" />
|
||||
</pattern>
|
||||
<rect x="0" y="0" width="100%" height="100%" fill="url(#diagonalHatch)" />
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
|
|
Loading…
Reference in a new issue