Skip to content

Commit fd217ca

Browse files
committed
fix: address grid templates lint
1 parent 206dab9 commit fd217ca

10 files changed

Lines changed: 37 additions & 26 deletions

File tree

packages/editor/src/extensions/additional/GridBlockTemplates/GridBlockTemplates.test.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,11 @@ describe('GridBlockTemplates extension', () => {
4747
doc(
4848
gridBlockTemplates({
4949
[GridBlockTemplatesAttrs.blocks]: [
50-
{id: 'block-1', css: '& { padding: 12px; }\nh3 { margin: 0; }', content: 'First'},
50+
{
51+
id: 'block-1',
52+
css: '& { padding: 12px; }\nh3 { margin: 0; }',
53+
content: 'First',
54+
},
5155
],
5256
[GridBlockTemplatesAttrs.customCss]: '.grid { align-items: center; }',
5357
[GridBlockTemplatesAttrs.EntityId]: 'grid_block_templates-1',

packages/editor/src/extensions/additional/GridBlockTemplates/GridBlockTemplatesNodeView/GridBlockItem.tsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
1+
import type {
2+
ClipboardEvent,
3+
FocusEvent,
4+
MouseEvent,
5+
PointerEvent as ReactPointerEvent,
6+
} from 'react';
7+
18
import {Gear, GripHorizontal} from '@gravity-ui/icons';
29
import {Button, Icon} from '@gravity-ui/uikit';
3-
import type {ClipboardEvent, FocusEvent, MouseEvent, PointerEvent as ReactPointerEvent} from 'react';
410

511
import {i18n} from 'src/i18n/grid-block-templates';
612

packages/editor/src/extensions/additional/GridBlockTemplates/GridBlockTemplatesNodeView/GridBlockTemplates.scss

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,8 +129,8 @@
129129
align-items: center;
130130

131131
width: 100%;
132-
margin-top: 8px;
133132
min-height: 56px;
133+
margin-top: 8px;
134134
padding: 12px;
135135

136136
cursor: pointer;
@@ -179,6 +179,7 @@
179179
&__field-label {
180180
font-size: var(--g-text-caption-1-font-size);
181181
line-height: var(--g-text-caption-1-line-height);
182+
182183
color: var(--g-color-text-secondary);
183184
}
184185
}

packages/editor/src/extensions/additional/GridBlockTemplates/GridBlockTemplatesNodeView/GridBlockTemplatesView.tsx

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import {useBooleanState, useElementState} from 'src/react-utils/hooks';
1010
import {removeNode} from 'src/utils/remove-node';
1111

1212
import {GridBlockTemplatesConsts} from '../GridBlockTemplatesSpecs/const';
13+
import {mergeTemplatesById, readStoredTemplates} from '../templates';
1314
import type {
1415
GridBlock,
1516
GridBlockBlockTemplate,
@@ -18,9 +19,11 @@ import type {
1819
GridBlockTemplateBlock,
1920
GridBlockTemplatesOptions,
2021
} from '../types';
21-
import {mergeTemplatesById, readStoredTemplates} from '../templates';
2222

2323
import {BlockInsertPopup} from './BlockInsertPopup';
24+
import {GridBlockItem} from './GridBlockItem';
25+
import {BlockSettingsPopup, ContainerCssPopup} from './SettingsPopups';
26+
import {TemplatesPopup} from './TemplatesPopup';
2427
import {
2528
buildScopedCss,
2629
containerTemplateToAttrs,
@@ -30,18 +33,16 @@ import {
3033
rawTemplateBlockToBlock,
3134
templateToBlock,
3235
} from './blockUtils';
33-
import {TemplatesPopup} from './TemplatesPopup';
3436
import {STOP_EVENT_CLASSNAME, cnGridBlockTemplates} from './const';
3537
import {useGridBlockDrag} from './drag';
36-
import {GridBlockItem} from './GridBlockItem';
37-
import {BlockSettingsPopup, ContainerCssPopup} from './SettingsPopups';
3838

3939
import './GridBlockTemplates.scss';
4040

4141
export {STOP_EVENT_CLASSNAME, cnGridBlockTemplates} from './const';
4242

4343
const b = cnGridBlockTemplates;
4444
const stop = STOP_EVENT_CLASSNAME;
45+
const EMPTY_BLOCKS: GridBlock[] = [];
4546

4647
export const GridBlockTemplatesView: React.FC<{
4748
node: Node;
@@ -52,7 +53,8 @@ export const GridBlockTemplatesView: React.FC<{
5253
}> = ({node, getPos, view, onChange, options}) => {
5354
const entityId: string = node.attrs[GridBlockTemplatesConsts.NodeAttrs.EntityId];
5455
const customCss: string = node.attrs[GridBlockTemplatesConsts.NodeAttrs.customCss] ?? '';
55-
const blocks: GridBlock[] = node.attrs[GridBlockTemplatesConsts.NodeAttrs.blocks] ?? [];
56+
const blocks: GridBlock[] =
57+
node.attrs[GridBlockTemplatesConsts.NodeAttrs.blocks] ?? EMPTY_BLOCKS;
5658
const {templates} = options;
5759

5860
const scopeClass = useMemo(() => getGridScopeClass(entityId), [entityId]);

packages/editor/src/extensions/additional/GridBlockTemplates/GridBlockTemplatesNodeView/SettingsPopups.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,9 @@ export const BlockSettingsPopup: React.FC<{
3636
controlProps={{className: stop}}
3737
value={css}
3838
onUpdate={onCssChange}
39-
placeholder={'& {\n padding: 16px;\n border-radius: 8px;\n}\nh3 {\n margin: 0;\n}'}
39+
placeholder={
40+
'& {\n padding: 16px;\n border-radius: 8px;\n}\nh3 {\n margin: 0;\n}'
41+
}
4042
minRows={5}
4143
/>
4244
</div>
@@ -57,7 +59,9 @@ export const ContainerCssPopup: React.FC<{
5759
controlProps={{className: stop}}
5860
value={css}
5961
onUpdate={onCssChange}
60-
placeholder={'.grid {\n grid-template-columns: 1fr 1fr;\n gap: 12px;\n}\n.block-1 {\n background: #eee;\n}'}
62+
placeholder={
63+
'.grid {\n grid-template-columns: 1fr 1fr;\n gap: 12px;\n}\n.block-1 {\n background: #eee;\n}'
64+
}
6165
minRows={6}
6266
autoFocus
6367
/>

packages/editor/src/extensions/additional/GridBlockTemplates/GridBlockTemplatesNodeView/TemplatesPopup.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ import {Button, Icon, Menu, Popup, TextInput} from '@gravity-ui/uikit';
66
import {TextAreaFixed as TextArea} from 'src/forms/TextInput';
77
import {i18n} from 'src/i18n/grid-block-templates';
88

9-
import type {GridBlockTemplate} from '../types';
109
import {clearStoredTemplates, parseTemplates, saveTemplates} from '../templates';
10+
import type {GridBlockTemplate} from '../types';
1111

1212
import {STOP_EVENT_CLASSNAME, cnGridBlockTemplates} from './const';
1313

packages/editor/src/extensions/additional/GridBlockTemplates/GridBlockTemplatesNodeView/blockUtils.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,5 @@ export const isContainerTemplate = (
5656
template: GridBlockTemplate,
5757
): template is GridBlockContainerTemplate => template.type === 'container';
5858

59-
export const isBlockTemplate = (
60-
template: GridBlockTemplate,
61-
): template is GridBlockBlockTemplate => template.type === 'block';
59+
export const isBlockTemplate = (template: GridBlockTemplate): template is GridBlockBlockTemplate =>
60+
template.type === 'block';

packages/editor/src/extensions/additional/GridBlockTemplates/GridBlockTemplatesNodeView/drag.ts

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,11 @@ const getDropPlacement = (rect: DOMRect, clientX: number, clientY: number): Drop
1919
const centerY = rect.top + rect.height / 2;
2020
const useHorizontalAxis = Math.abs(clientX - centerX) > Math.abs(clientY - centerY);
2121

22-
return useHorizontalAxis
23-
? clientX < centerX
24-
? 'before'
25-
: 'after'
26-
: clientY < centerY
27-
? 'before'
28-
: 'after';
22+
if (useHorizontalAxis) {
23+
return clientX < centerX ? 'before' : 'after';
24+
}
25+
26+
return clientY < centerY ? 'before' : 'after';
2927
};
3028

3129
const getPointerDropTarget = (

packages/editor/src/extensions/additional/GridBlockTemplates/css.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,7 @@ export const inlineToRule = (declarations: string, selector = '&'): string => {
1010
};
1111

1212
const scopeSelector = (selector: string, base: string) =>
13-
selector.includes('&')
14-
? selector.replace(/&/g, base)
15-
: `${base} ${selector}`;
13+
selector.includes('&') ? selector.replace(/&/g, base) : `${base} ${selector}`;
1614

1715
/**
1816
* Prefixes every top-level selector with `base` so rules stay local. `&` in a selector

packages/editor/src/extensions/additional/YfmHtmlBlock/YfmHtmlBlockNodeView/TemplatesPopup.scss

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,14 @@
1212
&__editor {
1313
display: flex;
1414
flex-direction: column;
15-
1615
gap: 8px;
16+
1717
padding: 8px;
1818
}
1919

2020
&__controls {
2121
display: flex;
2222
justify-content: end;
23-
2423
gap: 8px;
2524
}
2625
}

0 commit comments

Comments
 (0)