Skip to content

Commit 958a6c9

Browse files
committed
完善debug信息
1 parent 8dad4da commit 958a6c9

File tree

7 files changed

+36
-30
lines changed

7 files changed

+36
-30
lines changed

src/components/session/debugger.tsx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,15 @@ export class SessionDebugger extends React.Component<DebuggerProps, {}> {
1616
{
1717
this.props.session.stopMonitor &&
1818
<div>
19-
Stopping keydown monitor
19+
Stopping keydown monitor by {this.props.session.stopMonitor}
2020
</div>
2121
}
22+
{
23+
this.props.session.selectPopoverOpen &&
24+
<div>
25+
Popover Open by {this.props.session.selectPopoverOpen}
26+
</div>
27+
}
2228
{
2329
this.props.session.hoverRow &&
2430
<div>
@@ -37,12 +43,6 @@ export class SessionDebugger extends React.Component<DebuggerProps, {}> {
3743
Inline startCol {this.props.session.getAnchor()?.col} endCol {this.props.session.cursor.col}
3844
</div>
3945
}
40-
{
41-
this.props.session.selectPopoverOpen &&
42-
<div>
43-
Popover Open
44-
</div>
45-
}
4646
</div>
4747
}
4848
</div>

src/plugins/code/MonacoEditorWrapper.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,15 +75,15 @@ export function MonacoEditorWrapper(props: {
7575
bordered={false}
7676
onFocus={() => {
7777
props.session.stopAnchor();
78-
props.session.selectPopoverOpen = true;
78+
props.session.setSelectPopoverOpen('code-block');
7979
}}
8080
onBlur={() => {
81-
props.session.selectPopoverOpen = false;
81+
props.session.setSelectPopoverOpen('');
8282
}}
8383
value={ language.charAt(0).toUpperCase() + language.slice(1) }
8484
onChange={(newLanguage: string) => {
8585
setLanguage(newLanguage);
86-
props.session.selectPopoverOpen = false;
86+
props.session.setSelectPopoverOpen('');
8787
}}
8888
options={languages.map(l => {
8989
return {value: l, label: l};

src/plugins/links/dropdownMenu.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ export function HoverIconDropDownComponent(props: {session: Session, bullet: any
252252
};
253253
const onClick: MenuProps['onClick'] = ({ key }) => {
254254
setDropDownOpen(false);
255-
props.session.selectPopoverOpen = false;
255+
props.session.setSelectPopoverOpen('');
256256
props.session.setMode('INSERT');
257257
if (key.startsWith('fold')) {
258258
const foldLevel = Number(key.split('_').pop());
@@ -448,9 +448,9 @@ export function HoverIconDropDownComponent(props: {session: Session, bullet: any
448448
onOpenChange={(open) => {
449449
setDropDownOpen(open);
450450
if (open) {
451-
props.session.selectPopoverOpen = true;
451+
props.session.setSelectPopoverOpen('dropdown-menu');
452452
} else {
453-
props.session.selectPopoverOpen = false;
453+
props.session.setSelectPopoverOpen('');
454454
}
455455
}}
456456
menu={menusProps} trigger={['click']} >

src/share/components/Block/SpecialBlock.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ export function SpecialBlock(props: React.PropsWithChildren<{
6363
<div className={'effect-block-placehoder'}
6464
onDoubleClick={() => {
6565
if (fold) {
66-
props.session.selectPopoverOpen = false;
66+
props.session.setSelectPopoverOpen('');
6767
setFold(false);
6868
props.session.emit('setBlockCollapse', props.path.row, false);
6969
}
@@ -147,10 +147,10 @@ export function SpecialBlock(props: React.PropsWithChildren<{
147147
open={popOverOpen}
148148
onOpenChange={(e) => {
149149
if (e) {
150-
props.session.selectPopoverOpen = true;
150+
props.session.setSelectPopoverOpen('special-block-fold-hover');
151151
setPopOverOpen(true);
152152
} else {
153-
props.session.selectPopoverOpen = false;
153+
props.session.setSelectPopoverOpen('');
154154
setPopOverOpen(false);
155155
}
156156
}}

src/share/components/Line/fontStyleTool.tsx

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ export function FontStyleToolComponent(
3939
}
4040
}).then(() => {
4141
props.session.stopAnchor();
42-
props.session.selectPopoverOpen = false;
42+
props.session.setSelectPopoverOpen('');
4343
props.session.markSelecting(false, 'switchClass');
4444
props.session.emit('updateInner');
4545
});
@@ -51,11 +51,11 @@ export function FontStyleToolComponent(
5151
className={`node-html`}
5252
onOpenChange={(e) => {
5353
if (e) {
54-
props.session.selectPopoverOpen = true;
54+
props.session.setSelectPopoverOpen('style-tool');
5555
setOpen(true);
5656
} else {
5757
if (!showLink) {
58-
props.session.selectPopoverOpen = false;
58+
props.session.setSelectPopoverOpen('');
5959
setOpen(false);
6060
}
6161
}
@@ -72,7 +72,7 @@ export function FontStyleToolComponent(
7272
{/* props.session.emitAsync('addCloze', props.path!.row, props.startCol, props.textContent).then(() => {*/}
7373
{/* props.session.stopAnchor();*/}
7474
{/* setTimeout(() => {*/}
75-
{/* props.session.selectPopoverOpen = false;*/}
75+
{/* props.session.setSelectPopoverOpen('');*/}
7676
{/* }, 200);*/}
7777
{/* props.session.selecting = false;*/}
7878
{/* props.session.emit('updateInner');*/}
@@ -86,7 +86,7 @@ export function FontStyleToolComponent(
8686
onOpenChange={e => {
8787
if (!e) {
8888
// 避免selectPopoverOpen保持为true
89-
props.session.selectPopoverOpen = false;
89+
props.session.setSelectPopoverOpen('');
9090
}
9191
setShowLink(e);
9292
}}
@@ -105,7 +105,7 @@ export function FontStyleToolComponent(
105105
addonBefore='链接到:' addonAfter={
106106
<CheckOutlined onClick={() => {
107107
props.session.startKeyMonitor();
108-
props.session.selectPopoverOpen = false;
108+
props.session.setSelectPopoverOpen('');
109109
switchClass('')();
110110
setShowLink(false);
111111
}}/>
@@ -134,7 +134,7 @@ export function FontStyleToolComponent(
134134
{/* addonBefore='备注内容:' addonAfter={*/}
135135
{/* <CheckOutlined onClick={() => {*/}
136136
{/* props.session.startKeyMonitor();*/}
137-
{/* props.session.selectPopoverOpen = false;*/}
137+
{/* props.session.setSelectPopoverOpen('');*/}
138138
{/* props.session.emitAsync('addComment', props.path.row, props.startCol, props.endCol, comment).then(() => {*/}
139139
{/* props.session.emit('updateInner');*/}
140140
{/* });*/}
@@ -200,7 +200,7 @@ export function FontStyleToolComponent(
200200
return props.textContent.split('');
201201
}).then(() => {
202202
props.session.stopAnchor();
203-
props.session.selectPopoverOpen = false;
203+
props.session.setSelectPopoverOpen('');
204204
props.session.markSelecting(false, 'deleteClass');
205205
props.session.emit('updateInner');
206206
});

src/share/components/Session/Session.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,6 @@ export default class SessionComponent extends React.Component<Props, State> {
9595
session.cursor.home().then(() => {
9696
session.setAnchor(session.cursor.path, session.cursor.col, 'onCharDoubleClickSelectLine').then(() => {
9797
session.cursor.end({pastEnd: true}).then(() => {
98-
session.selectPopoverOpen = false;
9998
session.selectInlinePath = null;
10099
this.update();
101100
});

src/share/ts/session.ts

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -120,15 +120,15 @@ export default class Session extends EventEmitter {
120120
// 3. onCharDoubleClick
121121
public selectInlinePath: Path | null = null;
122122
public formSubmitAction: (value: any) => void;
123-
public stopMonitor: boolean = false;
123+
public stopMonitor: string = '';
124124
// 为true时渲染高亮,鼠标按下时被重置为false,有选中内容被设置为true
125125
// 1. onCharMouseDown、onLineMouseDown,重置为false
126126
// 2. onCharMouseUp、onLineMouseUp、onCharDoubleClick,设置为true
127127
// 注意onLineClick在true的情况下不做任何行为
128128
// onCharClick在true的情况下不会触发,down和up不是同一个char
129129
public selecting: boolean = false;
130130
public selectMousePressing: boolean = false;
131-
public selectPopoverOpen: boolean = false;
131+
public selectPopoverOpen: string = '';
132132
public dragging: boolean = false;
133133
public debugMode: boolean = false;
134134
public serverConfig: ServerConfig = SERVER_CONFIG;
@@ -182,9 +182,17 @@ export default class Session extends EventEmitter {
182182
await this.emitAsync('exit');
183183
}
184184

185+
public setSelectPopoverOpen(caller: string) {
186+
this.selectPopoverOpen = caller;
187+
}
188+
185189
public startKeyMonitor() {
186190
// console.log('startKeyMonitor');
187-
this.stopMonitor = this.clientStore.getClientSetting('curView') === 'discovery';
191+
if (this.clientStore.getClientSetting('curView') === 'discovery') {
192+
this.stopMonitor = 'discovery-default';
193+
} else {
194+
this.stopMonitor = '';
195+
}
188196
if (this.debugMode) {
189197
this.emit('updateInner')
190198
}
@@ -197,7 +205,7 @@ export default class Session extends EventEmitter {
197205

198206
public stopKeyMonitor(caller: string) {
199207
// console.log('stopKeyMonitor from:', caller);
200-
this.stopMonitor = true;
208+
this.stopMonitor = caller;
201209
if (this.debugMode) {
202210
this.emit('updateInner')
203211
}
@@ -1892,7 +1900,6 @@ export default class Session extends EventEmitter {
18921900
if (cursor.path.is(anchor.path) && this.selectInlinePath !== null) {
18931901
console.log('yankDelete words in line');
18941902
// 单行选中
1895-
this.selectPopoverOpen = false;
18961903
const options = {includeEnd: false, yank: false};
18971904
await this.deleteBetween(cursor, anchor, options);
18981905
} else {

0 commit comments

Comments
 (0)