@profullstack/hqtui-demo 0.1.7 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/screens/services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/screens/services.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { cursor } from "../state.js";
1
+ import { focusPane, pane, scrollPane } from "../state.js";
2
2
  /** Who is on this machine, who has been, and who failed to get in. */
3
3
  export function sessionsScreen(ui, state, theme) {
4
4
  const t = state.sample.telemetry;
@@ -9,8 +9,16 @@ export function sessionsScreen(ui, state, theme) {
9
9
  p.label("(`who` reports nothing on this host)", { size: 1 });
10
10
  return;
11
11
  }
12
+ const active = pane(state, "sessions.active", t.sessions.length);
12
13
  p.table({
13
14
  rows: t.sessions,
15
+ selected: active.selected,
16
+ offset: active.offset,
17
+ followSelection: true,
18
+ scrollbar: true,
19
+ onScroll: (delta) => scrollPane(active, delta),
20
+ onFocus: () => focusPane(state, "sessions.active"),
21
+ onSelectRow: (row) => { active.selected = active.offset + row; },
14
22
  columns: [
15
23
  { key: "user", title: "User", width: 12, color: theme.primary },
16
24
  { key: "tty", title: "TTY", width: 10 },
@@ -36,11 +44,15 @@ export function sessionsScreen(ui, state, theme) {
36
44
  p.label("No login history available.");
37
45
  return;
38
46
  }
47
+ const logins = pane(state, "sessions.logins", t.logins.length);
39
48
  p.table({
40
49
  rows: t.logins,
41
- selected: cursor(state).selected,
42
- offset: cursor(state).offset,
50
+ selected: logins.selected,
51
+ offset: logins.offset,
43
52
  followSelection: true,
53
+ onScroll: (delta) => scrollPane(logins, delta),
54
+ onFocus: () => focusPane(state, "sessions.logins"),
55
+ onSelectRow: (row) => { logins.selected = logins.offset + row; },
44
56
  zebra: true,
45
57
  scrollbar: true,
46
58
  columns: [
@@ -64,8 +76,16 @@ export function sessionsScreen(ui, state, theme) {
64
76
  p.label("(btmp is usually root-only)", { size: 1 });
65
77
  return;
66
78
  }
79
+ const failed = pane(state, "sessions.failed", t.failedLogins.length);
67
80
  p.table({
68
81
  rows: t.failedLogins,
82
+ selected: failed.selected,
83
+ offset: failed.offset,
84
+ followSelection: true,
85
+ scrollbar: true,
86
+ onScroll: (delta) => scrollPane(failed, delta),
87
+ onFocus: () => focusPane(state, "sessions.failed"),
88
+ onSelectRow: (row) => { failed.selected = failed.offset + row; },
69
89
  columns: [
70
90
  { key: "user", title: "User", width: 12, color: theme.danger },
71
91
  { key: "from", title: "From", min: 12 },
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/screens/sessions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAkB,MAAM,aAAa,CAAC;AAErD,sEAAsE;AACtE,MAAM,UAAU,cAAc,CAAC,EAAa,EAAE,KAAgB,EAAE,KAAY;IAC1E,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC;IAEjC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;QAClC,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE;YAC7G,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBACpC,CAAC,CAAC,KAAK,CAAC,sCAAsC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC7D,OAAO;YACT,CAAC;YACD,CAAC,CAAC,KAAK,CAAC;gBACN,IAAI,EAAE,CAAC,CAAC,QAAQ;gBAChB,OAAO,EAAE;oBACP,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE;oBAC/D,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;oBACvC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE;oBAC5D,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;oBACjE,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE;iBACzD;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE;YAClF,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;YACnB,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACjI,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACnI,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACjI,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9H,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACZ,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;QACtC,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,YAAY,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE;YAC/G,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,CAAC,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;gBACvC,OAAO;YACT,CAAC;YACD,CAAC,CAAC,KAAK,CAAC;gBACN,IAAI,EAAE,CAAC,CAAC,MAAM;gBACd,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ;gBAC9B,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM;gBAC5B,eAAe,EAAE,IAAI;gBACvB,KAAK,EAAE,IAAI;gBACX,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE;oBACP,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE;oBAC/D,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;oBAC3D,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE;oBAC5D,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;oBAC3D;wBACE,GAAG,EAAE,QAAQ;wBACb,KAAK,EAAE,QAAQ;wBACf,KAAK,EAAE,CAAC;wBACR,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;qBACvE;iBACF;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE;YAChD,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE;gBACxE,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAChC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;oBAC1B,CAAC,CAAC,KAAK,CAAC,6BAA6B,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;oBACpD,OAAO;gBACT,CAAC;gBACD,CAAC,CAAC,KAAK,CAAC;oBACN,IAAI,EAAE,CAAC,CAAC,YAAY;oBACpB,OAAO,EAAE;wBACP,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE;wBAC9D,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE;wBACvC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;qBAC5D;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE;gBACtF,CAAC,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC5C,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAClF,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/screens/sessions.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { seriesColor } from "@profullstack/hqtui";
2
- import { cursor } from "../state.js";
2
+ import { focusPane, pane, scrollPane } from "../state.js";
3
3
  import { num, percent } from "../format.js";
4
4
  function rate(value) {
5
5
  if (value >= 1e6)
@@ -104,8 +104,16 @@ export function trafficScreen(ui, state, theme) {
104
104
  text: String(entry.count),
105
105
  })), { labelWidth: 5, valueWidth: 7 });
106
106
  p.divider({ label: "top paths" });
107
+ const paths = pane(state, "traffic.paths", http.topPaths.length);
107
108
  p.table({
108
109
  rows: http.topPaths,
110
+ selected: paths.selected,
111
+ offset: paths.offset,
112
+ followSelection: true,
113
+ scrollbar: true,
114
+ onScroll: (delta) => scrollPane(paths, delta),
115
+ onFocus: () => focusPane(state, "traffic.paths"),
116
+ onSelectRow: (row) => { paths.selected = paths.offset + row; },
109
117
  header: false,
110
118
  columns: [
111
119
  { key: "path", title: "Path", min: 20, color: theme.primary },
@@ -120,11 +128,15 @@ export function trafficScreen(ui, state, theme) {
120
128
  p.label("No sshd events in the journal.");
121
129
  return;
122
130
  }
131
+ const ssh = pane(state, "traffic.ssh", t.ssh.length);
123
132
  p.table({
124
133
  rows: [...t.ssh].reverse(),
125
- selected: cursor(state).selected,
126
- offset: cursor(state).offset,
134
+ selected: ssh.selected,
135
+ offset: ssh.offset,
127
136
  followSelection: true,
137
+ onScroll: (delta) => scrollPane(ssh, delta),
138
+ onFocus: () => focusPane(state, "traffic.ssh"),
139
+ onSelectRow: (row) => { ssh.selected = ssh.offset + row; },
128
140
  zebra: true,
129
141
  scrollbar: true,
130
142
  columns: [
@@ -148,8 +160,16 @@ export function trafficScreen(ui, state, theme) {
148
160
  p.label("No remote peers.");
149
161
  return;
150
162
  }
163
+ const remotes = pane(state, "traffic.remotes", t.remotes.length);
151
164
  p.table({
152
165
  rows: t.remotes,
166
+ selected: remotes.selected,
167
+ offset: remotes.offset,
168
+ followSelection: true,
169
+ scrollbar: true,
170
+ onScroll: (delta) => scrollPane(remotes, delta),
171
+ onFocus: () => focusPane(state, "traffic.remotes"),
172
+ onSelectRow: (row) => { remotes.selected = remotes.offset + row; },
153
173
  zebra: true,
154
174
  columns: [
155
175
  { key: "host", title: "Host", min: 16, color: theme.accent },
@@ -162,8 +182,15 @@ export function trafficScreen(ui, state, theme) {
162
182
  });
163
183
  if (http && http.recent.length) {
164
184
  ui.panel({ title: "Recent Requests", size: 10, borderColor: theme.primary }, (p) => {
185
+ const requests = pane(state, "traffic.requests", http.recent.length);
165
186
  p.table({
166
187
  rows: http.recent,
188
+ selected: requests.selected,
189
+ offset: requests.offset,
190
+ followSelection: true,
191
+ onScroll: (delta) => scrollPane(requests, delta),
192
+ onFocus: () => focusPane(state, "traffic.requests"),
193
+ onSelectRow: (row) => { requests.selected = requests.offset + row; },
167
194
  zebra: true,
168
195
  scrollbar: true,
169
196
  columns: [
@@ -1 +1 @@
1
- {"version":3,"file":"traffic.js","sourceRoot":"","sources":["../../src/screens/traffic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAkB,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,SAAS,IAAI,CAAC,KAAa;IACzB,IAAI,KAAK,IAAI,GAAG;QAAE,OAAO,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1D,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAC5D,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AACjC,CAAC;AAED,MAAM,aAAa,GAAG,CAAC,KAAY,EAA0B,EAAE,CAAC,CAAC;IAC/D,KAAK,EAAE,KAAK,CAAC,OAAO;IACpB,KAAK,EAAE,KAAK,CAAC,MAAM;IACnB,KAAK,EAAE,KAAK,CAAC,OAAO;IACpB,KAAK,EAAE,KAAK,CAAC,MAAM;IACnB,KAAK,EAAE,KAAK,CAAC,SAAS;CACvB,CAAC,CAAC;AAEH,gFAAgF;AAChF,MAAM,UAAU,aAAa,CAAC,EAAa,EAAE,KAAgB,EAAE,KAAY;IACzE,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC;IACjC,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;IAClB,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;IAEpB,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;QACnC,GAAG,CAAC,KAAK,CAAC;YACR,KAAK,EAAE,WAAW;YAClB,QAAQ,EAAE,GAAG,CAAC,CAAC,kBAAkB,SAAS,CAAC,CAAC,mBAAmB,MAAM;YACrE,WAAW,EAAE,KAAK,CAAC,MAAM;SAC1B,EAAE,CAAC,CAAC,EAAE,EAAE;YACP,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;gBAC/B,OAAO;YACT,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5D,CAAC,CAAC,MAAM,CACN,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC1C,KAAK,EAAE,MAAM,CAAC,QAAQ;gBACtB,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,GAAG;gBACzB,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC5B,IAAI,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE;aACxB,CAAC,CAAC,EACH,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAClC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE;YAC5E,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE;gBACvB,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBACjE,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YACtF,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,KAAK,CAAC;gBACN,MAAM,EAAE;oBACN,EAAE,MAAM,EAAE,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;oBAC5D,EAAE,MAAM,EAAE,CAAC,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;iBAChE;gBACD,GAAG,EAAE,CAAC;gBACN,IAAI,EAAE,KAAK;aACZ,CAAC,CAAC;YACH,CAAC,CAAC,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,SAAS,CAAC;gBACV,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE;gBACjF,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE;gBACzH,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;aACrF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,KAAK,CAAC;YACR,KAAK,EAAE,aAAa;YACpB,KAAK,EAAE,OAAO;YACd,WAAW,EAAE,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO;SACpE,EAAE,CAAC,CAAC,EAAE,EAAE;YACP,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE;gBACnC,EAAE,EAAE,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO;gBAC1D,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,CAAC;aACR,CAAC,CAAC;YACH,CAAC,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YAC7C,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5F,CAAC,CAAC,SAAS,CAAC;gBACV,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;gBAC1G,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,UAAU,MAAM,GAAG,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;aACvF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;QACtC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE;YAChC,MAAM,CAAC,KAAK,CAAC;gBACX,KAAK,EAAE,MAAM;gBACb,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe;gBAC5E,WAAW,EAAE,KAAK,CAAC,OAAO;aAC3B,EAAE,CAAC,CAAC,EAAE,EAAE;gBACP,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,CAAC,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;oBACxC,CAAC,CAAC,KAAK,CAAC,yCAAyC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;oBAChE,CAAC,CAAC,KAAK,CAAC,sDAAsD,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;oBAC7E,OAAO;gBACT,CAAC;gBACD,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE;oBACvB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;oBACzC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,gBAAgB,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBACpF,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;gBACrF,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC/B,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;gBACpC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;gBACnE,CAAC,CAAC,MAAM,CACN,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBACjC,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,GAAG;oBACxB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK;oBACzC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;iBAC1B,CAAC,CAAC,EACH,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CACjC,CAAC;gBACF,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;gBAClC,CAAC,CAAC,KAAK,CAAC;oBACN,IAAI,EAAE,IAAI,CAAC,QAAQ;oBACnB,MAAM,EAAE,KAAK;oBACb,OAAO,EAAE;wBACP,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE;wBAC7D,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE;qBAC/E;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE;YACjD,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE;gBACxG,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvB,CAAC,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;oBAC1C,OAAO;gBACT,CAAC;gBACD,CAAC,CAAC,KAAK,CAAC;oBACN,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE;oBAC1B,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ;oBAChC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM;oBAC5B,eAAe,EAAE,IAAI;oBACrB,KAAK,EAAE,IAAI;oBACX,SAAS,EAAE,IAAI;oBACf,OAAO,EAAE;wBACP,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;wBAC5D;4BACE,GAAG,EAAE,QAAQ;4BACb,KAAK,EAAE,QAAQ;4BACf,KAAK,EAAE,EAAE;4BACT,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CACb,GAAG,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO;gCACvC,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK;oCACzC,CAAC,CAAC,KAAK,CAAC,MAAM;yBACrB;wBACD,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE;wBAC/D,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE;wBAC5D,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;qBAClE;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE;gBACxF,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC3B,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;oBAC5B,OAAO;gBACT,CAAC;gBACD,CAAC,CAAC,KAAK,CAAC;oBACN,IAAI,EAAE,CAAC,CAAC,OAAO;oBACf,KAAK,EAAE,IAAI;oBACX,OAAO,EAAE;wBACP,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE;wBAC5D,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE;wBACtF,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;qBACtE;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC/B,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE;YACjF,CAAC,CAAC,KAAK,CAAC;gBACN,IAAI,EAAE,IAAI,CAAC,MAAM;gBACjB,KAAK,EAAE,IAAI;gBACX,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE;oBACP,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;oBAC5D,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE;oBACpE,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE;oBAC7D;wBACE,GAAG,EAAE,QAAQ;wBACb,KAAK,EAAE,QAAQ;wBACf,KAAK,EAAE,CAAC;wBACR,KAAK,EAAE,OAAO;wBACd,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK;qBAClF;oBACD,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE;oBAClE,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;iBAC/E;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"traffic.js","sourceRoot":"","sources":["../../src/screens/traffic.ts"],"names":[],"mappings":"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"}
package/dist/state.js CHANGED
@@ -2,9 +2,54 @@ export const SCREENS = [
2
2
  "dashboard", "traffic", "sessions", "network", "services",
3
3
  "components", "graphics", "themes", "input", "stress",
4
4
  ];
5
- /** The cursor for whichever screen is showing. */
6
- export function cursor(state) {
7
- return state.cursors[state.screen] ?? { selected: 0, offset: 0 };
5
+ /**
6
+ * The cursor for one scrollable, created on first use. Screens call this while
7
+ * drawing, which is also what registers the pane as existing.
8
+ */
9
+ export function pane(state, id, total, kind = "list") {
10
+ const existing = state.panes[id];
11
+ if (existing) {
12
+ existing.total = total;
13
+ return existing;
14
+ }
15
+ const created = { selected: 0, offset: 0, total, kind };
16
+ state.panes[id] = created;
17
+ // The first pane a screen draws is the one the arrows drive by default.
18
+ if (!state.focused[state.screen])
19
+ state.focused[state.screen] = id;
20
+ return created;
21
+ }
22
+ /** The pane the arrow keys act on, for the screen that is showing. */
23
+ export function focusedPane(state) {
24
+ const id = state.focused[state.screen];
25
+ return id ? state.panes[id] : undefined;
26
+ }
27
+ export function focusPane(state, id) {
28
+ state.focused[state.screen] = id;
29
+ }
30
+ /** Move a pane's window, dragging the selection so it stays inside. */
31
+ export function scrollPane(p, delta, rows = 3) {
32
+ const max = Math.max(0, p.total - 1);
33
+ p.offset = Math.max(0, Math.min(p.offset + delta * rows, max));
34
+ if (p.kind !== "log")
35
+ p.selected = Math.max(p.offset, Math.min(p.selected, max));
36
+ }
37
+ /**
38
+ * What the arrow keys do to the focused pane. Lists move the selection and let
39
+ * the widget scroll to follow it; logs have nothing to select, so they move
40
+ * their own window.
41
+ */
42
+ export function moveSelection(state, delta) {
43
+ const p = focusedPane(state);
44
+ if (!p || p.total === 0)
45
+ return;
46
+ if (p.kind === "log") {
47
+ // Down means newer, which is a smaller distance from the end.
48
+ p.offset = Math.max(0, Math.min(p.total - 1, p.offset - delta));
49
+ return;
50
+ }
51
+ p.selected = Math.max(0, Math.min(p.total - 1, p.selected + delta));
52
+ p.offset = Math.max(0, Math.min(p.offset, Math.max(0, p.total - 1)));
8
53
  }
9
54
  export function createState(sample, source, unavailable, sensorNote = "") {
10
55
  return {
@@ -13,7 +58,8 @@ export function createState(sample, source, unavailable, sensorNote = "") {
13
58
  screen: "dashboard",
14
59
  source,
15
60
  unavailable,
16
- cursors: Object.fromEntries(SCREENS.map((screen) => [screen, { selected: 0, offset: 0 }])),
61
+ panes: {},
62
+ focused: {},
17
63
  sort: "cpu",
18
64
  filter: "",
19
65
  filtering: false,
package/dist/state.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,OAAO,GAAiB;IACnC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU;IACzD,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ;CACtD,CAAC;AAwCF,kDAAkD;AAClD,MAAM,UAAU,MAAM,CAAC,KAAgB;IACrC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,MAAoB,EACpB,MAAc,EACd,WAAqB,EACrB,UAAU,GAAG,EAAE;IAEf,OAAO;QACL,MAAM;QACN,UAAU;QACV,MAAM,EAAE,WAAW;QACnB,MAAM;QACN,WAAW;QACX,OAAO,EAAE,MAAM,CAAC,WAAW,CACzB,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CACtC;QACzB,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,EAAE;QACV,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,KAAK;QAClB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,EAAE;QAChB,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,CAAC;QACb,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,KAAK;QACjB,WAAW,EAAE,CAAC;QACd,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,EAAE;QACd,OAAO,EAAE,GAAG;QACZ,SAAS,EAAE,GAAG;QACd,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,KAAK;QACb,GAAG,EAAE,CAAC;QACN,QAAQ,EAAE,CAAC;QACX,YAAY,EAAE,CAAC;QACf,KAAK,EAAE,CAAC;KACT,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@profullstack/hqtui-demo",
3
- "version": "0.1.7",
3
+ "version": "0.1.9",
4
4
  "description": "The HQTUI reference dashboard: a btop-grade terminal system monitor. Runs on real system metrics or a deterministic simulation.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -23,10 +23,11 @@
23
23
  "start": "bun src/main.ts",
24
24
  "build": "bun x tsc -p tsconfig.json",
25
25
  "prepublishOnly": "bun x tsc -p tsconfig.json",
26
- "shots": "bun scripts/shots.ts"
26
+ "shots": "bun scripts/shots.ts",
27
+ "audit:scroll": "bun scripts/scrollaudit.ts"
27
28
  },
28
29
  "dependencies": {
29
- "@profullstack/hqtui": "^0.1.7"
30
+ "@profullstack/hqtui": "^0.1.9"
30
31
  },
31
32
  "publishConfig": {
32
33
  "access": "public"
package/src/main.ts CHANGED
@@ -9,7 +9,7 @@
9
9
  */
10
10
  import { createApp, themeList, themes, type KeyEvent } from "@profullstack/hqtui";
11
11
  import { createCollector } from "./system/index.ts";
12
- import { createState, cursor, SCREENS, type ScreenName } from "./state.ts";
12
+ import { createState, focusedPane, moveSelection, SCREENS, type ScreenName } from "./state.ts";
13
13
  import {
14
14
  componentsScreen, dashboardScreen, graphicsScreen, inputScreen, networkScreen, servicesScreen,
15
15
  sessionsScreen, stressScreen, themesScreen, trafficScreen, visibleProcesses,
@@ -50,7 +50,7 @@ function parseArgs(argv: string[]): Options {
50
50
  case "-h":
51
51
  case "--help": printHelp(); process.exit(0);
52
52
  case "-v":
53
- case "--version": console.log("hqtui-demo 0.1.7"); process.exit(0);
53
+ case "--version": console.log("hqtui-demo 0.1.9"); process.exit(0);
54
54
  }
55
55
  }
56
56
  return options;
@@ -95,29 +95,6 @@ const PALETTE_COMMANDS: { label: string; hint: string; run: (state: ReturnType<t
95
95
  { label: "Pause updates", hint: "Space", run: (s) => { s.paused = !s.paused; } },
96
96
  ];
97
97
 
98
- /** Row count of the list the arrow keys drive on each screen. */
99
- function rowCount(state: ReturnType<typeof createState>): number {
100
- const t = state.sample.telemetry;
101
- switch (state.screen) {
102
- case "dashboard": return visibleProcesses(state).length;
103
- case "traffic": return t.ssh.length;
104
- case "sessions": return t.logins.length;
105
- case "network": return t.connections.length;
106
- case "services": return t.services.length;
107
- case "components": return 5;
108
- default: return 0;
109
- }
110
- }
111
-
112
- function moveCursor(state: ReturnType<typeof createState>, delta: number): void {
113
- const c = cursor(state);
114
- const total = rowCount(state);
115
- if (total === 0) return;
116
- c.selected = Math.max(0, Math.min(total - 1, c.selected + delta));
117
- // The table scrolls itself via followSelection; keep the offset in range.
118
- c.offset = Math.max(0, Math.min(c.offset, Math.max(0, total - 1)));
119
- }
120
-
121
98
  async function main(): Promise<void> {
122
99
  const options = parseArgs(process.argv.slice(2));
123
100
  const collector = await createCollector({ real: options.real, seed: options.seed });
@@ -165,15 +142,8 @@ async function main(): Promise<void> {
165
142
 
166
143
  app.on("mouse", (event) => {
167
144
  state.lastMouse = `${event.action} ${event.button} @ ${event.x},${event.y}${event.scroll ? ` scroll ${event.scroll}` : ""}`;
168
- if (event.action === "scroll") {
169
- // Scrolling moves the window and drags the selection along with it, so
170
- // the highlighted row never scrolls off and snaps the view back.
171
- const c = cursor(state);
172
- const total = rowCount(state);
173
- c.offset = Math.max(0, Math.min(c.offset + event.scroll * 3, Math.max(0, total - 1)));
174
- c.selected = Math.max(c.offset, Math.min(c.selected, c.offset + 20));
175
- app.invalidate();
176
- }
145
+ // Each scrollable registers its own region, so the wheel is handled by
146
+ // whatever sits under the pointer rather than by one list per screen.
177
147
  });
178
148
 
179
149
  app.on("key", (event: KeyEvent) => {
@@ -232,12 +202,12 @@ async function main(): Promise<void> {
232
202
  state.paletteIndex = 0;
233
203
  return;
234
204
  case "space": state.paused = !state.paused; return;
235
- case "up": moveCursor(state, -1); break;
236
- case "down": moveCursor(state, 1); break;
237
- case "pageup": moveCursor(state, -10); break;
238
- case "pagedown": moveCursor(state, 10); break;
239
- case "home": moveCursor(state, -Number.MAX_SAFE_INTEGER); break;
240
- case "end": moveCursor(state, Number.MAX_SAFE_INTEGER); break;
205
+ case "up": moveSelection(state, -1); break;
206
+ case "down": moveSelection(state, 1); break;
207
+ case "pageup": moveSelection(state, -10); break;
208
+ case "pagedown": moveSelection(state, 10); break;
209
+ case "home": moveSelection(state, -Number.MAX_SAFE_INTEGER); break;
210
+ case "end": moveSelection(state, Number.MAX_SAFE_INTEGER); break;
241
211
  case "enter": state.showModal = true; return;
242
212
  case "left":
243
213
  if (state.screen === "themes") {
@@ -334,7 +304,7 @@ async function main(): Promise<void> {
334
304
  if (state.showModal) {
335
305
  ui.modal({
336
306
  title: "Confirm Action",
337
- message: `Are you sure you want to terminate process ${visibleProcesses(state)[cursor(state).selected]?.pid ?? "—"} (${visibleProcesses(state)[cursor(state).selected]?.name ?? "—"})?`,
307
+ message: `Are you sure you want to terminate process ${visibleProcesses(state)[focusedPane(state)?.selected ?? 0]?.pid ?? "—"} (${visibleProcesses(state)[focusedPane(state)?.selected ?? 0]?.name ?? "—"})?`,
338
308
  buttons: [
339
309
  { label: "Yes", variant: "success", focused: true },
340
310
  { label: "No", variant: "ghost" },
@@ -1,5 +1,5 @@
1
1
  import type { Container, Theme } from "@profullstack/hqtui";
2
- import { cursor, type DemoState } from "../state.ts";
2
+ import { focusPane, pane, scrollPane, type DemoState } from "../state.ts";
3
3
  import { bytes, percent } from "../format.ts";
4
4
 
5
5
  const FILES = [
@@ -83,9 +83,15 @@ export function componentsScreen(ui: Container, state: DemoState, theme: Theme):
83
83
  });
84
84
 
85
85
  left.panel({ title: "Table Widget", size: "1fr" }, (p) => {
86
+ const files = pane(state, "components.files", FILES.length);
86
87
  p.table({
87
88
  rows: FILES,
88
- selected: cursor(state).selected % FILES.length,
89
+ selected: files.selected,
90
+ offset: files.offset,
91
+ followSelection: true,
92
+ onScroll: (delta) => scrollPane(files, delta),
93
+ onFocus: () => focusPane(state, "components.files"),
94
+ onSelectRow: (row) => { files.selected = files.offset + row; },
89
95
  zebra: true,
90
96
  columns: [
91
97
  { key: "name", title: "Name", min: 10, color: theme.primary },
@@ -97,8 +103,14 @@ export function componentsScreen(ui: Container, state: DemoState, theme: Theme):
97
103
  });
98
104
 
99
105
  left.panel({ title: "Log Viewer", size: 11 }, (p) => {
106
+ const clogs = pane(state, "components.logs", state.sample.logs.length, "log");
100
107
  p.log({
101
108
  entries: state.sample.logs.map((l) => ({ time: l.time, level: l.level, message: l.message, meta: `{${l.meta}}` })),
109
+ // Lines scrolled back from the newest; 0 keeps it tailing.
110
+ fromEnd: clogs.offset,
111
+ scrollbar: true,
112
+ onScroll: (delta) => scrollPane(clogs, -delta),
113
+ onFocus: () => focusPane(state, "components.logs"),
102
114
  });
103
115
  });
104
116
  });
@@ -109,7 +121,15 @@ export function componentsScreen(ui: Container, state: DemoState, theme: Theme):
109
121
  r.text("Name", { fg: theme.muted, bold: true });
110
122
  r.text("CPU% MEM%", { fg: theme.muted, bold: true, align: "right" });
111
123
  });
112
- p.tree({ nodes: TREE, selected: cursor(state).selected % 8, followSelection: true });
124
+ const tree = pane(state, "components.tree", 8);
125
+ p.tree({
126
+ nodes: TREE,
127
+ selected: tree.selected,
128
+ offset: tree.offset,
129
+ followSelection: true,
130
+ onScroll: (delta) => scrollPane(tree, delta),
131
+ onFocus: () => focusPane(state, "components.tree"),
132
+ });
113
133
  });
114
134
 
115
135
  right.panel({ title: "Sparklines & Gauges", size: 12 }, (p) => {
@@ -136,6 +156,7 @@ export function componentsScreen(ui: Container, state: DemoState, theme: Theme):
136
156
  r.spacer("fill");
137
157
  });
138
158
  p.spacer(1);
159
+ const paths = pane(state, "components.list", 4);
139
160
  p.list({
140
161
  items: [
141
162
  { label: "apps/demo", color: theme.primary },
@@ -143,7 +164,12 @@ export function componentsScreen(ui: Container, state: DemoState, theme: Theme):
143
164
  { label: "apps/web" },
144
165
  { label: "docs" },
145
166
  ],
146
- selected: cursor(state).selected % 4,
167
+ selected: paths.selected,
168
+ offset: paths.offset,
169
+ followSelection: true,
170
+ onScroll: (delta) => scrollPane(paths, delta),
171
+ onFocus: () => focusPane(state, "components.list"),
172
+ onSelectRow: (row) => { paths.selected = paths.offset + row; },
147
173
  bullet: "▸",
148
174
  scrollbar: true,
149
175
  });
@@ -1,6 +1,6 @@
1
1
  import type { Container, Theme } from "@profullstack/hqtui";
2
2
  import { heatColor } from "@profullstack/hqtui";
3
- import { cursor, type DemoState } from "../state.ts";
3
+ import { focusPane, pane, scrollPane, type DemoState } from "../state.ts";
4
4
  import { bitRate, byteRate, bytes, clock, duration, num, percent } from "../format.ts";
5
5
 
6
6
  const TIME_LABELS = ["60s", "45s", "30s", "15s", "0s"];
@@ -152,11 +152,15 @@ function processesPanel(ui: Container, state: DemoState, theme: Theme): void {
152
152
  subtitle: state.filter ? `filter: ${state.filter}` : undefined,
153
153
  focusable: true,
154
154
  }, (p) => {
155
+ const procs = pane(state, "dashboard.processes", rows.length);
155
156
  p.table({
156
157
  rows,
157
- selected: cursor(state).selected,
158
- offset: cursor(state).offset,
158
+ selected: procs.selected,
159
+ offset: procs.offset,
159
160
  followSelection: true,
161
+ onScroll: (delta) => scrollPane(procs, delta),
162
+ onFocus: () => focusPane(state, "dashboard.processes"),
163
+ onSelectRow: (row) => { procs.selected = procs.offset + row; },
160
164
  scrollbar: true,
161
165
  columns: [
162
166
  { key: "pid", title: "PID", width: 7, align: "right" },
@@ -264,7 +268,20 @@ function sensorsPanel(ui: Container, state: DemoState, theme: Theme): void {
264
268
 
265
269
  function logsPanel(ui: Container, state: DemoState): void {
266
270
  ui.panel({ title: "Logs" }, (p) => {
267
- p.log({ entries: state.sample.logs.map((l) => ({ time: l.time, level: l.level, message: l.message, meta: `{${l.meta}}` })) });
271
+ const logs = pane(state, "dashboard.logs", state.sample.logs.length, "log");
272
+ p.log({
273
+ entries: state.sample.logs.map((l) => ({
274
+ time: l.time,
275
+ level: l.level,
276
+ message: l.message,
277
+ meta: `{${l.meta}}`,
278
+ })),
279
+ // Lines scrolled back from the newest; 0 keeps it tailing.
280
+ fromEnd: logs.offset,
281
+ scrollbar: true,
282
+ onScroll: (delta) => scrollPane(logs, -delta),
283
+ onFocus: () => focusPane(state, "dashboard.logs"),
284
+ });
268
285
  });
269
286
  }
270
287
 
@@ -1,5 +1,5 @@
1
1
  import type { Container, Theme } from "@profullstack/hqtui";
2
- import { cursor, type DemoState } from "../state.ts";
2
+ import { focusPane, pane, scrollPane, type DemoState } from "../state.ts";
3
3
  import { byteRate, bytes } from "../format.ts";
4
4
 
5
5
  /** Interfaces, live throughput, open connections and listening ports. */
@@ -53,11 +53,15 @@ export function networkScreen(ui: Container, state: DemoState, theme: Theme): vo
53
53
  p.label("No connections visible (`ss` unavailable).");
54
54
  return;
55
55
  }
56
+ const conns = pane(state, "network.connections", t.connections.length);
56
57
  p.table({
57
58
  rows: t.connections,
58
- selected: cursor(state).selected,
59
- offset: cursor(state).offset,
59
+ selected: conns.selected,
60
+ offset: conns.offset,
60
61
  followSelection: true,
62
+ onScroll: (delta) => scrollPane(conns, delta),
63
+ onFocus: () => focusPane(state, "network.connections"),
64
+ onSelectRow: (row) => { conns.selected = conns.offset + row; },
61
65
  zebra: true,
62
66
  scrollbar: true,
63
67
  columns: [
@@ -72,8 +76,15 @@ export function networkScreen(ui: Container, state: DemoState, theme: Theme): vo
72
76
 
73
77
  row.column({ width: "0.7fr", gap: 1 }, (column) => {
74
78
  column.panel({ title: "Listening Ports", subtitle: String(t.listeners.length), borderColor: theme.warning }, (p) => {
79
+ const listeners = pane(state, "network.listeners", t.listeners.length);
75
80
  p.table({
76
81
  rows: t.listeners,
82
+ selected: listeners.selected,
83
+ offset: listeners.offset,
84
+ followSelection: true,
85
+ onScroll: (delta) => scrollPane(listeners, delta),
86
+ onFocus: () => focusPane(state, "network.listeners"),
87
+ onSelectRow: (row) => { listeners.selected = listeners.offset + row; },
77
88
  zebra: true,
78
89
  scrollbar: true,
79
90
  columns: [