Skip to content

Commit f0e027c

Browse files
committed
ts wip
1 parent 84629a8 commit f0e027c

File tree

13 files changed

+479
-636
lines changed

13 files changed

+479
-636
lines changed

packages/@ember/debug/ember-inspector-support/libs/render-tree.ts

Lines changed: 142 additions & 265 deletions
Large diffs are not rendered by default.

packages/@ember/debug/ember-inspector-support/libs/view-inspection.ts

Lines changed: 34 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
import classify from '@ember/debug/ember-inspector-support/utils/classify';
22
import bound from '@ember/debug/ember-inspector-support/utils/bound-method';
33
import getObjectName from '../utils/get-object-name';
4+
import type RenderTree from './render-tree';
5+
import type ObjectInspector from '../object-inspector';
46

5-
function makeHighlight(id) {
7+
function makeHighlight(id: string) {
68
return `<div id="ember-inspector-highlight-${id}" role="presentation"></div>`;
79
}
810

9-
function makeTooltip(id) {
11+
function makeTooltip(id: string) {
1012
let prefix = 'ember-inspector-tooltip';
1113

1214
return `
@@ -226,13 +228,37 @@ function makeStylesheet(id) {
226228
}
227229

228230
export default class ViewInspection {
231+
renderTree: RenderTree;
232+
objectInspector: ObjectInspector;
233+
private didShow: boolean;
234+
private didHide: boolean;
235+
private didStartInspecting: boolean;
236+
private didStopInspecting: boolean;
237+
private id: string;
238+
private currentId: string;
239+
private lastMatchId: string;
240+
private isInspecting: boolean;
241+
private lastTarget: boolean;
242+
private isShowing: boolean;
243+
private isPinned: boolean;
244+
245+
private highlight: HTMLElement;
246+
private tooltip: HTMLElement;
247+
private stylesheet: HTMLElement;
229248
constructor({
230249
renderTree,
231250
objectInspector,
232251
didShow,
233252
didHide,
234253
didStartInspecting,
235254
didStopInspecting,
255+
}: {
256+
renderTree: RenderTree;
257+
objectInspector: ObjectInspector;
258+
didShow: boolean;
259+
didHide: boolean;
260+
didStartInspecting: boolean;
261+
didStopInspecting: boolean;
236262
}) {
237263
this.renderTree = renderTree;
238264
this.objectInspector = objectInspector;
@@ -641,7 +667,7 @@ export default class ViewInspection {
641667
return [['tag', stringified]];
642668
}
643669

644-
_positionTooltip(highlightRect) {
670+
_positionTooltip(highlightRect: DOMRect) {
645671
// Positioning the tooltip: the goal is to match the Chrome's Element
646672
// inspection tooltip's positioning behavior as closely as possible.
647673

@@ -710,20 +736,20 @@ export default class ViewInspection {
710736
tooltipStyle.top = `${scrollY + attachmentTop}px`;
711737
tooltipStyle.left = `${scrollX + attachmentLeft - leftOffset}px`;
712738

713-
let arrow = this.tooltip.querySelector('.ember-inspector-tooltip-arrow');
739+
let arrow = this.tooltip.querySelector('.ember-inspector-tooltip-arrow')! as HTMLElement;
714740

715741
arrow.style.left = `${Math.max(leftOffset, 0) + arrowLeft}px`;
716742
}
717743

718-
_insertHTML(html) {
744+
_insertHTML(html: string) {
719745
document.body.insertAdjacentHTML('beforeend', html.trim());
720-
return document.body.lastChild;
746+
return document.body.lastChild as HTMLElement;
721747
}
722748

723-
_insertStylesheet(content) {
749+
_insertStylesheet(content: string) {
724750
let style = document.createElement('style');
725751
style.appendChild(document.createTextNode(content));
726752
document.head.appendChild(style);
727-
return style;
753+
return style as HTMLElement;
728754
}
729755
}

packages/@ember/debug/ember-inspector-support/models/profile-manager.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ type Bounds = {
99
parent: HTMLElement;
1010
};
1111

12-
function getEdges(first: any, last: any, closest: any[]) {
12+
function getEdges(first: any, last: any, closest: any) {
1313
let start = null;
1414
let end = null;
1515
for (let i = 0; i < closest.length; i++) {
@@ -68,11 +68,11 @@ function insertStylesheet() {
6868

6969
type Info = {
7070
type: string;
71-
endedIndex: any;
72-
now: number;
71+
endedIndex?: any;
72+
now?: number;
7373
timestamp: number;
7474
payload: Payload;
75-
profileNode: ProfileNode;
75+
profileNode?: ProfileNode;
7676
};
7777

7878
type Highlight = {
@@ -248,11 +248,11 @@ export default class ProfileManager {
248248
this.queue[entry.endedIndex]!.profileNode = this.began(
249249
entry.timestamp,
250250
entry.payload,
251-
entry.now
251+
entry.now!
252252
);
253253
}
254254
} else {
255-
this.ended(entry.timestamp, entry.payload, entry.profileNode);
255+
this.ended(entry.timestamp, entry.payload, entry.profileNode!);
256256
}
257257
}
258258
this.queue.length = 0;

0 commit comments

Comments
 (0)