ng-thermal-print
Version:
An angular module to add thermal printing capabilities.
31 lines • 4.27 kB
JavaScript
import { __awaiter } from "tslib";
import { BehaviorSubject } from 'rxjs';
import { PrintDriver } from "./PrintDriver";
import { StarWebPrintTrader } from '../js/StarWebPrintTrader.js';
export class WebPrintDriver extends PrintDriver {
constructor(url, useSecure = false) {
super();
this.isConnected = new BehaviorSubject(false);
this.useSecure = false;
this.isStarPrinter = false;
this.url = url;
this.useSecure = useSecure;
}
connect() {
const useSecure = (this.useSecure) ? 's' : '';
this.trader = new StarWebPrintTrader({ url: `http${useSecure}://${this.url}/StarWebPRNT/SendMessage` });
this.trader.onReceive = (response) => {
this.isConnected.next(true);
};
this.trader.onError = (response) => {
this.isConnected.next(false);
};
this.trader.sendMessage('');
}
write(data) {
return __awaiter(this, void 0, void 0, function* () {
this.trader.sendMessage({ request: data });
});
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2ViUHJpbnREcml2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy10aGVybWFsLXByaW50L3NyYy9saWIvZHJpdmVycy9XZWJQcmludERyaXZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWpFLE1BQU0sT0FBTyxjQUFlLFNBQVEsV0FBVztJQVEzQyxZQUFZLEdBQVcsRUFBRSxZQUFxQixLQUFLO1FBQy9DLEtBQUssRUFBRSxDQUFDO1FBUkwsZ0JBQVcsR0FBNkIsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFHM0UsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUM1QixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUtsQyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQy9CLENBQUM7SUFFTSxPQUFPO1FBQ1YsTUFBTSxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzlDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxFQUFFLEdBQUcsRUFBRSxPQUFPLFNBQVMsTUFBTSxJQUFJLENBQUMsR0FBRywwQkFBMEIsRUFBRSxDQUFDLENBQUM7UUFFeEcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNqQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUE7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FBRyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQy9CLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQTtRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFWSxLQUFLLENBQUMsSUFBWTs7WUFDM0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMvQyxDQUFDO0tBQUE7Q0FFSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUHJpbnREcml2ZXIgfSBmcm9tIFwiLi9QcmludERyaXZlclwiO1xuaW1wb3J0IHsgU3RhcldlYlByaW50VHJhZGVyIH0gZnJvbSAnLi4vanMvU3RhcldlYlByaW50VHJhZGVyLmpzJztcblxuZXhwb3J0IGNsYXNzIFdlYlByaW50RHJpdmVyIGV4dGVuZHMgUHJpbnREcml2ZXIge1xuICAgIHB1YmxpYyBpc0Nvbm5lY3RlZDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgcHJpdmF0ZSB0cmFkZXI6IGFueTtcbiAgICBwcml2YXRlIHVybDogc3RyaW5nO1xuICAgIHByaXZhdGUgdXNlU2VjdXJlOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIGlzU3RhclByaW50ZXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuXG4gICAgY29uc3RydWN0b3IodXJsOiBzdHJpbmcsIHVzZVNlY3VyZTogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMudXJsID0gdXJsO1xuICAgICAgICB0aGlzLnVzZVNlY3VyZSA9IHVzZVNlY3VyZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY29ubmVjdCgpIHtcbiAgICAgICAgY29uc3QgdXNlU2VjdXJlID0gKHRoaXMudXNlU2VjdXJlKSA/ICdzJyA6ICcnO1xuICAgICAgICB0aGlzLnRyYWRlciA9IG5ldyBTdGFyV2ViUHJpbnRUcmFkZXIoeyB1cmw6IGBodHRwJHt1c2VTZWN1cmV9Oi8vJHt0aGlzLnVybH0vU3RhcldlYlBSTlQvU2VuZE1lc3NhZ2VgIH0pO1xuXG4gICAgICAgIHRoaXMudHJhZGVyLm9uUmVjZWl2ZSA9IChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc0Nvbm5lY3RlZC5uZXh0KHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy50cmFkZXIub25FcnJvciA9IChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc0Nvbm5lY3RlZC5uZXh0KGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRyYWRlci5zZW5kTWVzc2FnZSgnJyk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHdyaXRlKGRhdGE6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICB0aGlzLnRyYWRlci5zZW5kTWVzc2FnZSh7IHJlcXVlc3Q6IGRhdGEgfSk7XG4gICAgfVxuXG59Il19