diff --git a/projects/ng-thermal-print/src/lib/js/StarBarcodeEncoder.js b/projects/ng-thermal-print/src/lib/js/StarBarcodeEncoder.js new file mode 100644 index 0000000..850bae2 --- /dev/null +++ b/projects/ng-thermal-print/src/lib/js/StarBarcodeEncoder.js @@ -0,0 +1,36 @@ +// +// StarBarcodeEncoder API +// +// Version 0.4.0 +// +// Copyright (C) 2012-2014 STAR MICRONICS CO., LTD. All Rights Reserved. +// + +var StarBarcodeEncoder=function(){}; +StarBarcodeEncoder.prototype.createUPCE=function(a){var f="0001101 0011001 0010011 0111101 0100011 0110001 0101111 0111011 0110111 0001011".split(" "),e="0100111 0110011 0011011 0100001 0011101 0111001 0000101 0010001 0001001 0010111".split(" ");a=a.data;if(!(11==a.length||12==a.length))throw Error("Data length is invalid.");if(a.match(/[^0-9]/g))throw Error("Data is invalid.");12==a.length&&(a=a.substring(0,11));for(var c=0,b=0;11>b;b++)c=b%2?c+parseInt(a.charAt(b)):c+3*parseInt(a.charAt(b));if(c%= +10)c=10-c;c="1110000 1101000 1100100 1100010 1011000 1001100 1000110 1010100 1010010 1001010".split(" ")[c];for(b="101";;){if("0"==a.charAt(0)&&"0"==a.charAt(6)&&"0"==a.charAt(7)){if("0"==a.charAt(4)&&"0"==a.charAt(5)){if("0"<=a.charAt(3)&&"2">=a.charAt(3)){b="0"==c[0]?b+f[parseInt(a.charAt(1))]:b+e[parseInt(a.charAt(1))];b="0"==c[1]?b+f[parseInt(a.charAt(2))]:b+e[parseInt(a.charAt(2))];b="0"==c[2]?b+f[parseInt(a.charAt(8))]:b+e[parseInt(a.charAt(8))];b="0"==c[3]?b+f[parseInt(a.charAt(9))]:b+e[parseInt(a.charAt(9))]; +b="0"==c[4]?b+f[parseInt(a.charAt(10))]:b+e[parseInt(a.charAt(10))];b="0"==c[5]?b+f[parseInt(a.charAt(3))]:b+e[parseInt(a.charAt(3))];break}if("0"==a.charAt(8)){b="0"==c[0]?b+f[parseInt(a.charAt(1))]:b+e[parseInt(a.charAt(1))];b="0"==c[1]?b+f[parseInt(a.charAt(2))]:b+e[parseInt(a.charAt(2))];b="0"==c[2]?b+f[parseInt(a.charAt(3))]:b+e[parseInt(a.charAt(3))];b="0"==c[3]?b+f[parseInt(a.charAt(9))]:b+e[parseInt(a.charAt(9))];b="0"==c[4]?b+f[parseInt(a.charAt(10))]:b+e[parseInt(a.charAt(10))];b="0"==c[5]? +b+f[3]:b+e[3];break}}if("0"==a.charAt(8)&&"0"==a.charAt(9)){if("0"==a.charAt(5)){b="0"==c[0]?b+f[parseInt(a.charAt(1))]:b+e[parseInt(a.charAt(1))];b="0"==c[1]?b+f[parseInt(a.charAt(2))]:b+e[parseInt(a.charAt(2))];b="0"==c[2]?b+f[parseInt(a.charAt(3))]:b+e[parseInt(a.charAt(3))];b="0"==c[3]?b+f[parseInt(a.charAt(4))]:b+e[parseInt(a.charAt(4))];b="0"==c[4]?b+f[parseInt(a.charAt(10))]:b+e[parseInt(a.charAt(10))];b="0"==c[5]?b+f[4]:b+e[4];break}if("5"<=a.charAt(10)&&"9">=a.charAt(10)){b="0"==c[0]?b+f[parseInt(a.charAt(1))]: +b+e[parseInt(a.charAt(1))];b="0"==c[1]?b+f[parseInt(a.charAt(2))]:b+e[parseInt(a.charAt(2))];b="0"==c[2]?b+f[parseInt(a.charAt(3))]:b+e[parseInt(a.charAt(3))];b="0"==c[3]?b+f[parseInt(a.charAt(4))]:b+e[parseInt(a.charAt(4))];b="0"==c[4]?b+f[parseInt(a.charAt(5))]:b+e[parseInt(a.charAt(5))];b="0"==c[5]?b+f[parseInt(a.charAt(10))]:b+e[parseInt(a.charAt(10))];break}}}throw Error("Data is invalid.");}return b+"010101"}; +StarBarcodeEncoder.prototype.createUPCA=function(a){var f="0001101 0011001 0010011 0111101 0100011 0110001 0101111 0111011 0110111 0001011".split(" "),e="1110010 1100110 1101100 1000010 1011100 1001110 1010000 1000100 1001000 1110100".split(" ");a=a.data;if(!(11==a.length||12==a.length))throw Error("Data length is invalid.");if(a.match(/[^0-9]/g))throw Error("Data is invalid.");for(var c=0,b=0;11>b;b++)c=b%2?c+parseInt(a.charAt(b)):c+3*parseInt(a.charAt(b));if(c%=10)c=10-c;for(var d="101",b=0;6>b;b++)d+= +f[parseInt(a.charAt(b))];d+="01010";for(b=6;11>b;b++)d+=e[parseInt(a.charAt(b))];d+=e[c];return d+"101"}; +StarBarcodeEncoder.prototype.createJAN8=function(a){var f="0001101 0011001 0010011 0111101 0100011 0110001 0101111 0111011 0110111 0001011".split(" "),e="1110010 1100110 1101100 1000010 1011100 1001110 1010000 1000100 1001000 1110100".split(" ");a=a.data;if(!(7==a.length||8==a.length))throw Error("Data length is invalid.");if(a.match(/[^0-9]/g))throw Error("Data is invalid.");for(var c=0,b=0;7>b;b++)c=b%2?c+parseInt(a.charAt(b)):c+3*parseInt(a.charAt(b));if(c%=10)c=10-c;for(var d="101",b=0;4>b;b++)d+= +f[parseInt(a.charAt(b))];d+="01010";for(b=4;7>b;b++)d+=e[parseInt(a.charAt(b))];d+=e[c];return d+"101"}; +StarBarcodeEncoder.prototype.createJAN13=function(a){var f="0001101 0011001 0010011 0111101 0100011 0110001 0101111 0111011 0110111 0001011".split(" "),e="0100111 0110011 0011011 0100001 0011101 0111001 0000101 0010001 0001001 0010111".split(" "),c="1110010 1100110 1101100 1000010 1011100 1001110 1010000 1000100 1001000 1110100".split(" ");a=a.data;if(!(12==a.length||13==a.length))throw Error("Data length is invalid.");if(a.match(/[^0-9]/g))throw Error("Data is invalid.");for(var b=0,d=0;12>d;d++)b= +d%2?b+3*parseInt(a.charAt(d)):b+parseInt(a.charAt(d));if(b%=10)b=10-b;for(var g="101",h="0000000 0001011 0001101 0001110 0010011 0011001 0011100 0010101 0010110 0011010".split(" ")[parseInt(a.charAt(0))],d=1;7>d;d++)g="0"==h[d]?g+f[parseInt(a.charAt(d))]:g+e[parseInt(a.charAt(d))];g+="01010";for(d=7;12>d;d++)g+=c[parseInt(a.charAt(d))];g+=c[b];return g+"101"}; +StarBarcodeEncoder.prototype.createCode39=function(a){var f="NwWnNnWnNn NwNwNwNnNn NnNwNwNwNn NwNnNwNwNn NwNnNnWnWn WwNnNnWnNn NwNwNnNwNn NnNwWnWnNn WnNwNnNnWn NnWwNnNnWn WnWwNnNnNn NnNwWnNnWn WnNwWnNnNn NnWwWnNnNn NnNwNnWnWn WnNwNnWnNn NnWwNnWnNn WnNnNwNnWn NnWnNwNnWn WnWnNwNnNn NnNnWwNnWn WnNnWwNnNn NnWnWwNnNn NnNnNwWnWn WnNnNwWnNn NnWnNwWnNn NnNnWwWnNn WnNnNnNwWn NnWnNnNwWn WnWnNnNwNn NnNnWnNwWn WnNnWnNwNn NnWnWnNwNn NnNnNnWwWn WnNnNnWwNn NnWnNnWwNn NnNnWnWwNn WwNnNnNnWn NwWnNnNnWn WwWnNnNnNn NwNnWnNnWn WwNnWnNnNn NwWnWnNnNn".split(" ");a= +a.data;if(0==a.length)throw Error("Data length is invalid.");if(a.match(/[^ \$\%\+\-\.\/0-9A-Z]/g))throw Error("Data is invalid.");for(var e="NwNnWnWnNn",c=0;ce.length)throw Error("Data length is invalid.");if(e.match(/[^\x00-\x7f]/g))throw Error("Data is invalid.");if("{"!=e.charAt(0))throw Error("Data is invalid.");var c=1;switch(e.charAt(1)){case "A":c=0;break;case "B":break;case "C":c=2;break;default:throw Error("Data is invalid.");}a=String.fromCharCode(c+103);for(var b=2;b=e.length)throw Error("Data is invalid.");d=e.charAt(b);switch(c){case 3:if(c=1,"S"==d)throw Error("Data is invalid."); +default:switch(d){case "1":a+=String.fromCharCode(102);break;case "2":a+=String.fromCharCode(97);break;case "3":a+=String.fromCharCode(96);break;case "4":a+=String.fromCharCode(101);break;case "B":a+=String.fromCharCode(100);c=1;break;case "C":a+=String.fromCharCode(99);c=2;break;case "S":a+=String.fromCharCode(98);c=4;break;default:throw Error("Data is invalid.");}break;case 4:if(c=0,"S"==d)throw Error("Data is invalid.");case 1:switch(d){case "1":a+=String.fromCharCode(102);break;case "2":a+=String.fromCharCode(97); +break;case "3":a+=String.fromCharCode(96);break;case "4":a+=String.fromCharCode(100);break;case "A":a+=String.fromCharCode(101);c=0;break;case "C":a+=String.fromCharCode(99);c=2;break;case "S":a+=String.fromCharCode(98);c=3;break;case "{":a+=String.fromCharCode(91);break;default:throw Error("Data is invalid.");}break;case 2:switch(d){case "1":a+=String.fromCharCode(102);break;case "A":a+=String.fromCharCode(101);c=0;break;case "B":a+=String.fromCharCode(100);c=1;break;default:throw Error("Data is invalid."); +}}}else{var g=d.charCodeAt(0);switch(c){case 3:c=1;default:if(0<=g&&31>=g)a+=String.fromCharCode(g+64);else if(32<=g&&95>=g)a+=String.fromCharCode(g-32);else throw Error("Data is invalid.");break;case 4:c=0;case 1:if(32<=g&&127>=g)a+=String.fromCharCode(g-32);else throw Error("Data is invalid.");break;case 2:if(0<=g&&99>=g)a+=d;else throw Error("Data is invalid.");}}}e=a.charCodeAt(0);e%=103;for(b=1;b"}; StarWebPrintBuilder.prototype.createBarcodeElement=function(b){var a;if(void 0!=b){a=""+this._encodeEscapeSequenceBinary(b.data)}else throw Error("Argument is undefined."); return a+=""}; @@ -21,14 +21,11 @@ StarWebPrintBuilder.prototype.createRawDataElement=function(b){if(void 0!=b){if( StarWebPrintBuilder.prototype.createRuledLineElement=function(b){var a=""};StarWebPrintBuilder.prototype.createSoundElement=function(b){var a=""}; StarWebPrintBuilder.prototype.createTextElement=function(b){var a;if(void 0!=b)a="",a=!0==b.binary?a+this._encodeEscapeSequenceBinary(b.data):a+this._encodeEscapeSequence(b.data),a+=""):a+="/>";else throw Error("Argument is undefined.");return a};StarWebPrintBuilder.prototype._analysisEnumAttribute=function(b,a,d){if(void 0!=a){if(!d.test(a))throw Error('Argument "'+b+'" is invalid.');return" "+b+'="'+a+'"'}return""}; -StarWebPrintBuilder.prototype._analysisValueAttribute=function(b,a,d,e){if(void 0!=a){if(ae)throw Error('Argument "'+b+'" is invalid.');return" "+b+'="'+a+'"'}return""};StarWebPrintBuilder.prototype._encodeEscapeSequence=function(b){var a=/[\\\x00-\x20\x26\x3c\x3e\x7f]/g;a.test(b)&&(b=b.replace(a,function(a){return"\\"==a?"\\\\":"\\x"+("0"+a.charCodeAt(0).toString(16)).slice(-2)}));return b}; -StarWebPrintBuilder.prototype._encodeEscapeSequenceBinary=function(b){var a=/[\\\x00-\x20\x26\x3c\x3e\x7f-\xff]/g;a.test(b)&&(b=b.replace(a,function(a){return"\\"==a?"\\\\":"\\x"+("0"+a.charCodeAt(0).toString(16)).slice(-2)}));return b}; +void 0!=b.data?(a+=">",a=!0==b.binary?a+this._encodeEscapeSequenceBinary(b.data):a+this._encodeEscapeSequence(b.data),a+=""):a+="/>";else throw Error("Argument is undefined.");return a};StarWebPrintBuilder.prototype.createHoldPrintElement=function(b){var a=""}; +StarWebPrintBuilder.prototype._analysisEnumAttribute=function(b,a,d){if(void 0!=a){if(!d.test(a))throw Error('Argument "'+b+'" is invalid.');return" "+b+'="'+a+'"'}return""};StarWebPrintBuilder.prototype._analysisValueAttribute=function(b,a,d,e){if(void 0!=a){if(ae)throw Error('Argument "'+b+'" is invalid.');return" "+b+'="'+a+'"'}return""}; +StarWebPrintBuilder.prototype._encodeEscapeSequence=function(b){var a=/[\\\x00-\x20\x26\x3c\x3e\x7f]/g;a.test(b)&&(b=b.replace(a,function(a){return"\\"==a?"\\\\":"\\x"+("0"+a.charCodeAt(0).toString(16)).slice(-2)}));return b};StarWebPrintBuilder.prototype._encodeEscapeSequenceBinary=function(b){var a=/[\\\x00-\x20\x26\x3c\x3e\x7f-\xff]/g;a.test(b)&&(b=b.replace(a,function(a){return"\\"==a?"\\\\":"\\x"+("0"+a.charCodeAt(0).toString(16)).slice(-2)}));return b}; StarWebPrintBuilder.prototype._encodeBase64Binary=function(b){var a="",d=b.length;b+="\x00\x00";for(var e=0;e>18&63)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(c>>12&63)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(c>>6&63)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(c& 63));switch(d%3){case 1:return a.slice(0,-2)+"==";case 2:return a.slice(0,-1)+"="}return a}; StarWebPrintBuilder.prototype._encodeRasterImage=function(b,a,d){for(var e=[[-254,-126,-222,-94,-246,-118,-214,-86],[-62,-190,-30,-158,-54,-182,-22,-150],[-206,-78,-238,-110,-198,-70,-230,-102],[-14,-142,-46,-174,-6,-134,-38,-166],[-242,-114,-210,-82,-250,-122,-218,-90],[-50,-178,-18,-146,-58,-186,-26,-154],[-194,-66,-226,-98,-202,-74,-234,-106],[-2,-130,-34,-162,-10,-138,-42,-170]],c="",f=0,g=0;g>=1))c+=String.fromCharCode(h),h=0,k=128;128!=k&&(c+=String.fromCharCode(h))}b=c;c="";a=b.length;b+="\x00\x00";for(g=0;g>18&63)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(d>>12&63)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(d>>6&63)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(d& 63);switch(a%3){case 1:return c.slice(0,-2)+"==";case 2:return c.slice(0,-1)+"="}return c}; - -export { StarWebPrintBuilder }; - diff --git a/projects/ng-thermal-print/src/lib/js/StarWebPrintDisplayBuilder.js b/projects/ng-thermal-print/src/lib/js/StarWebPrintDisplayBuilder.js new file mode 100644 index 0000000..8750c64 --- /dev/null +++ b/projects/ng-thermal-print/src/lib/js/StarWebPrintDisplayBuilder.js @@ -0,0 +1,26 @@ +// +// StarWebPrintDisplayBuilder API +// +// Version 1.0.0 +// +// Copyright (C) 2018 STAR MICRONICS CO., LTD. All Rights Reserved. +// + +var StarWebPrintDisplayBuilder=function(){};StarWebPrintDisplayBuilder.prototype.createBackSpaceElement=function(a){return""};StarWebPrintDisplayBuilder.prototype.createHorizontalTabElement=function(a){return""};StarWebPrintDisplayBuilder.prototype.createReturnElement=function(a){var b=""}; +StarWebPrintDisplayBuilder.prototype.createBitimageElement=function(a){var b=""+this._encodeRasterImage(a.context.getImageData(d, +e,c,f).data,c,f)}else throw Error("Argument is undefined.");return b+=""}; +StarWebPrintDisplayBuilder.prototype.createTextElement=function(a){var b="",b=!0==a.binary?b+this._encodeEscapeSequenceBinary(a.data): +b+this._encodeEscapeSequence(a.data),b+=""):b+="/>";else throw Error("Argument is undefined.");return b};StarWebPrintDisplayBuilder.prototype.createClearScreenElement=function(a){var b=""}; +StarWebPrintDisplayBuilder.prototype.createCursorElement=function(a){var b=""}; +StarWebPrintDisplayBuilder.prototype.createToneElement=function(a){var b=""}; +StarWebPrintDisplayBuilder.prototype.createTurnOnElement=function(a){var b=""}; +StarWebPrintDisplayBuilder.prototype.createUserDefinedCharacterElement=function(a){if(void 0!=a){this._analysisValueAttribute("index",a.index,0,31);if(void 0==a.code)throw Error('Argument "code" is undefined.');128>a.code?this._analysisValueAttribute("code",a.code,32,127):this._analysisValueAttribute("code",a.code,160,223);if(void 0==a.font)throw Error('Argument "font" is undefined.');this._encodeBase64Binary(a.font)}else throw Error("Argument is undefined.");}; +StarWebPrintDisplayBuilder.prototype.createUserDefinedDbcsCharacterElement=function(a){if(void 0!=a){this._analysisValueAttribute("index",a.index,0,15);if(void 0==a.code)throw Error('Argument "code" is undefined.');128>a.code?this._analysisValueAttribute("code",a.code,32,127):this._analysisValueAttribute("code",a.code,32768,65535);if(void 0==a.font)throw Error('Argument "font" is undefined.');this._encodeBase64Binary(a.font)}else throw Error("Argument is undefined.");}; +StarWebPrintDisplayBuilder.prototype.createRawDataElement=function(a){if(void 0!=a){if(void 0==a.data)throw Error('Argument "data" is undefined.');a=""+this._encodeBase64Binary(a.data)}else throw Error("Argument is undefined.");return a+""};StarWebPrintDisplayBuilder.prototype._analysisEnumAttribute=function(a,b,d){if(void 0!=b){if(!d.test(b))throw Error('Argument "'+a+'" is invalid.');return" "+a+'="'+b+'"'}return""}; +StarWebPrintDisplayBuilder.prototype._analysisValueAttribute=function(a,b,d,e){if(void 0!=b){if(be)throw Error('Argument "'+a+'" is invalid.');return" "+a+'="'+b+'"'}return""};StarWebPrintDisplayBuilder.prototype._encodeEscapeSequence=function(a){var b=/[\\\x00-\x20\x26\x3c\x3e\x7f]/g;b.test(a)&&(a=a.replace(b,function(a){return"\\"==a?"\\\\":"\\x"+("0"+a.charCodeAt(0).toString(16)).slice(-2)}));return a}; +StarWebPrintDisplayBuilder.prototype._encodeEscapeSequenceBinary=function(a){var b=/[\\\x00-\x20\x26\x3c\x3e\x7f-\xff]/g;b.test(a)&&(a=a.replace(b,function(a){return"\\"==a?"\\\\":"\\x"+("0"+a.charCodeAt(0).toString(16)).slice(-2)}));return a}; +StarWebPrintDisplayBuilder.prototype._encodeBase64Binary=function(a){var b="",d=a.length;a+="\x00\x00";for(var e=0;e>18&63)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(c>>12&63)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(c>>6&63)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(c& +63));switch(d%3){case 1:return b.slice(0,-2)+"==";case 2:return b.slice(0,-1)+"="}return b}; +StarWebPrintDisplayBuilder.prototype._encodeRasterImage=function(a,b,d){for(var e=[[-254,-126,-222,-94,-246,-118,-214,-86],[-62,-190,-30,-158,-54,-182,-22,-150],[-206,-78,-238,-110,-198,-70,-230,-102],[-14,-142,-46,-174,-6,-134,-38,-166],[-242,-114,-210,-82,-250,-122,-218,-90],[-50,-178,-18,-146,-58,-186,-26,-154],[-194,-66,-226,-98,-202,-74,-234,-106],[-2,-130,-34,-162,-10,-138,-42,-170]],c="",f=0,g=0;g>=1))c+=String.fromCharCode(h),h=0,k=128;128!=k&&(c+=String.fromCharCode(h))}a=c;c="";b=a.length;a+="\x00\x00";for(g=0;g>18&63)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(d>>12&63)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(d>>6&63)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(d& +63);switch(b%3){case 1:return c.slice(0,-2)+"==";case 2:return c.slice(0,-1)+"="}return c}; diff --git a/projects/ng-thermal-print/src/lib/js/StarWebPrintExtManager.js b/projects/ng-thermal-print/src/lib/js/StarWebPrintExtManager.js new file mode 100644 index 0000000..9283f9b --- /dev/null +++ b/projects/ng-thermal-print/src/lib/js/StarWebPrintExtManager.js @@ -0,0 +1,22 @@ +// +// StarWebPrintExtManager API +// +// Version 1.2.0 +// +// Copyright (C) 2016-2019 STAR MICRONICS CO., LTD. All Rights Reserved. +// + +var StarWebPrintExtManager=function(a){this.url=this.onStatusUpdate=this.onWrite=this.onAccessoryDisconnect=this.onAccessoryConnectFailure=this.onAccessoryConnectSuccess=this.onDisplayDisconnect=this.onDisplayConnect=this.onDisplayImpossible=this.onBarcodeDataReceive=this.onBarcodeReaderDisconnect=this.onBarcodeReaderConnect=this.onBarcodeReaderImpossible=this.onCashDrawerClose=this.onCashDrawerOpen=this.onPrinterCoverClose=this.onPrinterCoverOpen=this.onPrinterPaperEmpty=this.onPrinterPaperNearEmpty= +this.onPrinterPaperReady=this.onPrinterOffline=this.onPrinterOnline=this.onPrinterImpossible=this.onError=this.onReceive=null;this.pollingInterval=200;this.pollingTimeout=3E4;this.isWaitWriteCallback=this.isWaitCallback=!1;this.claimId=0;this.isReleaseRequest=this.isPolling=!1;void 0!=a&&(void 0!=a.pollingTimeout&&(this.pollingTimeout=a.pollingTimeout),void 0!=a.pollingInterval&&(this.pollingInterval=a.pollingInterval),void 0!=a.url&&(this.url=a.url))}; +StarWebPrintExtManager.prototype.connect=function(a){void 0!=a&&(void 0!=a.pollingTimeout&&(this.pollingTimeout=a.pollingTimeout),void 0!=a.pollingInterval&&(this.pollingInterval=a.pollingInterval),void 0!=a.url&&(this.url=a.url));return!this.isPolling&&!this.isWaitCallback?(this.isReleaseRequest=!1,this._sendExtMessage({requestType:"claim",isNeedExternalCallBack:!0}),!0):!1}; +StarWebPrintExtManager.prototype.disconnect=function(){return!this.isReleaseRequest&&this.isPolling&&!this.isWaitCallback?this.isReleaseRequest=!0:!1};StarWebPrintExtManager.prototype.write=function(a){if(void 0==a.request)return!1;0==this.claimId&&void 0!=a.url&&(this.url=a.url);this._sendExtMessage({requestType:"write",isNeedExternalCallBack:!0,request:a.request});return!0};StarWebPrintExtManager.prototype._getPollingInterval=function(){100>this.pollingInterval&&(this.pollingInterval=100);return this.pollingInterval}; +StarWebPrintExtManager.prototype._getPollingTimeout=function(){1E4>this.pollingTimeout&&(this.pollingTimeout=1E4);return this.pollingTimeout};StarWebPrintExtManager.prototype._polling=function(){this.isReleaseRequest?(this.isReleaseRequest=!1,this._sendExtMessage({requestType:"release",isNeedExternalCallBack:!0}),this._clearClaimId()):this._sendExtMessage({requestType:"read",isNeedExternalCallBack:!1})}; +StarWebPrintExtManager.prototype._analyzeXml=function(a,d){var e=new DOMParser,b,f;b=e.parseFromString(a.responseText,"text/xml");f=b.getElementsByTagName("Response");b=e.parseFromString(f.item(0).textContent,"text/xml");b.getElementsByTagName("root");f=b.getElementsByTagName("claimid").item(0);var g=b.getElementsByTagName("claim").item(0),e=b.getElementsByTagName("event");a.managerClaim=g.textContent;a.managerSuccess=a.traderSuccess;a.managerCode=a.traderCode;a.traderSuccess=void 0;a.traderCode= +void 0;a.traderStatus=void 0;if("true"==a.managerSuccess){if("true"==a.managerClaim){void 0!=f&&(this.claimId=f.textContent,this.isPolling=!0);var c=this;f={onPrinterImpossible:function(){c.onPrinterImpossible()},onPrinterOnline:function(){c.onPrinterOnline()},onPrinterOffline:function(){c.onPrinterOffline()},onPrinterPaperReady:function(){c.onPrinterPaperReady()},onPrinterPaperNearEmpty:function(){c.onPrinterPaperNearEmpty()},onPrinterPaperEmpty:function(){c.onPrinterPaperEmpty()},onPrinterCoverOpen:function(){c.onPrinterCoverOpen()}, +onPrinterCoverClose:function(){c.onPrinterCoverClose()},onCashDrawerOpen:function(){c.onCashDrawerOpen()},onCashDrawerClose:function(){c.onCashDrawerClose()},onBarcodeReaderImpossible:function(){c.onBarcodeReaderImpossible()},onBarcodeReaderConnect:function(){c.onBarcodeReaderConnect()},onBarcodeReaderDisconnect:function(){c.onBarcodeReaderDisconnect()},onBarcodeDataReceive:function(a){c.onBarcodeDataReceive({data:a})},onDisplayImpossible:function(){c.onDisplayImpossible()},onDisplayConnect:function(){c.onDisplayConnect()}, +onDisplayDisconnect:function(){c.onDisplayDisconnect()},onAccessoryConnectSuccess:function(){c.onAccessoryConnectSuccess()},onAccessoryConnectFailure:function(){c.onAccessoryConnectFailure()},onAccessoryDisconnect:function(){c.onAccessoryDisconnect()},onWrite:function(){c.onWrite()},onStatusUpdate:function(a){c.onStatusUpdate({status:a})}};g=0;if(this.isPolling||this.isWaitWriteCallback){if(void 0!=b.getElementsByTagName("eventcount"))try{g=b.getElementsByTagName("eventcount").item(0).textContent}catch(m){}for(b= +0;b",e=new StarWebPrintTrader,b=this,f=this._getPollingTimeout(),g="write"==a.requestType;g?(e.onReceive=function(c){c=b._analyzeXml(c,g);if(a.isNeedExternalCallBack||"false"==c.managerSuccess){if(void 0!=b.onReceive)b.onReceive(c);b.isWaitWriteCallback=!1}},e.onError=function(a){b.isWaitWriteCallback=!1;b._clearClaimId();if(void 0!=b.onError)b.onError(a)}):(e.onReceive=function(c){c=b._analyzeXml(c,g);if(a.isNeedExternalCallBack||"false"==c.managerSuccess){if(void 0!= +b.onReceive)b.onReceive(c);b.isWaitCallback=!1}b.isPolling&&b._waitCallPolling()},e.onError=function(a){b.isWaitCallback=!1;b._clearClaimId();if(void 0!=b.onError)b.onError(a)});e.sendMessage({url:this.url,request:d,timeout:f})}; diff --git a/projects/ng-thermal-print/src/lib/js/StarWebPrintTrader.js b/projects/ng-thermal-print/src/lib/js/StarWebPrintTrader.js old mode 100755 new mode 100644 index b9f9a4b..78dda1d --- a/projects/ng-thermal-print/src/lib/js/StarWebPrintTrader.js +++ b/projects/ng-thermal-print/src/lib/js/StarWebPrintTrader.js @@ -1,151 +1,22 @@ -// -// StarWebPrintTrader API -// -// Version 0.6.0 -// -// Copyright (C) 2012-2016 STAR MICRONICS CO., LTD. All Rights Reserved. -// -var StarWebPrintTrader = function(a) { - this.papertype = this.checkedblock = this.url = null; - this.timeout = 9E4; - this.onTimeout = this.onError = this.onReceive = null; - void 0 != a && (void 0 != a.url && (this.url = a.url), void 0 != a.checkedblock && (this.checkedblock = a.checkedblock), void 0 != a.papertype && (this.papertype = a.papertype), void 0 != a.timeout && (this.timeout = a.timeout)) -}; - -StarWebPrintTrader.prototype.sendMessage = function(a) { - var b = "" + a.request + ""), - e; - e = ''; - e += this._encodeEscapeSequence(b); - e += ""; - e += ""; - var c = null; - if (window.XMLHttpRequest) c = new XMLHttpRequest; - else if (window.ActiveXObject) c = new ActiveXObject("Microsoft.XMLHTTP"); - else { - if (this.onError) this.onError({ - status: 10001, - responseText: "XMLHttpRequest is not supported." - }); - return - } - b = ""; - b = void 0 != a.url ? a.url : this.url; - if (-1 != navigator.userAgent.indexOf("iPad;") || -1 != navigator.userAgent.indexOf("iPhone;") || -1 != navigator.userAgent.indexOf("iPod touch;") || -1 != navigator.userAgent.indexOf("Android")) - if (-1 == navigator.userAgent.indexOf("WebPRNTSupportHTTPS") && (0 == b.toLowerCase().indexOf("https://localhost") || 0 == b.toLowerCase().indexOf("https://127.0.0.1"))) b = "http://" + b.substring(8); - try { - c.open("POST", b, !0) - } catch (f) { - if (this.onError) this.onError({ - status: 10002, - responseText: f.message - }); - return - } - try { - void 0 != a.timeout ? c.timeout = a.timeout : this.timeout && (c.timeout = this.timeout) - } catch (h) {} - c.setRequestHeader("Content-Type", "text/xml; charset=UTF-8"); - var d = this; - c.onreadystatechange = function() { - if (4 == c.readyState) try { - if (200 == c.status) { - var a = c.responseXML.getElementsByTagName("Response"); - if (0 < a.length) { - if (d.onReceive) { - var b = a[0].childNodes[0].nodeValue; - d.onReceive({ - traderSuccess: b.slice(b.indexOf("") + 9, b.indexOf("")), - traderCode: b.slice(b.indexOf("") + 6, b.indexOf("")), - traderStatus: b.slice(b.indexOf("") + 8, b.indexOf("")), - status: c.status, - responseText: c.responseText - }) - } - } else if (d.onError) d.onError({ - status: c.status, - responseText: c.responseText - }) - } else if (d.onError) d.onError({ - status: c.status, - responseText: c.responseText - }) - } catch (e) { - if (d.onError) d.onError({ - status: 0, - responseText: "Connection timeout occurred." - }) - } - }; - try { - c.ontimeout = function() { - if (d.onTimeout) d.onTimeout() - } - } catch (k) {} - try { - c.send(e) - } catch (g) { - if (this.onError) this.onError({ - status: 10003, - responseText: g.message - }) - } -}; -StarWebPrintTrader.prototype.isCoverOpen = function(a) { - return parseInt(a.traderStatus.substr(4, 2), 16) & 32 ? !0 : !1 -}; -StarWebPrintTrader.prototype.isOffLine = function(a) { - return parseInt(a.traderStatus.substr(4, 2), 16) & 8 ? !0 : !1 -}; -StarWebPrintTrader.prototype.isCompulsionSwitchClose = function(a) { - return parseInt(a.traderStatus.substr(4, 2), 16) & 4 ? !0 : !1 -}; -StarWebPrintTrader.prototype.isEtbCommandExecute = function(a) { - return parseInt(a.traderStatus.substr(4, 2), 16) & 2 ? !0 : !1 -}; -StarWebPrintTrader.prototype.isHighTemperatureStop = function(a) { - return parseInt(a.traderStatus.substr(6, 2), 16) & 64 ? !0 : !1 -}; -StarWebPrintTrader.prototype.isNonRecoverableError = function(a) { - return parseInt(a.traderStatus.substr(6, 2), 16) & 32 ? !0 : !1 -}; -StarWebPrintTrader.prototype.isAutoCutterError = function(a) { - return parseInt(a.traderStatus.substr(6, 2), 16) & 8 ? !0 : !1 -}; -StarWebPrintTrader.prototype.isBlackMarkError = function(a) { - return parseInt(a.traderStatus.substr(8, 2), 16) & 8 ? !0 : !1 -}; -StarWebPrintTrader.prototype.isPaperEnd = function(a) { - return parseInt(a.traderStatus.substr(10, 2), 16) & 8 ? !0 : !1 -}; -StarWebPrintTrader.prototype.isPaperNearEnd = function(a) { - return parseInt(a.traderStatus.substr(10, 2), 16) & 4 ? !0 : !1 -}; -StarWebPrintTrader.prototype.extractionEtbCounter = function(a) { - var b = 0; - parseInt(a.traderStatus.substr(14, 2), 16) & 64 && (b |= 16); - parseInt(a.traderStatus.substr(14, 2), 16) & 32 && (b |= 8); - parseInt(a.traderStatus.substr(14, 2), 16) & 8 && (b |= 4); - parseInt(a.traderStatus.substr(14, 2), 16) & 4 && (b |= 2); - parseInt(a.traderStatus.substr(14, 2), 16) & 2 && (b |= 1); - return b -}; -StarWebPrintTrader.prototype._encodeEscapeSequence = function(a) { - var b = /[<>&]/g; - b.test(a) && (a = a.replace(b, function(a) { - switch (a) { - case "<": - return "<"; - case ">": - return ">" - } - return "&" - })); - return a -}; - -export { StarWebPrintTrader }; +// +// StarWebPrintTrader API +// +// Version 1.1.0 +// +// Copyright 2012 STAR MICRONICS CO., LTD. All Rights Reserved. +// + +var StarWebPrintTrader=function(a){this.papertype=this.checkedblock=this.url=null;this.timeout=9E4;this.onTimeout=this.onError=this.onReceive=null;this.holdprint_timeout=void 0;this._json=this._url=null;void 0!=a&&(void 0!=a.url&&(this.url=a.url),void 0!=a.checkedblock&&(this.checkedblock=a.checkedblock),void 0!=a.papertype&&(this.papertype=a.papertype),void 0!=a.timeout&&(this.timeout=a.timeout),void 0!=a.holdprint_timeout&&(this.holdprint_timeout=a.holdprint_timeout))},_handlerCallback={}; +function _onFinish(a){var b=_handlerCallback[a.url],c=a.response;_handlerCallback[a.url]=null;if(200==a.htmlCode)b.onReceive({traderSuccess:c.slice(c.indexOf("<success>")+15,c.indexOf("</success>")),traderCode:c.slice(c.indexOf("<code>")+12,c.indexOf("</code>")),traderStatus:c.slice(c.indexOf("<status>")+14,c.indexOf("</status>")),status:a.htmlCode,responseText:c});else b.onError({status:a.htmlCode,responseText:c})} +StarWebPrintTrader.prototype._callMessageHandler=function(){var a=this;null==_handlerCallback[a._url]?(_handlerCallback[a._url]=a,webkit.messageHandlers.sendMessageHandler.postMessage(a._json)):setTimeout(function(){a._callMessageHandler()},500)}; +StarWebPrintTrader.prototype.sendMessage=function(a){var b=""+a.request+""),c;c='';c+=this._encodeEscapeSequence(b);c+="";c+="";b="";b=void 0!= +a.url?a.url:this.url;if(/^https?:\/\/(localhost|127\.0\.0\.1):8001\//.test(b.toLowerCase())&&-1!=navigator.userAgent.indexOf("webPRNTSupportMessageHandler"))this._json=JSON.stringify({url:b,body:c}),this._url=b,this._callMessageHandler();else{var d=null;if(window.XMLHttpRequest)d=new XMLHttpRequest;else if(window.ActiveXObject)d=new ActiveXObject("Microsoft.XMLHTTP");else{if(this.onError)this.onError({status:10001,responseText:"XMLHttpRequest is not supported."});return}if(-1!=navigator.userAgent.indexOf("iPad;")|| +-1!=navigator.userAgent.indexOf("iPhone;")||-1!=navigator.userAgent.indexOf("iPod touch;")||-1!=navigator.userAgent.indexOf("Android"))if(-1==navigator.userAgent.indexOf("WebPRNTSupportHTTPS")&&(0==b.toLowerCase().indexOf("https://localhost")||0==b.toLowerCase().indexOf("https://127.0.0.1")))b="http://"+b.substring(8);try{d.open("POST",b,!0)}catch(f){if(this.onError)this.onError({status:10002,responseText:f.message});return}try{void 0!=a.timeout?d.timeout=a.timeout:this.timeout&&(d.timeout=this.timeout)}catch(h){}d.setRequestHeader("Content-Type", +"text/xml; charset=UTF-8");var e=this;d.onreadystatechange=function(){if(4==d.readyState)try{if(200==d.status){var a=d.responseXML.getElementsByTagName("Response");if(0")+9,b.indexOf("")),traderCode:b.slice(b.indexOf("")+6,b.indexOf("")),traderStatus:b.slice(b.indexOf("")+8,b.indexOf("")),status:d.status,responseText:d.responseText})}}else if(e.onError)e.onError({status:d.status, +responseText:d.responseText})}else if(e.onError)e.onError({status:d.status,responseText:d.responseText})}catch(c){if(e.onError)e.onError({status:0,responseText:"Connection timeout occurred."})}};try{d.ontimeout=function(){if(e.onTimeout)e.onTimeout()}}catch(k){}try{d.send(c)}catch(g){if(this.onError)this.onError({status:10003,responseText:g.message})}}};StarWebPrintTrader.prototype._onHandlerSuccess=function(a){if(trader.onReceive)trader.onReceive(a)}; +StarWebPrintTrader.prototype._onHandlerError=function(a){if(trader.onError)trader.onError(a)};StarWebPrintTrader.prototype.isCoverOpen=function(a){return parseInt(a.traderStatus.substr(4,2),16)&32?!0:!1};StarWebPrintTrader.prototype.isOffLine=function(a){return parseInt(a.traderStatus.substr(4,2),16)&8?!0:!1};StarWebPrintTrader.prototype.isCompulsionSwitchClose=function(a){return parseInt(a.traderStatus.substr(4,2),16)&4?!0:!1}; +StarWebPrintTrader.prototype.isEtbCommandExecute=function(a){return parseInt(a.traderStatus.substr(4,2),16)&2?!0:!1};StarWebPrintTrader.prototype.isHighTemperatureStop=function(a){return parseInt(a.traderStatus.substr(6,2),16)&64?!0:!1};StarWebPrintTrader.prototype.isNonRecoverableError=function(a){return parseInt(a.traderStatus.substr(6,2),16)&32?!0:!1};StarWebPrintTrader.prototype.isAutoCutterError=function(a){return parseInt(a.traderStatus.substr(6,2),16)&8?!0:!1}; +StarWebPrintTrader.prototype.isBlackMarkError=function(a){return parseInt(a.traderStatus.substr(8,2),16)&8?!0:!1};StarWebPrintTrader.prototype.isPaperEnd=function(a){return parseInt(a.traderStatus.substr(10,2),16)&8?!0:!1};StarWebPrintTrader.prototype.isPaperNearEnd=function(a){return parseInt(a.traderStatus.substr(10,2),16)&4?!0:!1};StarWebPrintTrader.prototype.isPaperPresent=function(a){return parseInt(a.traderStatus.substr(12,2),16)&2?!0:!1}; +StarWebPrintTrader.prototype.extractionEtbCounter=function(a){var b=0;parseInt(a.traderStatus.substr(14,2),16)&64&&(b|=16);parseInt(a.traderStatus.substr(14,2),16)&32&&(b|=8);parseInt(a.traderStatus.substr(14,2),16)&8&&(b|=4);parseInt(a.traderStatus.substr(14,2),16)&4&&(b|=2);parseInt(a.traderStatus.substr(14,2),16)&2&&(b|=1);return b}; +StarWebPrintTrader.prototype._encodeEscapeSequence=function(a){var b=/[<>&]/g;b.test(a)&&(a=a.replace(b,function(a){switch(a){case "<":return"<";case ">":return">"}return"&"}));return a};