Skip to content
This repository was archived by the owner on May 5, 2021. It is now read-only.

Commit 13bd066

Browse files
committed
fsdqfdsf
1 parent 210a37d commit 13bd066

File tree

4 files changed

+50
-55
lines changed

4 files changed

+50
-55
lines changed

packages/core/src/JWEditor.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@ import { ContainerNode } from './VNodes/ContainerNode';
1010
import { AtomicNode } from './VNodes/AtomicNode';
1111
import { SeparatorNode } from './VNodes/SeparatorNode';
1212
import { Memory } from './Memory/Memory';
13-
import { makeVersionable } from './Memory/Versionable';
14-
import { VersionableArray } from './Memory/VersionableArray';
13+
import { makeVersionable, markNotVersionable } from './Memory/Versionable';
1514

1615
export enum Mode {
1716
CONFIGURATION = 'configuration',
@@ -324,7 +323,9 @@ export class JWEditor {
324323
if (isFrozen) {
325324
// Switch to the next memory slice (unfreeze the memory).
326325
this.memory.switchTo(this.memoryID.toString());
327-
this.memoryInfo.commandNames = new VersionableArray<string>();
326+
const commandNames = [];
327+
markNotVersionable(commandNames);
328+
this.memoryInfo.commandNames = commandNames;
328329
}
329330
await callback();
330331
if (isFrozen) {

packages/plugin-dom-layout/src/ActionableDomObjectRenderer.ts

Lines changed: 25 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -63,41 +63,40 @@ export class ActionableDomObjectRenderer extends AbstractRenderer<DomObject> {
6363
return objectButton;
6464
}
6565

66-
protected _updateActionables(): void {
67-
const pathChanges = this.engine.editor.memory.getChangedVersionables();
68-
console.log(pathChanges);
69-
70-
for (const [button, element] of this.actionableNodes) {
71-
this._updateActionable(button, element);
72-
}
73-
}
7466
/**
7567
* Update button rendering after the command if the value of selected or
7668
* enabled change.
7769
*
7870
* @param aactionable
7971
* @param element
8072
*/
81-
protected _updateActionable(aactionable: ActionableNode, element: HTMLElement): void {
82-
const editor = this.engine.editor;
83-
const select = !!aactionable.selected(editor);
84-
const enable = !!aactionable.enabled(editor);
73+
protected _updateActionables(): void {
74+
const pathChanges = this.engine.editor.memory.getChangedVersionables();
75+
for (const [n, p] of pathChanges) {
76+
console.log(n.name, p);
77+
}
78+
79+
for (const [aactionable, element] of this.actionableNodes) {
80+
const editor = this.engine.editor;
81+
const select = !!aactionable.selected(editor);
82+
const enable = !!aactionable.enabled(editor);
8583

86-
const attrSelected = element.getAttribute('aria-pressed');
87-
if (select.toString() !== attrSelected) {
88-
element.setAttribute('aria-pressed', select.toString());
89-
if (select) {
90-
element.classList.add('pressed');
91-
} else {
92-
element.classList.remove('pressed');
84+
const attrSelected = element.getAttribute('aria-pressed');
85+
if (select.toString() !== attrSelected) {
86+
element.setAttribute('aria-pressed', select.toString());
87+
if (select) {
88+
element.classList.add('pressed');
89+
} else {
90+
element.classList.remove('pressed');
91+
}
9392
}
94-
}
95-
const domEnable = !element.getAttribute('disabled');
96-
if (enable !== domEnable) {
97-
if (enable) {
98-
element.removeAttribute('disabled');
99-
} else {
100-
element.setAttribute('disabled', 'true');
93+
const domEnable = !element.getAttribute('disabled');
94+
if (enable !== domEnable) {
95+
if (enable) {
96+
element.removeAttribute('disabled');
97+
} else {
98+
element.setAttribute('disabled', 'true');
99+
}
101100
}
102101
}
103102
}

packages/plugin-dom-layout/src/ActionableGroupSelectItemDomObjectRenderer.ts

Lines changed: 20 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -114,40 +114,34 @@ export class ActionableGroupSelectItemDomObjectRenderer extends AbstractRenderer
114114
return domObject;
115115
}
116116

117-
protected _updateActionables(): void {
118-
const pathChanges = this.engine.editor.memory.getChangedVersionables();
119-
console.log(pathChanges);
120-
121-
for (const [button, element] of this.actionableNodes) {
122-
this._updateActionable(button, element);
123-
}
124-
}
125117
/**
126118
* Update option rendering after the command if the value of selected or
127119
* enabled change.
128120
*
129121
* @param aactionable
130122
* @param element
131123
*/
132-
protected _updateActionable(aactionable: ActionableNode, element: HTMLElement): void {
133-
const editor = this.engine.editor;
134-
const select = aactionable.selected(editor);
135-
const enable = aactionable.enabled(editor);
136-
const attrSelected = element.getAttribute('selected');
137-
if (select.toString() !== attrSelected) {
138-
if (select) {
139-
element.setAttribute('selected', 'true');
140-
element.closest('select').value = element.getAttribute('value');
141-
} else {
142-
element.removeAttribute('selected');
124+
protected _updateActionables(): void {
125+
for (const [aactionable, element] of this.actionableNodes) {
126+
const editor = this.engine.editor;
127+
const select = aactionable.selected(editor);
128+
const enable = aactionable.enabled(editor);
129+
const attrSelected = element.getAttribute('selected');
130+
if (select.toString() !== attrSelected) {
131+
if (select) {
132+
element.setAttribute('selected', 'true');
133+
element.closest('select').value = element.getAttribute('value');
134+
} else {
135+
element.removeAttribute('selected');
136+
}
143137
}
144-
}
145-
const domEnable = !element.getAttribute('disabled');
146-
if (enable !== domEnable) {
147-
if (enable) {
148-
element.removeAttribute('disabled');
149-
} else {
150-
element.setAttribute('disabled', 'true');
138+
const domEnable = !element.getAttribute('disabled');
139+
if (enable !== domEnable) {
140+
if (enable) {
141+
element.removeAttribute('disabled');
142+
} else {
143+
element.setAttribute('disabled', 'true');
144+
}
151145
}
152146
}
153147
}

packages/plugin-dom-layout/src/DomLayout.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,7 @@ export class DomLayout<T extends DomLayoutConfig = DomLayoutConfig> extends JWPl
181181
console.log(root);
182182
}
183183
}
184+
console.log(nodes.map(n => n.name).filter(g => g.length > 1));
184185
await domLayoutEngine.redraw(nodes);
185186
}
186187
}

0 commit comments

Comments
 (0)