From 4fbd1adaa903147f10369e8e6ed69b21c30f69d4 Mon Sep 17 00:00:00 2001 From: Daniel Imms Date: Wed, 4 Apr 2018 14:31:25 -0700 Subject: [PATCH 1/2] Move zmodem demo to demo/ Fixes #1324 --- {src/addons/zmodem/demo => demo/zmodem}/app.js | 8 ++++---- {src/addons/zmodem/demo => demo/zmodem}/index.html | 0 {src/addons/zmodem/demo => demo/zmodem}/main.js | 4 ++++ package.json | 3 +-- 4 files changed, 9 insertions(+), 6 deletions(-) rename {src/addons/zmodem/demo => demo/zmodem}/app.js (88%) rename {src/addons/zmodem/demo => demo/zmodem}/index.html (100%) rename {src/addons/zmodem/demo => demo/zmodem}/main.js (99%) diff --git a/src/addons/zmodem/demo/app.js b/demo/zmodem/app.js similarity index 88% rename from src/addons/zmodem/demo/app.js rename to demo/zmodem/app.js index 31ecd7d2..7124c222 100644 --- a/src/addons/zmodem/demo/app.js +++ b/demo/zmodem/app.js @@ -7,16 +7,16 @@ var pty = require('node-pty'); var terminals = {}, logs = {}; -app.use('/build', express.static(__dirname + '/../../../../build')); -app.use('/demo', express.static(__dirname + '/../../../../demo')); -app.use('/zmodemjs', express.static(__dirname + '/../../../../node_modules/zmodem.js/dist')); +app.use('/build', express.static(__dirname + '/../../build')); +app.use('/demo', express.static(__dirname + '/../../demo')); +app.use('/zmodemjs', express.static(__dirname + '/../../node_modules/zmodem.js/dist')); app.get('/', function(req, res){ res.sendFile(__dirname + '/index.html'); }); app.get('/style.css', function(req, res){ - res.sendFile(__dirname + '/style.css'); + res.sendFile(__dirname + '../style.css'); }); app.get('/main.js', function(req, res){ diff --git a/src/addons/zmodem/demo/index.html b/demo/zmodem/index.html similarity index 100% rename from src/addons/zmodem/demo/index.html rename to demo/zmodem/index.html diff --git a/src/addons/zmodem/demo/main.js b/demo/zmodem/main.js similarity index 99% rename from src/addons/zmodem/demo/main.js rename to demo/zmodem/main.js index 2a153fb5..3f1d5100 100644 --- a/src/addons/zmodem/demo/main.js +++ b/demo/zmodem/main.js @@ -6,6 +6,10 @@ var term, socket, pid; +Terminal.applyAddon(fit); +Terminal.applyAddon(zmodem); +Terminal.applyAddon(search); + var terminalContainer = document.getElementById('terminal-container'), actionElements = { findNext: document.querySelector('#find-next'), diff --git a/package.json b/package.json index 594c31a7..b97ad539 100644 --- a/package.json +++ b/package.json @@ -76,8 +76,7 @@ }, "scripts": { "start": "node demo/app", - "prestart-zmodem": "npm run build", - "start-zmodem": "node build/addons/zmodem/demo/app", + "start-zmodem": "node demo/zmodem/app", "lint": "tslint src/*.ts src/**/*.ts", "test": "gulp test", "build:docs": "jsdoc -c jsdoc.json", From 86c9b3f92c2144f771f31015f6cdf45708abe68e Mon Sep 17 00:00:00 2001 From: Felipe Gasper Date: Thu, 5 Apr 2018 01:55:25 -0400 Subject: [PATCH 2/2] Fix zmodem demo. --- demo/zmodem/main.js | 1 + src/addons/zmodem/zmodem.ts | 10 ++++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/demo/zmodem/main.js b/demo/zmodem/main.js index 3f1d5100..619ef2b8 100644 --- a/demo/zmodem/main.js +++ b/demo/zmodem/main.js @@ -7,6 +7,7 @@ var term, pid; Terminal.applyAddon(fit); +Terminal.applyAddon(attach); Terminal.applyAddon(zmodem); Terminal.applyAddon(search); diff --git a/src/addons/zmodem/zmodem.ts b/src/addons/zmodem/zmodem.ts index e8a7824d..297ebe34 100644 --- a/src/addons/zmodem/zmodem.ts +++ b/src/addons/zmodem/zmodem.ts @@ -38,11 +38,13 @@ import { Terminal } from 'xterm'; let zmodem; -export interface IZModemOptions { +export interface IZmodemOptions { noTerminalWriteOutsideSession?: boolean; } -export function zmodemAttach(term: Terminal, ws: WebSocket, opts: IZModemOptions = {}): void { +function zmodemAttach(ws: WebSocket, opts: IZmodemOptions = {}): void { + var term = this; + const senderFunc = (octets: ArrayLike) => ws.send(new Uint8Array(octets)); let zsentry; @@ -85,8 +87,8 @@ export function zmodemAttach(term: Terminal, ws: WebSocket, opts: IZModemOptions } export function apply(terminalConstructor: typeof Terminal): void { - zmodem = (typeof window === 'object') ? (window).ZModem : {Browser: null}; // Nullify browser for tests + zmodem = (typeof window === 'object') ? (window).Zmodem : {Browser: null}; // Nullify browser for tests - (terminalConstructor.prototype).zmodemAttach = zmodemAttach.bind(this, this); + (terminalConstructor.prototype).zmodemAttach = zmodemAttach; (terminalConstructor.prototype).zmodemBrowser = zmodem.Browser; }