Skip to content

Commit cd99d17

Browse files
authored
Revert "upd: @doc-tools/transform (#118)" (#119)
This reverts commit 2ed177d.
1 parent 2ed177d commit cd99d17

File tree

7 files changed

+45
-62
lines changed

7 files changed

+45
-62
lines changed

package-lock.json

Lines changed: 30 additions & 20 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@
6464
"tslib": "^2.3.1"
6565
},
6666
"devDependencies": {
67-
"@doc-tools/transform": "3.10.2",
67+
"@doc-tools/transform": "3.1.2",
6868
"@gravity-ui/components": "2.0.0",
6969
"@gravity-ui/eslint-config": "1.0.2",
7070
"@gravity-ui/prettier-config": "1.0.1",

src/extensions/yfm/YfmTabs/YfmTabs.test.ts

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,12 @@ import {BaseNode, BaseSpecsPreset} from '../../base/specs';
55
import {blockquoteNodeName, italicMarkName} from '../../markdown/specs';
66
import {TabsNode, YfmTabsSpecs} from './YfmTabsSpecs';
77

8-
const mockRandomValue = 0.123456789;
9-
const generatedId = mockRandomValue.toString(36).substr(2, 8);
8+
const generatedId = 'generated_id';
109

11-
beforeEach(() => {
12-
jest.spyOn(global.Math, 'random').mockReturnValue(mockRandomValue);
13-
});
14-
15-
afterEach(() => {
16-
jest.spyOn(global.Math, 'random').mockRestore();
10+
jest.mock('@doc-tools/transform/lib/plugins/utils', () => {
11+
return {
12+
generateID: () => generatedId,
13+
};
1714
});
1815

1916
const {schema, parser, serializer} = new ExtensionsManager({
@@ -55,7 +52,6 @@ describe('YfmTabs extension', () => {
5552
tabs(
5653
{
5754
class: 'yfm-tabs',
58-
'data-diplodoc-group': `defaultTabsGroup-${generatedId}`,
5955
},
6056
tabsList(
6157
{
@@ -64,29 +60,23 @@ describe('YfmTabs extension', () => {
6460
},
6561
tab(
6662
{
67-
id: 'unknown',
63+
id: generatedId,
6864
class: 'yfm-tab active',
6965
role: 'tab',
7066
'aria-controls': generatedId,
7167
'aria-selected': 'true',
7268
tabindex: '0',
73-
'data-diplodoc-is-active': 'true',
74-
'data-diplodoc-id': 'panel-title-1',
75-
'data-diplodoc-key': 'panel%20title%201',
7669
},
7770
'panel title 1',
7871
),
7972
tab(
8073
{
81-
id: 'unknown',
74+
id: generatedId,
8275
class: 'yfm-tab',
8376
role: 'tab',
8477
'aria-controls': generatedId,
8578
'aria-selected': 'false',
8679
tabindex: '-1',
87-
'data-diplodoc-is-active': 'false',
88-
'data-diplodoc-id': 'panel-title-2',
89-
'data-diplodoc-key': 'panel%20title%202',
9080
},
9181
'panel title 2',
9282
),
@@ -97,7 +87,7 @@ describe('YfmTabs extension', () => {
9787
class: 'yfm-tab-panel active',
9888
role: 'tabpanel',
9989
'data-title': 'panel title 1',
100-
'aria-labelledby': 'panel-title-1',
90+
'aria-labelledby': generatedId,
10191
},
10292
p('panel content 1'),
10393
),
@@ -107,7 +97,7 @@ describe('YfmTabs extension', () => {
10797
class: 'yfm-tab-panel',
10898
role: 'tabpanel',
10999
'data-title': 'panel title 2',
110-
'aria-labelledby': 'panel-title-2',
100+
'aria-labelledby': generatedId,
111101
},
112102
p('panel content 2'),
113103
),

src/extensions/yfm/YfmTabs/YfmTabsSpecs/const.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ export enum TabsNode {
77

88
export enum TabsAttrs {
99
class = 'class',
10-
dataDiplodocGroup = 'data-diplodoc-group',
1110
}
1211

1312
export enum TabsListAttrs {
@@ -22,9 +21,6 @@ export enum TabAttrs {
2221
ariaControls = 'aria-controls',
2322
ariaSelected = 'aria-selected',
2423
tabindex = 'tabindex',
25-
dataDiplodocKey = 'data-diplodoc-key',
26-
dataDiplodocid = 'data-diplodoc-id',
27-
dataDiplodocIsActive = 'data-diplodoc-is-active',
2824
}
2925

3026
export enum TabPanelAttrs {

src/extensions/yfm/YfmTabs/YfmTabsSpecs/spec.ts

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,6 @@ export const getSpec: (opts: YfmTabsSpecsOptions) => Record<TabsNode, NodeSpec>
1515
[TabAttrs.ariaControls]: {default: 'unknown'},
1616
[TabAttrs.ariaSelected]: {default: 'unknown'},
1717
[TabAttrs.tabindex]: {default: 'unknown'},
18-
[TabAttrs.dataDiplodocKey]: {default: 'unknown'},
19-
[TabAttrs.dataDiplodocid]: {default: 'unknown'},
20-
[TabAttrs.dataDiplodocIsActive]: {default: 'unknown'},
2118
},
2219
marks: '',
2320
content: 'text*',
@@ -56,10 +53,7 @@ export const getSpec: (opts: YfmTabsSpecsOptions) => Record<TabsNode, NodeSpec>
5653
},
5754

5855
[TabsNode.Tabs]: {
59-
attrs: {
60-
[TabsAttrs.class]: {default: 'yfm-tabs'},
61-
[TabsAttrs.dataDiplodocGroup]: {default: 'unknown'},
62-
},
56+
attrs: {[TabsAttrs.class]: {default: 'yfm-tabs'}},
6357
content: 'yfm_tabs_list yfm_tab_panel+',
6458
group: 'block',
6559
parseDOM: [{tag: 'div.yfm-tabs'}],

src/extensions/yfm/YfmTabs/index.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
background-clip: padding-box;
3030
}
3131

32-
&[data-diplodoc-is-active='true'] {
32+
&.active {
3333
.yfm-tab-wrapper {
3434
border-bottom-color: #027bf3;
3535
}

src/extensions/yfm/YfmTabs/plugins.ts

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -59,16 +59,13 @@ export const tabEnter: Command = (state) => {
5959

6060
const makeTabsInactive = (tabNodes: NodeWithPos[], tabPanels: NodeWithPos[], tr: Transaction) => {
6161
// Find all active tabs and make them inactive
62-
const activeTabs = tabNodes.filter(
63-
(v) => v.node.attrs[TabAttrs.dataDiplodocIsActive] === 'true',
64-
);
62+
const activeTabs = tabNodes.filter((v) => v.node.attrs[TabAttrs.class] === tabActiveClassname);
6563

6664
if (activeTabs.length) {
6765
activeTabs.forEach((tab) => {
6866
tr.setNodeMarkup(tab.pos, null, {
6967
...tab.node.attrs,
7068
class: tabInactiveClassname,
71-
[TabAttrs.dataDiplodocIsActive]: 'false',
7269
});
7370
});
7471
}
@@ -101,7 +98,7 @@ export const createTab: (afterTab: NodeWithPos, tabsParentNode: NodeWithPos) =>
10198
const afterPanelNode = tabPanels.filter(
10299
(tabPanelNode) =>
103100
tabPanelNode.node.attrs[TabPanelAttrs.ariaLabelledby] ===
104-
afterTab.node.attrs[TabAttrs.dataDiplodocid],
101+
afterTab.node.attrs[TabAttrs.id],
105102
)[0];
106103

107104
const tabId = generateID();
@@ -117,9 +114,6 @@ export const createTab: (afterTab: NodeWithPos, tabsParentNode: NodeWithPos) =>
117114
);
118115
const newTab = tabType(state.schema).create({
119116
[TabAttrs.id]: tabId,
120-
[TabAttrs.dataDiplodocid]: tabId,
121-
[TabAttrs.dataDiplodocKey]: tabId,
122-
[TabAttrs.dataDiplodocIsActive]: 'true',
123117
[TabAttrs.class]: tabActiveClassname,
124118
[TabAttrs.role]: 'tab',
125119
[TabAttrs.ariaControls]: panelId,
@@ -171,7 +165,7 @@ export const removeTab: (tabToRemove: NodeWithPos, tabsParentNode: NodeWithPos)
171165
const panelToRemove = tabPanels.filter(
172166
(tabPanelNode) =>
173167
tabPanelNode.node.attrs[TabPanelAttrs.ariaLabelledby] ===
174-
tabToRemove.node.attrs[TabAttrs.dataDiplodocid],
168+
tabToRemove.node.attrs[TabAttrs.id],
175169
)[0];
176170

177171
if (panelToRemove && dispatch) {
@@ -206,7 +200,6 @@ export const removeTab: (tabToRemove: NodeWithPos, tabsParentNode: NodeWithPos)
206200
.setNodeMarkup(tr.mapping.map(newTabNode.pos), null, {
207201
...newTabNode.node.attrs,
208202
class: tabActiveClassname,
209-
[TabAttrs.dataDiplodocIsActive]: 'true',
210203
})
211204
// Set new active panel
212205
.setNodeMarkup(tr.mapping.map(newTabPanelNode.pos), null, {

0 commit comments

Comments
 (0)