green-screen-proxy 1.0.2 → 1.1.0
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.
- package/dist/controller.d.ts +36 -0
- package/dist/controller.d.ts.map +1 -0
- package/dist/controller.js +144 -0
- package/dist/controller.js.map +1 -0
- package/dist/protocols/tn5250-handler.d.ts +24 -1
- package/dist/protocols/tn5250-handler.d.ts.map +1 -1
- package/dist/protocols/tn5250-handler.js +251 -16
- package/dist/protocols/tn5250-handler.js.map +1 -1
- package/dist/routes.d.ts.map +1 -1
- package/dist/routes.js +2 -4
- package/dist/routes.js.map +1 -1
- package/dist/session.d.ts +2 -2
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +2 -2
- package/dist/session.js.map +1 -1
- package/dist/tn5250/connection.d.ts +2 -1
- package/dist/tn5250/connection.d.ts.map +1 -1
- package/dist/tn5250/connection.js +5 -3
- package/dist/tn5250/connection.js.map +1 -1
- package/dist/tn5250/constants.d.ts +15 -0
- package/dist/tn5250/constants.d.ts.map +1 -1
- package/dist/tn5250/constants.js +18 -0
- package/dist/tn5250/constants.js.map +1 -1
- package/dist/tn5250/encoder.d.ts +11 -0
- package/dist/tn5250/encoder.d.ts.map +1 -1
- package/dist/tn5250/encoder.js +107 -5
- package/dist/tn5250/encoder.js.map +1 -1
- package/dist/tn5250/parser.d.ts +64 -6
- package/dist/tn5250/parser.d.ts.map +1 -1
- package/dist/tn5250/parser.js +582 -139
- package/dist/tn5250/parser.js.map +1 -1
- package/dist/tn5250/screen.d.ts +93 -0
- package/dist/tn5250/screen.d.ts.map +1 -1
- package/dist/tn5250/screen.js +283 -12
- package/dist/tn5250/screen.js.map +1 -1
- package/dist/websocket.d.ts +0 -3
- package/dist/websocket.d.ts.map +1 -1
- package/dist/websocket.js +123 -139
- package/dist/websocket.js.map +1 -1
- package/package.json +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/tn5250/parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/tn5250/parser.ts"],"names":[],"mappings":"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"}
|
package/dist/tn5250/screen.d.ts
CHANGED
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
interface SavedScreenState {
|
|
2
|
+
buffer: string[];
|
|
3
|
+
attrBuffer: number[];
|
|
4
|
+
fields: FieldDef[];
|
|
5
|
+
cursorRow: number;
|
|
6
|
+
cursorCol: number;
|
|
7
|
+
}
|
|
8
|
+
export interface WindowDef {
|
|
9
|
+
row: number;
|
|
10
|
+
col: number;
|
|
11
|
+
height: number;
|
|
12
|
+
width: number;
|
|
13
|
+
}
|
|
1
14
|
export interface FieldDef {
|
|
2
15
|
row: number;
|
|
3
16
|
col: number;
|
|
@@ -10,6 +23,18 @@ export interface FieldDef {
|
|
|
10
23
|
rawAttrByte: number;
|
|
11
24
|
modified: boolean;
|
|
12
25
|
}
|
|
26
|
+
export interface SelectionChoice {
|
|
27
|
+
text: string;
|
|
28
|
+
row: number;
|
|
29
|
+
col: number;
|
|
30
|
+
}
|
|
31
|
+
export interface SelectionFieldDef {
|
|
32
|
+
row: number;
|
|
33
|
+
col: number;
|
|
34
|
+
numRows: number;
|
|
35
|
+
numCols: number;
|
|
36
|
+
choices: SelectionChoice[];
|
|
37
|
+
}
|
|
13
38
|
export declare class ScreenBuffer {
|
|
14
39
|
rows: number;
|
|
15
40
|
cols: number;
|
|
@@ -20,8 +45,29 @@ export declare class ScreenBuffer {
|
|
|
20
45
|
fields: FieldDef[];
|
|
21
46
|
cursorRow: number;
|
|
22
47
|
cursorCol: number;
|
|
48
|
+
/** Keyboard locked by host (X SYSTEM indicator) */
|
|
49
|
+
keyboardLocked: boolean;
|
|
50
|
+
/** Insert mode (true) vs overwrite mode (false). Default is overwrite per real 5250. */
|
|
51
|
+
insertMode: boolean;
|
|
52
|
+
/** Cursor position saved before WRITE_ERROR_CODE moved it, for Reset to restore */
|
|
53
|
+
savedCursorBeforeError: {
|
|
54
|
+
row: number;
|
|
55
|
+
col: number;
|
|
56
|
+
} | null;
|
|
57
|
+
/** Message waiting indicator */
|
|
58
|
+
messageWaiting: boolean;
|
|
59
|
+
/** Pending alarm/beep from CC2 */
|
|
60
|
+
pendingAlarm: boolean;
|
|
61
|
+
/** Stack of saved screen states for SAVE_SCREEN / RESTORE_SCREEN */
|
|
62
|
+
screenStack: SavedScreenState[];
|
|
63
|
+
/** Active windows (for tracking; borders rendered directly into buffer) */
|
|
64
|
+
windowList: WindowDef[];
|
|
65
|
+
/** Selection fields parsed from WDSF DEFINE_SELECTION_FIELD */
|
|
66
|
+
selectionFields: SelectionFieldDef[];
|
|
23
67
|
constructor(rows?: 24, cols?: 80);
|
|
24
68
|
get size(): number;
|
|
69
|
+
/** Resize the screen buffer, clearing all content and fields. */
|
|
70
|
+
resize(rows: number, cols: number): void;
|
|
25
71
|
/** Convert row,col to linear offset */
|
|
26
72
|
offset(row: number, col: number): number;
|
|
27
73
|
/** Convert linear offset to row,col */
|
|
@@ -41,6 +87,8 @@ export declare class ScreenBuffer {
|
|
|
41
87
|
setAttrAt(addr: number, attr: number): void;
|
|
42
88
|
/** Clear the entire screen */
|
|
43
89
|
clear(): void;
|
|
90
|
+
/** Clear the error/message line (last row) */
|
|
91
|
+
clearErrorLine(): void;
|
|
44
92
|
/** Fill range [start, end) with a character */
|
|
45
93
|
fillRange(start: number, end: number, char: string): void;
|
|
46
94
|
/** Get the content of a field as a string */
|
|
@@ -68,6 +116,45 @@ export declare class ScreenBuffer {
|
|
|
68
116
|
hasNativeUnderscore(field: FieldDef): boolean;
|
|
69
117
|
/** Whether the field's OWN attribute byte indicates non-display (lower 3 bits = 7). */
|
|
70
118
|
hasNativeNonDisplay(field: FieldDef): boolean;
|
|
119
|
+
/**
|
|
120
|
+
* Decode the 5250 color from a raw field attribute byte (0x20-0x3F).
|
|
121
|
+
*
|
|
122
|
+
* 5250 color model:
|
|
123
|
+
* Bits 4-3 select color group, bit 1 selects intensity:
|
|
124
|
+
* | Bits 4-3 | Normal (bit1=0) | High Intensity (bit1=1) |
|
|
125
|
+
* |----------|-----------------|-------------------------|
|
|
126
|
+
* | 00 (0x20)| green | white |
|
|
127
|
+
* | 01 (0x28)| red | red |
|
|
128
|
+
* | 10 (0x30)| turquoise | yellow |
|
|
129
|
+
* | 11 (0x38)| pink | blue |
|
|
130
|
+
*/
|
|
131
|
+
static attrColor(rawAttrByte: number): 'green' | 'white' | 'red' | 'turquoise' | 'yellow' | 'pink' | 'blue';
|
|
132
|
+
/** Save current screen state to the stack */
|
|
133
|
+
saveState(): void;
|
|
134
|
+
/** Restore screen state from the stack. Returns false if stack is empty. */
|
|
135
|
+
restoreState(): boolean;
|
|
136
|
+
/**
|
|
137
|
+
* Synthesize a window when the host uses SAVE_SCREEN but no CREATE_WINDOW.
|
|
138
|
+
* Detects the content area written to the cleared screen, restores the saved
|
|
139
|
+
* screen as background, and overlays the content with a border.
|
|
140
|
+
*/
|
|
141
|
+
synthesizeWindow(): void;
|
|
142
|
+
/** Erase a rectangular region (inclusive bounds, 0-based) */
|
|
143
|
+
eraseRegion(startRow: number, startCol: number, endRow: number, endCol: number): void;
|
|
144
|
+
/** Render a window border with default characters */
|
|
145
|
+
renderWindowBorder(row: number, col: number, height: number, width: number): void;
|
|
146
|
+
/** Render a window border with custom characters and optional title/footer.
|
|
147
|
+
* Per lib5250 session.c:3129-3349. */
|
|
148
|
+
renderWindowBorderCustom(row: number, col: number, height: number, width: number, chars: {
|
|
149
|
+
ul: string;
|
|
150
|
+
top: string;
|
|
151
|
+
ur: string;
|
|
152
|
+
left: string;
|
|
153
|
+
right: string;
|
|
154
|
+
ll: string;
|
|
155
|
+
bot: string;
|
|
156
|
+
lr: string;
|
|
157
|
+
}, title: string, footer: string): void;
|
|
71
158
|
/** Convert screen buffer to the ScreenData format expected by the frontend */
|
|
72
159
|
toScreenData(): {
|
|
73
160
|
content: string;
|
|
@@ -84,9 +171,15 @@ export declare class ScreenBuffer {
|
|
|
84
171
|
is_highlighted?: boolean;
|
|
85
172
|
is_reverse?: boolean;
|
|
86
173
|
is_underscored?: boolean;
|
|
174
|
+
color?: 'green' | 'white' | 'red' | 'turquoise' | 'yellow' | 'pink' | 'blue';
|
|
87
175
|
}>;
|
|
88
176
|
screen_signature: string;
|
|
89
177
|
timestamp: string;
|
|
178
|
+
keyboard_locked?: boolean;
|
|
179
|
+
message_waiting?: boolean;
|
|
180
|
+
alarm?: boolean;
|
|
181
|
+
insert_mode?: boolean;
|
|
90
182
|
};
|
|
91
183
|
}
|
|
184
|
+
export {};
|
|
92
185
|
//# sourceMappingURL=screen.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screen.d.ts","sourceRoot":"","sources":["../../src/tn5250/screen.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,YAAY;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,oDAAoD;IACpD,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,EAAE,QAAQ,EAAE,CAAM;IACxB,SAAS,EAAE,MAAM,CAAK;IACtB,SAAS,EAAE,MAAM,CAAK;
|
|
1
|
+
{"version":3,"file":"screen.d.ts","sourceRoot":"","sources":["../../src/tn5250/screen.ts"],"names":[],"mappings":"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"}
|
package/dist/tn5250/screen.js
CHANGED
|
@@ -10,6 +10,22 @@ export class ScreenBuffer {
|
|
|
10
10
|
fields = [];
|
|
11
11
|
cursorRow = 0;
|
|
12
12
|
cursorCol = 0;
|
|
13
|
+
/** Keyboard locked by host (X SYSTEM indicator) */
|
|
14
|
+
keyboardLocked = false;
|
|
15
|
+
/** Insert mode (true) vs overwrite mode (false). Default is overwrite per real 5250. */
|
|
16
|
+
insertMode = false;
|
|
17
|
+
/** Cursor position saved before WRITE_ERROR_CODE moved it, for Reset to restore */
|
|
18
|
+
savedCursorBeforeError = null;
|
|
19
|
+
/** Message waiting indicator */
|
|
20
|
+
messageWaiting = false;
|
|
21
|
+
/** Pending alarm/beep from CC2 */
|
|
22
|
+
pendingAlarm = false;
|
|
23
|
+
/** Stack of saved screen states for SAVE_SCREEN / RESTORE_SCREEN */
|
|
24
|
+
screenStack = [];
|
|
25
|
+
/** Active windows (for tracking; borders rendered directly into buffer) */
|
|
26
|
+
windowList = [];
|
|
27
|
+
/** Selection fields parsed from WDSF DEFINE_SELECTION_FIELD */
|
|
28
|
+
selectionFields = [];
|
|
13
29
|
constructor(rows = SCREEN.ROWS_24, cols = SCREEN.COLS_80) {
|
|
14
30
|
this.rows = rows;
|
|
15
31
|
this.cols = cols;
|
|
@@ -20,6 +36,17 @@ export class ScreenBuffer {
|
|
|
20
36
|
get size() {
|
|
21
37
|
return this.rows * this.cols;
|
|
22
38
|
}
|
|
39
|
+
/** Resize the screen buffer, clearing all content and fields. */
|
|
40
|
+
resize(rows, cols) {
|
|
41
|
+
this.rows = rows;
|
|
42
|
+
this.cols = cols;
|
|
43
|
+
const size = rows * cols;
|
|
44
|
+
this.buffer = new Array(size).fill(' ');
|
|
45
|
+
this.attrBuffer = new Array(size).fill(0x20);
|
|
46
|
+
this.fields = [];
|
|
47
|
+
this.cursorRow = 0;
|
|
48
|
+
this.cursorCol = 0;
|
|
49
|
+
}
|
|
23
50
|
/** Convert row,col to linear offset */
|
|
24
51
|
offset(row, col) {
|
|
25
52
|
return row * this.cols + col;
|
|
@@ -67,9 +94,18 @@ export class ScreenBuffer {
|
|
|
67
94
|
this.buffer.fill(' ');
|
|
68
95
|
this.attrBuffer.fill(0x20);
|
|
69
96
|
this.fields = [];
|
|
97
|
+
this.selectionFields = [];
|
|
70
98
|
this.cursorRow = 0;
|
|
71
99
|
this.cursorCol = 0;
|
|
72
100
|
}
|
|
101
|
+
/** Clear the error/message line (last row) */
|
|
102
|
+
clearErrorLine() {
|
|
103
|
+
const start = this.offset(this.rows - 1, 0);
|
|
104
|
+
for (let i = start; i < start + this.cols; i++) {
|
|
105
|
+
this.buffer[i] = ' ';
|
|
106
|
+
this.attrBuffer[i] = 0x20;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
73
109
|
/** Fill range [start, end) with a character */
|
|
74
110
|
fillRange(start, end, char) {
|
|
75
111
|
for (let i = start; i < end && i < this.size; i++) {
|
|
@@ -138,9 +174,219 @@ export class ScreenBuffer {
|
|
|
138
174
|
hasNativeNonDisplay(field) {
|
|
139
175
|
return (field.rawAttrByte & 0x07) === 0x07;
|
|
140
176
|
}
|
|
177
|
+
/**
|
|
178
|
+
* Decode the 5250 color from a raw field attribute byte (0x20-0x3F).
|
|
179
|
+
*
|
|
180
|
+
* 5250 color model:
|
|
181
|
+
* Bits 4-3 select color group, bit 1 selects intensity:
|
|
182
|
+
* | Bits 4-3 | Normal (bit1=0) | High Intensity (bit1=1) |
|
|
183
|
+
* |----------|-----------------|-------------------------|
|
|
184
|
+
* | 00 (0x20)| green | white |
|
|
185
|
+
* | 01 (0x28)| red | red |
|
|
186
|
+
* | 10 (0x30)| turquoise | yellow |
|
|
187
|
+
* | 11 (0x38)| pink | blue |
|
|
188
|
+
*/
|
|
189
|
+
static attrColor(rawAttrByte) {
|
|
190
|
+
const colorGroup = rawAttrByte & 0x18; // bits 4-3
|
|
191
|
+
const highIntensity = (rawAttrByte & 0x02) !== 0; // bit 1
|
|
192
|
+
switch (colorGroup) {
|
|
193
|
+
case 0x00: return highIntensity ? 'white' : 'green';
|
|
194
|
+
case 0x08: return 'red';
|
|
195
|
+
case 0x10: return highIntensity ? 'yellow' : 'turquoise';
|
|
196
|
+
case 0x18: return highIntensity ? 'blue' : 'pink';
|
|
197
|
+
default: return 'green';
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
/** Save current screen state to the stack */
|
|
201
|
+
saveState() {
|
|
202
|
+
this.screenStack.push({
|
|
203
|
+
buffer: [...this.buffer],
|
|
204
|
+
attrBuffer: [...this.attrBuffer],
|
|
205
|
+
fields: this.fields.map(f => ({ ...f })),
|
|
206
|
+
cursorRow: this.cursorRow,
|
|
207
|
+
cursorCol: this.cursorCol,
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
/** Restore screen state from the stack. Returns false if stack is empty. */
|
|
211
|
+
restoreState() {
|
|
212
|
+
const state = this.screenStack.pop();
|
|
213
|
+
if (!state)
|
|
214
|
+
return false;
|
|
215
|
+
this.buffer = state.buffer;
|
|
216
|
+
this.attrBuffer = state.attrBuffer;
|
|
217
|
+
this.fields = state.fields;
|
|
218
|
+
this.cursorRow = state.cursorRow;
|
|
219
|
+
this.cursorCol = state.cursorCol;
|
|
220
|
+
return true;
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Synthesize a window when the host uses SAVE_SCREEN but no CREATE_WINDOW.
|
|
224
|
+
* Detects the content area written to the cleared screen, restores the saved
|
|
225
|
+
* screen as background, and overlays the content with a border.
|
|
226
|
+
*/
|
|
227
|
+
synthesizeWindow() {
|
|
228
|
+
if (this.screenStack.length === 0)
|
|
229
|
+
return;
|
|
230
|
+
// Find the bounding box of non-empty content in current buffer
|
|
231
|
+
let minRow = this.rows, maxRow = -1, minCol = this.cols, maxCol = -1;
|
|
232
|
+
for (let r = 0; r < this.rows; r++) {
|
|
233
|
+
for (let c = 0; c < this.cols; c++) {
|
|
234
|
+
if (this.buffer[this.offset(r, c)] !== ' ') {
|
|
235
|
+
if (r < minRow)
|
|
236
|
+
minRow = r;
|
|
237
|
+
if (r > maxRow)
|
|
238
|
+
maxRow = r;
|
|
239
|
+
if (c < minCol)
|
|
240
|
+
minCol = c;
|
|
241
|
+
if (c > maxCol)
|
|
242
|
+
maxCol = c;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
if (maxRow < 0)
|
|
247
|
+
return; // nothing written
|
|
248
|
+
// Save the prompted command content and fields
|
|
249
|
+
const contentBuf = [...this.buffer];
|
|
250
|
+
const contentAttr = [...this.attrBuffer];
|
|
251
|
+
const contentFields = this.fields.map(f => ({ ...f }));
|
|
252
|
+
const contentCursorRow = this.cursorRow;
|
|
253
|
+
const contentCursorCol = this.cursorCol;
|
|
254
|
+
// Restore saved screen as background (peek, don't pop — RESTORE_SCREEN will pop)
|
|
255
|
+
const saved = this.screenStack[this.screenStack.length - 1];
|
|
256
|
+
this.buffer = [...saved.buffer];
|
|
257
|
+
this.attrBuffer = [...saved.attrBuffer];
|
|
258
|
+
// Check if there's room for borders (at least 1 cell of space on each side)
|
|
259
|
+
const hasTopBorder = minRow > 0;
|
|
260
|
+
const hasBotBorder = maxRow < this.rows - 1;
|
|
261
|
+
const hasLeftBorder = minCol > 0;
|
|
262
|
+
const hasRightBorder = maxCol < this.cols - 1;
|
|
263
|
+
if (hasTopBorder || hasBotBorder || hasLeftBorder || hasRightBorder) {
|
|
264
|
+
const bTop = hasTopBorder ? minRow - 1 : minRow;
|
|
265
|
+
const bLeft = hasLeftBorder ? minCol - 1 : minCol;
|
|
266
|
+
const bBot = hasBotBorder ? maxRow + 1 : maxRow;
|
|
267
|
+
const bRight = hasRightBorder ? maxCol + 1 : maxCol;
|
|
268
|
+
const setBorder = (r, c, ch) => {
|
|
269
|
+
if (r >= 0 && r < this.rows && c >= 0 && c < this.cols) {
|
|
270
|
+
const addr = this.offset(r, c);
|
|
271
|
+
this.buffer[addr] = ch;
|
|
272
|
+
this.attrBuffer[addr] = 0x22;
|
|
273
|
+
}
|
|
274
|
+
};
|
|
275
|
+
// Horizontal edges
|
|
276
|
+
if (hasTopBorder)
|
|
277
|
+
for (let c = bLeft; c <= bRight; c++)
|
|
278
|
+
setBorder(bTop, c, '.');
|
|
279
|
+
if (hasBotBorder)
|
|
280
|
+
for (let c = bLeft; c <= bRight; c++)
|
|
281
|
+
setBorder(bBot, c, '.');
|
|
282
|
+
// Vertical edges
|
|
283
|
+
if (hasLeftBorder)
|
|
284
|
+
for (let r = minRow; r <= maxRow; r++)
|
|
285
|
+
setBorder(r, bLeft, ':');
|
|
286
|
+
if (hasRightBorder)
|
|
287
|
+
for (let r = minRow; r <= maxRow; r++)
|
|
288
|
+
setBorder(r, bRight, ':');
|
|
289
|
+
// Corners
|
|
290
|
+
if (hasTopBorder && hasLeftBorder)
|
|
291
|
+
setBorder(bTop, bLeft, '.');
|
|
292
|
+
if (hasTopBorder && hasRightBorder)
|
|
293
|
+
setBorder(bTop, bRight, '.');
|
|
294
|
+
if (hasBotBorder && hasLeftBorder)
|
|
295
|
+
setBorder(bBot, bLeft, ':');
|
|
296
|
+
if (hasBotBorder && hasRightBorder)
|
|
297
|
+
setBorder(bBot, bRight, ':');
|
|
298
|
+
// Erase content area inside the border (clear saved screen artifacts)
|
|
299
|
+
for (let r = minRow; r <= maxRow; r++) {
|
|
300
|
+
for (let c = minCol; c <= maxCol; c++) {
|
|
301
|
+
const addr = this.offset(r, c);
|
|
302
|
+
this.buffer[addr] = ' ';
|
|
303
|
+
this.attrBuffer[addr] = 0x20;
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
// Copy prompted command content into the area
|
|
308
|
+
for (let r = minRow; r <= maxRow; r++) {
|
|
309
|
+
for (let c = minCol; c <= maxCol; c++) {
|
|
310
|
+
const addr = this.offset(r, c);
|
|
311
|
+
this.buffer[addr] = contentBuf[addr];
|
|
312
|
+
this.attrBuffer[addr] = contentAttr[addr];
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
// Restore content fields and cursor
|
|
316
|
+
this.fields = contentFields;
|
|
317
|
+
this.cursorRow = contentCursorRow;
|
|
318
|
+
this.cursorCol = contentCursorCol;
|
|
319
|
+
// Track as a synthetic window
|
|
320
|
+
this.windowList.push({
|
|
321
|
+
row: Math.max(0, minRow - 1),
|
|
322
|
+
col: Math.max(0, minCol - 1),
|
|
323
|
+
height: maxRow - minRow + 1,
|
|
324
|
+
width: maxCol - minCol + 1,
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
/** Erase a rectangular region (inclusive bounds, 0-based) */
|
|
328
|
+
eraseRegion(startRow, startCol, endRow, endCol) {
|
|
329
|
+
for (let r = startRow; r <= endRow; r++) {
|
|
330
|
+
for (let c = startCol; c <= endCol; c++) {
|
|
331
|
+
const addr = this.offset(r, c);
|
|
332
|
+
if (addr >= 0 && addr < this.size) {
|
|
333
|
+
this.buffer[addr] = ' ';
|
|
334
|
+
this.attrBuffer[addr] = 0x20;
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
/** Render a window border with default characters */
|
|
340
|
+
renderWindowBorder(row, col, height, width) {
|
|
341
|
+
this.renderWindowBorderCustom(row, col, height, width, { ul: '.', top: '.', ur: '.', left: ':', right: ':', ll: ':', bot: '.', lr: ':' }, '', '');
|
|
342
|
+
}
|
|
343
|
+
/** Render a window border with custom characters and optional title/footer.
|
|
344
|
+
* Per lib5250 session.c:3129-3349. */
|
|
345
|
+
renderWindowBorderCustom(row, col, height, width, chars, title, footer) {
|
|
346
|
+
const botRow = row + height + 1;
|
|
347
|
+
const rightCol = col + width + 1;
|
|
348
|
+
const setBorder = (r, c, ch) => {
|
|
349
|
+
if (r >= 0 && r < this.rows && c >= 0 && c < this.cols) {
|
|
350
|
+
const addr = this.offset(r, c);
|
|
351
|
+
this.buffer[addr] = ch;
|
|
352
|
+
this.attrBuffer[addr] = 0x22; // high intensity for border
|
|
353
|
+
}
|
|
354
|
+
};
|
|
355
|
+
// Corners
|
|
356
|
+
setBorder(row, col, chars.ul);
|
|
357
|
+
setBorder(row, rightCol, chars.ur);
|
|
358
|
+
setBorder(botRow, col, chars.ll);
|
|
359
|
+
setBorder(botRow, rightCol, chars.lr);
|
|
360
|
+
// Top and bottom edges
|
|
361
|
+
for (let c = col + 1; c < rightCol; c++) {
|
|
362
|
+
setBorder(row, c, chars.top);
|
|
363
|
+
setBorder(botRow, c, chars.bot);
|
|
364
|
+
}
|
|
365
|
+
// Left and right edges
|
|
366
|
+
for (let r = row + 1; r < botRow; r++) {
|
|
367
|
+
setBorder(r, col, chars.left);
|
|
368
|
+
setBorder(r, rightCol, chars.right);
|
|
369
|
+
}
|
|
370
|
+
// Window title (centered on top border)
|
|
371
|
+
if (title) {
|
|
372
|
+
const startCol = col + 1 + Math.max(0, Math.floor((width - title.length) / 2));
|
|
373
|
+
for (let i = 0; i < title.length && startCol + i < rightCol; i++) {
|
|
374
|
+
setBorder(row, startCol + i, title[i]);
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
// Window footer (centered on bottom border)
|
|
378
|
+
if (footer) {
|
|
379
|
+
const startCol = col + 1 + Math.max(0, Math.floor((width - footer.length) / 2));
|
|
380
|
+
for (let i = 0; i < footer.length && startCol + i < rightCol; i++) {
|
|
381
|
+
setBorder(botRow, startCol + i, footer[i]);
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
}
|
|
141
385
|
/** Convert screen buffer to the ScreenData format expected by the frontend */
|
|
142
386
|
toScreenData() {
|
|
143
387
|
// Build content as newline-separated rows, sanitising control characters
|
|
388
|
+
// and replacing 5250 indicator characters that the host sends without
|
|
389
|
+
// an SA charset switch (common on pub400 and other non-GUI hosts).
|
|
144
390
|
const lines = [];
|
|
145
391
|
for (let r = 0; r < this.rows; r++) {
|
|
146
392
|
const start = r * this.cols;
|
|
@@ -149,24 +395,45 @@ export class ScreenBuffer {
|
|
|
149
395
|
const ch = this.buffer[start + c];
|
|
150
396
|
const code = ch.charCodeAt(0);
|
|
151
397
|
// Replace control characters (< 0x20) and DEL (0x7F) with space
|
|
152
|
-
|
|
398
|
+
if (code < 0x20 || code === 0x7F || code >= 0x80 && code <= 0x9F) {
|
|
399
|
+
row += ' ';
|
|
400
|
+
}
|
|
401
|
+
else {
|
|
402
|
+
row += ch;
|
|
403
|
+
}
|
|
153
404
|
}
|
|
154
405
|
lines.push(row);
|
|
155
406
|
}
|
|
156
|
-
|
|
407
|
+
// Clean up 5250 indicator artifacts in the rendered text:
|
|
408
|
+
// - â/ê appearing as lone chars before "Bottom"/"More"/"Top" → replace with arrows
|
|
409
|
+
// - & appearing as isolated chars (field attribute separators) → replace with space
|
|
410
|
+
// - ( + ê appearing at end of indicator lines → replace with space
|
|
411
|
+
let content = lines.join('\n');
|
|
412
|
+
content = content.replace(/â(\s+(Bottom|More))/g, '↓$1');
|
|
413
|
+
content = content.replace(/â(\s+(Top))/g, '↑$1');
|
|
414
|
+
content = content.replace(/(\s)ê(\s)/g, '$1 $2');
|
|
415
|
+
content = content.replace(/(\s)&(\s{2,})/g, '$1 $2');
|
|
416
|
+
content = content.replace(/\(\s{2,}\+\s+ê/g, ' ');
|
|
157
417
|
// Map fields to frontend format
|
|
158
|
-
const fields = this.fields.map(f =>
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
418
|
+
const fields = this.fields.map(f => {
|
|
419
|
+
const color = f.rawAttrByte ? ScreenBuffer.attrColor(f.rawAttrByte) : undefined;
|
|
420
|
+
return {
|
|
421
|
+
row: f.row,
|
|
422
|
+
col: f.col,
|
|
423
|
+
length: f.length,
|
|
424
|
+
is_input: this.isInputField(f),
|
|
425
|
+
is_protected: !this.isInputField(f),
|
|
426
|
+
is_highlighted: this.isHighlighted(f) || undefined,
|
|
427
|
+
is_reverse: this.isReverse(f) || undefined,
|
|
428
|
+
is_underscored: this.isUnderscored(f) || undefined,
|
|
429
|
+
color: color !== 'green' ? color : undefined, // only send non-default
|
|
430
|
+
};
|
|
431
|
+
});
|
|
168
432
|
// Generate screen signature
|
|
169
433
|
const hash = createHash('md5').update(content).digest('hex').substring(0, 12);
|
|
434
|
+
// Consume pending alarm (one-shot)
|
|
435
|
+
const alarm = this.pendingAlarm;
|
|
436
|
+
this.pendingAlarm = false;
|
|
170
437
|
return {
|
|
171
438
|
content,
|
|
172
439
|
cursor_row: this.cursorRow,
|
|
@@ -176,6 +443,10 @@ export class ScreenBuffer {
|
|
|
176
443
|
fields,
|
|
177
444
|
screen_signature: hash,
|
|
178
445
|
timestamp: new Date().toISOString(),
|
|
446
|
+
keyboard_locked: this.keyboardLocked || undefined,
|
|
447
|
+
insert_mode: this.insertMode || undefined,
|
|
448
|
+
message_waiting: this.messageWaiting || undefined,
|
|
449
|
+
alarm: alarm || undefined,
|
|
179
450
|
};
|
|
180
451
|
}
|
|
181
452
|
}
|