@operato/scene-label 9.0.0-beta.9 → 9.0.1

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,7 +1,8 @@
1
1
  /*
2
2
  * Copyright © HatioLab Inc. All rights reserved.
3
3
  */
4
- import { Component, HTMLOverlayElement } from '@hatiolab/things-scene';
4
+ import { __decorate } from "tslib";
5
+ import { HTMLOverlayElement, sceneComponent } from '@hatiolab/things-scene';
5
6
  const NATURE = {
6
7
  mutable: false,
7
8
  resizable: true,
@@ -35,7 +36,7 @@ const NATURE = {
35
36
  ],
36
37
  help: 'scene/component/barcode-scanner'
37
38
  };
38
- export default class BarcodeScanner extends HTMLOverlayElement {
39
+ let BarcodeScanner = class BarcodeScanner extends HTMLOverlayElement {
39
40
  get nature() {
40
41
  return NATURE;
41
42
  }
@@ -100,6 +101,9 @@ export default class BarcodeScanner extends HTMLOverlayElement {
100
101
  get tagName() {
101
102
  return 'ox-input-barcode';
102
103
  }
103
- }
104
- Component.register('barcode-scanner', BarcodeScanner);
104
+ };
105
+ BarcodeScanner = __decorate([
106
+ sceneComponent('barcode-scanner')
107
+ ], BarcodeScanner);
108
+ export default BarcodeScanner;
105
109
  //# sourceMappingURL=barcode-scanner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"barcode-scanner.js","sourceRoot":"","sources":["../src/barcode-scanner.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport { Component, ComponentNature, HTMLOverlayElement } from '@hatiolab/things-scene'\nimport { OxInputBarcode } from '@operato/input' // TODO make '@operato/input/ox-input-barcode.js' work.\n\nconst NATURE: ComponentNature = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'checkbox',\n label: 'without-enter',\n name: 'withoutEnter'\n },\n {\n type: 'checkbox',\n label: 'english-only',\n name: 'englishOnly'\n },\n {\n type: 'checkbox',\n label: 'select-after-change',\n name: 'selectAfterChange'\n },\n {\n type: 'checkbox',\n label: 'autofocus',\n name: 'autofocus'\n },\n {\n type: 'checkbox',\n label: 'hide-keyboard',\n name: 'hideKeyboard'\n }\n ],\n help: 'scene/component/barcode-scanner'\n}\n\nexport default class BarcodeScanner extends HTMLOverlayElement {\n private _data: any\n\n get nature() {\n return NATURE\n }\n\n get data() {\n return this._data\n }\n\n set data(data) {\n this._data = data\n this.executeMappings() // 이전 데이터와 비교하지 않고 매핑을 실행하기 위함\n }\n\n select() {\n ;(this.element as OxInputBarcode).input.select()\n }\n\n dispose() {\n super.dispose()\n }\n\n ready() {\n super.ready()\n var scanInput = this.element as OxInputBarcode\n\n scanInput.addEventListener('change', (e: Event) => {\n this.data = scanInput.value\n })\n\n // 스캔 시 컴포넌트 데이터 세팅\n var scan = scanInput.scan\n scanInput.scan = (e: MouseEvent) =>\n scan.call(scanInput, e).then(() => {\n if (scanInput.input) this.data = scanInput.input.value\n })\n }\n\n createElement() {\n super.createElement()\n\n if (this.app.isViewMode) {\n const { hideKeyboard, autofocus } = this.state\n\n if (hideKeyboard) {\n requestAnimationFrame(() => {\n const input = (this.element as OxInputBarcode).input\n input.addEventListener('focusin', e => {\n input.setAttribute('readonly', '')\n this.select()\n\n requestAnimationFrame(() => {\n input.removeAttribute('readonly')\n })\n })\n })\n }\n\n if (autofocus) {\n requestAnimationFrame(() => {\n this.select()\n })\n }\n }\n }\n\n setElementProperties(input: OxInputBarcode) {\n const { withoutEnter = false, englishOnly = false, selectAfterChange = false } = this.state\n\n input.style.setProperty('--input-font', 'initial')\n\n input.withoutEnter = withoutEnter\n input.englishOnly = englishOnly\n input.selectAfterChange = selectAfterChange\n\n input.value = this._data = this.text\n }\n\n get tagName() {\n return 'ox-input-barcode'\n }\n}\n\nComponent.register('barcode-scanner', BarcodeScanner)\n"]}
1
+ {"version":3,"file":"barcode-scanner.js","sourceRoot":"","sources":["../src/barcode-scanner.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport { Component, ComponentNature, HTMLOverlayElement, sceneComponent } from '@hatiolab/things-scene'\nimport { OxInputBarcode } from '@operato/input' // TODO make '@operato/input/ox-input-barcode.js' work.\n\nconst NATURE: ComponentNature = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'checkbox',\n label: 'without-enter',\n name: 'withoutEnter'\n },\n {\n type: 'checkbox',\n label: 'english-only',\n name: 'englishOnly'\n },\n {\n type: 'checkbox',\n label: 'select-after-change',\n name: 'selectAfterChange'\n },\n {\n type: 'checkbox',\n label: 'autofocus',\n name: 'autofocus'\n },\n {\n type: 'checkbox',\n label: 'hide-keyboard',\n name: 'hideKeyboard'\n }\n ],\n help: 'scene/component/barcode-scanner'\n}\n\n@sceneComponent('barcode-scanner')\nexport default class BarcodeScanner extends HTMLOverlayElement {\n private _data: any\n\n get nature() {\n return NATURE\n }\n\n get data() {\n return this._data\n }\n\n set data(data) {\n this._data = data\n this.executeMappings() // 이전 데이터와 비교하지 않고 매핑을 실행하기 위함\n }\n\n select() {\n ;(this.element as OxInputBarcode).input.select()\n }\n\n dispose() {\n super.dispose()\n }\n\n ready() {\n super.ready()\n var scanInput = this.element as OxInputBarcode\n\n scanInput.addEventListener('change', (e: Event) => {\n this.data = scanInput.value\n })\n\n // 스캔 시 컴포넌트 데이터 세팅\n var scan = scanInput.scan\n scanInput.scan = (e: MouseEvent) =>\n scan.call(scanInput, e).then(() => {\n if (scanInput.input) this.data = scanInput.input.value\n })\n }\n\n createElement() {\n super.createElement()\n\n if (this.app.isViewMode) {\n const { hideKeyboard, autofocus } = this.state\n\n if (hideKeyboard) {\n requestAnimationFrame(() => {\n const input = (this.element as OxInputBarcode).input\n input.addEventListener('focusin', e => {\n input.setAttribute('readonly', '')\n this.select()\n\n requestAnimationFrame(() => {\n input.removeAttribute('readonly')\n })\n })\n })\n }\n\n if (autofocus) {\n requestAnimationFrame(() => {\n this.select()\n })\n }\n }\n }\n\n setElementProperties(input: OxInputBarcode) {\n const { withoutEnter = false, englishOnly = false, selectAfterChange = false } = this.state\n\n input.style.setProperty('--input-font', 'initial')\n\n input.withoutEnter = withoutEnter\n input.englishOnly = englishOnly\n input.selectAfterChange = selectAfterChange\n\n input.value = this._data = this.text\n }\n\n get tagName() {\n return 'ox-input-barcode'\n }\n}\n"]}
package/dist/barcode.js CHANGED
@@ -1,6 +1,7 @@
1
1
  /*
2
2
  * Copyright © HatioLab Inc. All rights reserved.
3
3
  */
4
+ import { __decorate } from "tslib";
4
5
  // 참고 웹페이지.
5
6
  // http://www.neodynamic.com/Products/Help/BarcodeWinControl2.5/working_barcode_symbologies.htm
6
7
  // const BARCODE_REGEXP = {
@@ -50,7 +51,7 @@
50
51
  // symdesc["ean13"].opts = "includetext";
51
52
  // symdesc["ean8"].opts = "includetext";
52
53
  import bwipjs from 'bwip-js/browser';
53
- import { Component, error, RectPath, Shape } from '@hatiolab/things-scene';
54
+ import { error, RectPath, Shape, sceneComponent } from '@hatiolab/things-scene';
54
55
  const NATURE = {
55
56
  mutable: false,
56
57
  resizable: true,
@@ -230,7 +231,7 @@ const NATURE = {
230
231
  'value-property': 'text'
231
232
  };
232
233
  const REDRAW_PROPS = ['symbol', 'text', 'showText', 'height', 'width', 'paddingwidth', 'paddingheight'];
233
- export default class Barcode extends RectPath(Shape) {
234
+ let Barcode = class Barcode extends RectPath(Shape) {
234
235
  get nature() {
235
236
  return NATURE;
236
237
  }
@@ -302,6 +303,9 @@ export default class Barcode extends RectPath(Shape) {
302
303
  }
303
304
  }
304
305
  }
305
- }
306
- Component.register('barcode', Barcode);
306
+ };
307
+ Barcode = __decorate([
308
+ sceneComponent('barcode')
309
+ ], Barcode);
310
+ export default Barcode;
307
311
  //# sourceMappingURL=barcode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"barcode.js","sourceRoot":"","sources":["../src/barcode.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\n// 참고 웹페이지.\n// http://www.neodynamic.com/Products/Help/BarcodeWinControl2.5/working_barcode_symbologies.htm\n// const BARCODE_REGEXP = {\n// 'code11': /^[0-9\\-]*$/,\n// 'codebar': /^[A-D][0-9\\+$:\\-/.]*[A-D]$/,\n// 'code39': {\n// 'normal': /^[0-9A-Z\\-.$/\\+%\\*\\s]*$/,\n// 'extended': /^[\\000-\\177]*$/\n// },\n// 'code93': {\n// 'normal': /^[0-9A-Z\\-.$/\\+%\\*\\s]*$/,\n// 'extended': /^[\\000-\\177]*$/\n// },\n// 'code128': {\n// 'auto': /^[\\000-\\177]*$/,\n// 'A': /^[\\000-\\137]*$/,\n// 'B': /^[\\040-\\177]*$/,\n// 'C': /^(([0-9]{2})+?)*$/\n// },\n// 'datamatrix': /^[\\x00-\\xff]*$/, // 멀티바이트 캐릭터는 안됨 ?\n// 'ean8': /^\\d{1,}$/,\n// 'ean13': /^\\d{1,}$/,\n// 'industrial2of5': /^\\d{1,}$/,\n// 'interleaved2of5': /^\\d{1,}$/,\n// 'isbn': /((978[\\--– ])?[0-9][0-9\\--– ]{10}[\\--– ][0-9xX])|((978)?[0-9]{9}[0-9Xx])/,\n// 'msi': /^\\d{1,}$/,\n// 'pdf417': {\n// 'text-compaction': /^[\\011\\012\\015\\040-\\177]*$/,\n// 'binary-compaction': /^[\\x00-\\xff]*$/\n// },\n// 'planet': /^\\d{1,}$/,\n// 'postnet': /^\\d{1,}$/,\n// 'ean128': /^[\\000-\\177\\xC8\\xCA-\\xCD]*$/,\n// 'upca': /^\\d{1,}$/,\n// 'upce': /^\\d{1,}$/\n// };\n\n/* opts 예제 - https://github.com/bwipp/postscriptbarcode/wiki/Options-Reference\n * includecheck, includecheckintext, includetext, textfont, textsize, textgaps, textxalign, textyalign, textxoffset, textyoffset\n * showborder, borderwidth, borderleft, borderright, bordertop, borderbottom, barcolor, backgroundcolor, bordercolor, textcolor\n * parse, parsefnc, height, width, inkspread, inkspreadh, inkspreadv,\n * addontextxoffset, addontextyoffset, addontextfont, addontextsize\n * guardwhitespace, guardwidth, guardheight, guardleftpos, guardrightpos, guardleftypos, guardrightypos\n */\n\n// symdesc[\"code39\"].opts = \"includetext textxalign=center textgaps=2\";\n// symdesc[\"interleaved2of5\"].opts = \"includetext textxalign=center textgaps=1.5\";\n// symdesc[\"code93\"].opts = \"includetext textxalign=center textgaps=2\";\n// symdesc[\"ean13\"].opts = \"includetext\";\n// symdesc[\"ean8\"].opts = \"includetext\";\n\nimport bwipjs from 'bwip-js/browser'\n\nimport { Component, ComponentNature, error, Properties, RectPath, Shape } from '@hatiolab/things-scene'\n\nconst NATURE: ComponentNature = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'select',\n label: 'symbol',\n name: 'symbol',\n property: {\n options: [\n { value: 'auspost', display: 'AusPost 4 State Customer Code' },\n { value: 'azteccode', display: 'Aztec Code' },\n { value: 'azteccodecompact', display: 'Compact Aztec Code' },\n { value: 'aztecrune', display: 'Aztec Runes' },\n { value: 'bc412', display: 'BC412' },\n { value: 'channelcode', display: 'Channel Code' },\n { value: 'codablockf', display: 'Codablock F' },\n { value: 'code11', display: 'Code 11' },\n { value: 'code128', display: 'Code 128' },\n { value: 'code16k', display: 'Code 16K' },\n { value: 'code2of5', display: 'Code 25' },\n { value: 'code32', display: 'Italian Pharmacode' },\n { value: 'code39', display: 'Code 39' },\n { value: 'code39ext', display: 'Code 39 Extended' },\n { value: 'code49', display: 'Code 49' },\n { value: 'code93', display: 'Code 93' },\n { value: 'code93ext', display: 'Code 93 Extended' },\n { value: 'codeone', display: 'Code One' },\n { value: 'coop2of5', display: 'COOP 2 of 5' },\n { value: 'daft', display: 'Custom 4 state symbology' },\n { value: 'databarexpanded', display: 'GS1 DataBar Expanded' },\n {\n value: 'databarexpandedcomposite',\n display: 'GS1 DataBar Expanded Composite'\n },\n {\n value: 'databarexpandedstacked',\n display: 'GS1 DataBar Expanded Stacked'\n },\n {\n value: 'databarexpandedstackedcomposite',\n display: 'GS1 DataBar Expanded Stacked Composite'\n },\n { value: 'databarlimited', display: 'GS1 DataBar Limited' },\n {\n value: 'databarlimitedcomposite',\n display: 'GS1 DataBar Limited Composite'\n },\n { value: 'databaromni', display: 'GS1 DataBar Omnidirectional' },\n {\n value: 'databaromnicomposite',\n display: 'GS1 DataBar Omnidirectional Composite'\n },\n { value: 'databarstacked', display: 'GS1 DataBar Stacked' },\n {\n value: 'databarstackedcomposite',\n display: 'GS1 DataBar Stacked Composite'\n },\n {\n value: 'databarstackedomni',\n display: 'GS1 DataBar Stacked Omnidirectional'\n },\n {\n value: 'databarstackedomnicomposite',\n display: 'GS1 DataBar Stacked Omnidirectional Composite'\n },\n { value: 'databartruncated', display: 'GS1 DataBar Truncated' },\n {\n value: 'databartruncatedcomposite',\n display: 'GS1 DataBar Truncated Composite'\n },\n { value: 'datalogic2of5', display: 'Datalogic 2 of 5' },\n { value: 'datamatrix', display: 'Data Matrix' },\n {\n value: 'datamatrixrectangular',\n display: 'Data Matrix Rectangular'\n },\n { value: 'dotcode', display: 'DotCode' },\n { value: 'ean13', display: 'EAN-13' },\n { value: 'ean13composite', display: 'EAN-13 Composite' },\n { value: 'ean14', display: 'GS1-14' },\n { value: 'ean2', display: 'EAN-2 (2 digit addon)' },\n { value: 'ean5', display: 'EAN-5 (5 digit addon)' },\n { value: 'ean8', display: 'EAN-8' },\n { value: 'ean8composite', display: 'EAN-8 Composite' },\n { value: 'flattermarken', display: 'Flattermarken' },\n { value: 'gs1-128', display: 'GS1-128' },\n { value: 'gs1-128composite', display: 'GS1-128 Composite' },\n { value: 'gs1-cc', display: 'GS1 Composite 2D Component' },\n { value: 'gs1datamatrix', display: 'GS1 Data Matrix' },\n {\n value: 'gs1datamatrixrectangular',\n display: 'GS1 Data Matrix Rectangular'\n },\n {\n value: 'gs1northamericancoupon',\n display: 'GS1 North American Coupon'\n },\n { value: 'gs1qrcode', display: 'GS1 QR Code' },\n { value: 'hanxin', display: 'Han Xin Code' },\n { value: 'hibcazteccode', display: 'HIBC Aztec Code' },\n { value: 'hibccodablockf', display: 'HIBC Codablock F' },\n { value: 'hibccode128', display: 'HIBC Code 128' },\n { value: 'hibccode39', display: 'HIBC Code 39' },\n { value: 'hibcdatamatrix', display: 'HIBC Data Matrix' },\n {\n value: 'hibcdatamatrixrectangular',\n display: 'HIBC Data Matrix Rectangular'\n },\n { value: 'hibcmicropdf417', display: 'HIBC MicroPDF417' },\n { value: 'hibcpdf417', display: 'HIBC PDF417' },\n { value: 'hibcqrcode', display: 'HIBC QR Code' },\n { value: 'iata2of5', display: 'IATA 2 of 5' },\n { value: 'identcode', display: 'Deutsche Post Identcode' },\n { value: 'industrial2of5', display: 'Industrial 2 of 5' },\n { value: 'interleaved2of5', display: 'Interleaved 2 of 5 (ITF)' },\n { value: 'isbn', display: 'ISBN' },\n { value: 'ismn', display: 'ISMN' },\n { value: 'issn', display: 'ISSN' },\n { value: 'itf14', display: 'ITF-14' },\n { value: 'japanpost', display: 'Japan Post 4 State Customer Code' },\n { value: 'kix', display: 'Royal Dutch TPG Post KIX' },\n { value: 'leitcode', display: 'Deutsche Post Leitcode' },\n { value: 'matrix2of5', display: 'Matrix 2 of 5' },\n { value: 'maxicode', display: 'MaxiCode' },\n { value: 'micropdf417', display: 'MicroPDF417' },\n { value: 'microqrcode', display: 'Micro QR Code' },\n { value: 'msi', display: 'MSI Modified Plessey' },\n { value: 'onecode', display: 'USPS Intelligent Mail' },\n { value: 'pdf417', display: 'PDF417' },\n { value: 'pdf417compact', display: 'Compact PDF417' },\n { value: 'pharmacode', display: 'Pharmaceutical Binary Code' },\n { value: 'pharmacode2', display: 'Two-track Pharmacode' },\n { value: 'planet', display: 'USPS PLANET' },\n { value: 'plessey', display: 'Plessey UK' },\n { value: 'posicode', display: 'PosiCode' },\n { value: 'postnet', display: 'USPS POSTNET' },\n { value: 'pzn', display: 'Pharmazentralnummer (PZN)' },\n { value: 'qrcode', display: 'QR Code' },\n { value: 'rationalizedCodabar', display: 'Codabar' },\n { value: 'raw', display: 'Custom 1D symbology' },\n { value: 'royalmail', display: 'Royal Mail 4 State Customer Code' },\n { value: 'sscc18', display: 'SSCC-18' },\n { value: 'symbol', display: 'Miscellaneous symbols' },\n { value: 'telepen', display: 'Telepen' },\n { value: 'telepennumeric', display: 'Telepen Numeric' },\n { value: 'ultracode', display: 'Ultracode' },\n { value: 'upca', display: 'UPC-A' },\n { value: 'upcacomposite', display: 'UPC-A Composite' },\n { value: 'upce', display: 'UPC-E' },\n { value: 'upcecomposite', display: 'UPC-E Composite' }\n ]\n }\n },\n {\n type: 'number',\n label: 'paddingwidth',\n name: 'paddingwidth'\n },\n {\n type: 'number',\n label: 'paddingheight',\n name: 'paddingheight'\n },\n {\n type: 'checkbox',\n label: 'monochrome',\n name: 'monochrome'\n },\n {\n type: 'checkbox',\n label: 'show-text',\n name: 'showText'\n }\n ],\n 'value-property': 'text'\n}\n\nconst REDRAW_PROPS = ['symbol', 'text', 'showText', 'height', 'width', 'paddingwidth', 'paddingheight']\n\nexport default class Barcode extends RectPath(Shape) {\n private _canvas?: HTMLCanvasElement\n private _image: any\n\n get nature() {\n return NATURE\n }\n\n get canvas() {\n if (!this._canvas) {\n this._canvas = document.createElement('canvas')\n\n this._canvas.style.display = 'none'\n this._canvas.height = 1\n this._canvas.width = 1\n }\n\n return this._canvas\n }\n\n dispose() {\n super.dispose()\n }\n\n ready() {\n super.ready()\n this.buildImage()\n }\n\n buildImage() {\n var { symbol, text, width, height, includetext, textAlign, paddingwidth = 0, paddingheight = 0 } = this.state\n\n if (!text) {\n console.warn('barcode text is not specified.')\n return\n }\n\n this.canvas.width = width\n this.canvas.height = height\n\n try {\n //@ts-ignore\n this._image = bwipjs.toCanvas(this.canvas, {\n bcid: symbol, // Barcode type\n text, // Text to encode\n height, // Bar height, in millimeters\n width,\n includetext, // Show human-readable text\n textxalign: textAlign || 'center', // Always good to set this\n paddingwidth,\n paddingheight\n })\n } catch (err) {\n delete this._image\n error(err)\n } finally {\n this.invalidate()\n }\n }\n\n render(context: CanvasRenderingContext2D) {\n var { left, top, width, height } = this.state\n\n try {\n if (this._image) {\n // don't change to this.drawImage(context, ..) - this._image is canvas.\n context.drawImage(this._image, left, top, width, height)\n }\n } catch (e) {\n error(e)\n }\n }\n\n drawText() {\n // to nothing\n }\n\n onchange(props: Properties) {\n for (let prop of REDRAW_PROPS) {\n if (prop in props) {\n this.buildImage()\n return\n }\n }\n }\n}\n\nComponent.register('barcode', Barcode)\n"]}
1
+ {"version":3,"file":"barcode.js","sourceRoot":"","sources":["../src/barcode.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\n// 참고 웹페이지.\n// http://www.neodynamic.com/Products/Help/BarcodeWinControl2.5/working_barcode_symbologies.htm\n// const BARCODE_REGEXP = {\n// 'code11': /^[0-9\\-]*$/,\n// 'codebar': /^[A-D][0-9\\+$:\\-/.]*[A-D]$/,\n// 'code39': {\n// 'normal': /^[0-9A-Z\\-.$/\\+%\\*\\s]*$/,\n// 'extended': /^[\\000-\\177]*$/\n// },\n// 'code93': {\n// 'normal': /^[0-9A-Z\\-.$/\\+%\\*\\s]*$/,\n// 'extended': /^[\\000-\\177]*$/\n// },\n// 'code128': {\n// 'auto': /^[\\000-\\177]*$/,\n// 'A': /^[\\000-\\137]*$/,\n// 'B': /^[\\040-\\177]*$/,\n// 'C': /^(([0-9]{2})+?)*$/\n// },\n// 'datamatrix': /^[\\x00-\\xff]*$/, // 멀티바이트 캐릭터는 안됨 ?\n// 'ean8': /^\\d{1,}$/,\n// 'ean13': /^\\d{1,}$/,\n// 'industrial2of5': /^\\d{1,}$/,\n// 'interleaved2of5': /^\\d{1,}$/,\n// 'isbn': /((978[\\--– ])?[0-9][0-9\\--– ]{10}[\\--– ][0-9xX])|((978)?[0-9]{9}[0-9Xx])/,\n// 'msi': /^\\d{1,}$/,\n// 'pdf417': {\n// 'text-compaction': /^[\\011\\012\\015\\040-\\177]*$/,\n// 'binary-compaction': /^[\\x00-\\xff]*$/\n// },\n// 'planet': /^\\d{1,}$/,\n// 'postnet': /^\\d{1,}$/,\n// 'ean128': /^[\\000-\\177\\xC8\\xCA-\\xCD]*$/,\n// 'upca': /^\\d{1,}$/,\n// 'upce': /^\\d{1,}$/\n// };\n\n/* opts 예제 - https://github.com/bwipp/postscriptbarcode/wiki/Options-Reference\n * includecheck, includecheckintext, includetext, textfont, textsize, textgaps, textxalign, textyalign, textxoffset, textyoffset\n * showborder, borderwidth, borderleft, borderright, bordertop, borderbottom, barcolor, backgroundcolor, bordercolor, textcolor\n * parse, parsefnc, height, width, inkspread, inkspreadh, inkspreadv,\n * addontextxoffset, addontextyoffset, addontextfont, addontextsize\n * guardwhitespace, guardwidth, guardheight, guardleftpos, guardrightpos, guardleftypos, guardrightypos\n */\n\n// symdesc[\"code39\"].opts = \"includetext textxalign=center textgaps=2\";\n// symdesc[\"interleaved2of5\"].opts = \"includetext textxalign=center textgaps=1.5\";\n// symdesc[\"code93\"].opts = \"includetext textxalign=center textgaps=2\";\n// symdesc[\"ean13\"].opts = \"includetext\";\n// symdesc[\"ean8\"].opts = \"includetext\";\n\nimport bwipjs from 'bwip-js/browser'\n\nimport { Component, ComponentNature, error, Properties, RectPath, Shape, sceneComponent } from '@hatiolab/things-scene'\n\nconst NATURE: ComponentNature = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'select',\n label: 'symbol',\n name: 'symbol',\n property: {\n options: [\n { value: 'auspost', display: 'AusPost 4 State Customer Code' },\n { value: 'azteccode', display: 'Aztec Code' },\n { value: 'azteccodecompact', display: 'Compact Aztec Code' },\n { value: 'aztecrune', display: 'Aztec Runes' },\n { value: 'bc412', display: 'BC412' },\n { value: 'channelcode', display: 'Channel Code' },\n { value: 'codablockf', display: 'Codablock F' },\n { value: 'code11', display: 'Code 11' },\n { value: 'code128', display: 'Code 128' },\n { value: 'code16k', display: 'Code 16K' },\n { value: 'code2of5', display: 'Code 25' },\n { value: 'code32', display: 'Italian Pharmacode' },\n { value: 'code39', display: 'Code 39' },\n { value: 'code39ext', display: 'Code 39 Extended' },\n { value: 'code49', display: 'Code 49' },\n { value: 'code93', display: 'Code 93' },\n { value: 'code93ext', display: 'Code 93 Extended' },\n { value: 'codeone', display: 'Code One' },\n { value: 'coop2of5', display: 'COOP 2 of 5' },\n { value: 'daft', display: 'Custom 4 state symbology' },\n { value: 'databarexpanded', display: 'GS1 DataBar Expanded' },\n {\n value: 'databarexpandedcomposite',\n display: 'GS1 DataBar Expanded Composite'\n },\n {\n value: 'databarexpandedstacked',\n display: 'GS1 DataBar Expanded Stacked'\n },\n {\n value: 'databarexpandedstackedcomposite',\n display: 'GS1 DataBar Expanded Stacked Composite'\n },\n { value: 'databarlimited', display: 'GS1 DataBar Limited' },\n {\n value: 'databarlimitedcomposite',\n display: 'GS1 DataBar Limited Composite'\n },\n { value: 'databaromni', display: 'GS1 DataBar Omnidirectional' },\n {\n value: 'databaromnicomposite',\n display: 'GS1 DataBar Omnidirectional Composite'\n },\n { value: 'databarstacked', display: 'GS1 DataBar Stacked' },\n {\n value: 'databarstackedcomposite',\n display: 'GS1 DataBar Stacked Composite'\n },\n {\n value: 'databarstackedomni',\n display: 'GS1 DataBar Stacked Omnidirectional'\n },\n {\n value: 'databarstackedomnicomposite',\n display: 'GS1 DataBar Stacked Omnidirectional Composite'\n },\n { value: 'databartruncated', display: 'GS1 DataBar Truncated' },\n {\n value: 'databartruncatedcomposite',\n display: 'GS1 DataBar Truncated Composite'\n },\n { value: 'datalogic2of5', display: 'Datalogic 2 of 5' },\n { value: 'datamatrix', display: 'Data Matrix' },\n {\n value: 'datamatrixrectangular',\n display: 'Data Matrix Rectangular'\n },\n { value: 'dotcode', display: 'DotCode' },\n { value: 'ean13', display: 'EAN-13' },\n { value: 'ean13composite', display: 'EAN-13 Composite' },\n { value: 'ean14', display: 'GS1-14' },\n { value: 'ean2', display: 'EAN-2 (2 digit addon)' },\n { value: 'ean5', display: 'EAN-5 (5 digit addon)' },\n { value: 'ean8', display: 'EAN-8' },\n { value: 'ean8composite', display: 'EAN-8 Composite' },\n { value: 'flattermarken', display: 'Flattermarken' },\n { value: 'gs1-128', display: 'GS1-128' },\n { value: 'gs1-128composite', display: 'GS1-128 Composite' },\n { value: 'gs1-cc', display: 'GS1 Composite 2D Component' },\n { value: 'gs1datamatrix', display: 'GS1 Data Matrix' },\n {\n value: 'gs1datamatrixrectangular',\n display: 'GS1 Data Matrix Rectangular'\n },\n {\n value: 'gs1northamericancoupon',\n display: 'GS1 North American Coupon'\n },\n { value: 'gs1qrcode', display: 'GS1 QR Code' },\n { value: 'hanxin', display: 'Han Xin Code' },\n { value: 'hibcazteccode', display: 'HIBC Aztec Code' },\n { value: 'hibccodablockf', display: 'HIBC Codablock F' },\n { value: 'hibccode128', display: 'HIBC Code 128' },\n { value: 'hibccode39', display: 'HIBC Code 39' },\n { value: 'hibcdatamatrix', display: 'HIBC Data Matrix' },\n {\n value: 'hibcdatamatrixrectangular',\n display: 'HIBC Data Matrix Rectangular'\n },\n { value: 'hibcmicropdf417', display: 'HIBC MicroPDF417' },\n { value: 'hibcpdf417', display: 'HIBC PDF417' },\n { value: 'hibcqrcode', display: 'HIBC QR Code' },\n { value: 'iata2of5', display: 'IATA 2 of 5' },\n { value: 'identcode', display: 'Deutsche Post Identcode' },\n { value: 'industrial2of5', display: 'Industrial 2 of 5' },\n { value: 'interleaved2of5', display: 'Interleaved 2 of 5 (ITF)' },\n { value: 'isbn', display: 'ISBN' },\n { value: 'ismn', display: 'ISMN' },\n { value: 'issn', display: 'ISSN' },\n { value: 'itf14', display: 'ITF-14' },\n { value: 'japanpost', display: 'Japan Post 4 State Customer Code' },\n { value: 'kix', display: 'Royal Dutch TPG Post KIX' },\n { value: 'leitcode', display: 'Deutsche Post Leitcode' },\n { value: 'matrix2of5', display: 'Matrix 2 of 5' },\n { value: 'maxicode', display: 'MaxiCode' },\n { value: 'micropdf417', display: 'MicroPDF417' },\n { value: 'microqrcode', display: 'Micro QR Code' },\n { value: 'msi', display: 'MSI Modified Plessey' },\n { value: 'onecode', display: 'USPS Intelligent Mail' },\n { value: 'pdf417', display: 'PDF417' },\n { value: 'pdf417compact', display: 'Compact PDF417' },\n { value: 'pharmacode', display: 'Pharmaceutical Binary Code' },\n { value: 'pharmacode2', display: 'Two-track Pharmacode' },\n { value: 'planet', display: 'USPS PLANET' },\n { value: 'plessey', display: 'Plessey UK' },\n { value: 'posicode', display: 'PosiCode' },\n { value: 'postnet', display: 'USPS POSTNET' },\n { value: 'pzn', display: 'Pharmazentralnummer (PZN)' },\n { value: 'qrcode', display: 'QR Code' },\n { value: 'rationalizedCodabar', display: 'Codabar' },\n { value: 'raw', display: 'Custom 1D symbology' },\n { value: 'royalmail', display: 'Royal Mail 4 State Customer Code' },\n { value: 'sscc18', display: 'SSCC-18' },\n { value: 'symbol', display: 'Miscellaneous symbols' },\n { value: 'telepen', display: 'Telepen' },\n { value: 'telepennumeric', display: 'Telepen Numeric' },\n { value: 'ultracode', display: 'Ultracode' },\n { value: 'upca', display: 'UPC-A' },\n { value: 'upcacomposite', display: 'UPC-A Composite' },\n { value: 'upce', display: 'UPC-E' },\n { value: 'upcecomposite', display: 'UPC-E Composite' }\n ]\n }\n },\n {\n type: 'number',\n label: 'paddingwidth',\n name: 'paddingwidth'\n },\n {\n type: 'number',\n label: 'paddingheight',\n name: 'paddingheight'\n },\n {\n type: 'checkbox',\n label: 'monochrome',\n name: 'monochrome'\n },\n {\n type: 'checkbox',\n label: 'show-text',\n name: 'showText'\n }\n ],\n 'value-property': 'text'\n}\n\nconst REDRAW_PROPS = ['symbol', 'text', 'showText', 'height', 'width', 'paddingwidth', 'paddingheight']\n\n@sceneComponent('barcode')\nexport default class Barcode extends RectPath(Shape) {\n private _canvas?: HTMLCanvasElement\n private _image: any\n\n get nature() {\n return NATURE\n }\n\n get canvas() {\n if (!this._canvas) {\n this._canvas = document.createElement('canvas')\n\n this._canvas.style.display = 'none'\n this._canvas.height = 1\n this._canvas.width = 1\n }\n\n return this._canvas\n }\n\n dispose() {\n super.dispose()\n }\n\n ready() {\n super.ready()\n this.buildImage()\n }\n\n buildImage() {\n var { symbol, text, width, height, includetext, textAlign, paddingwidth = 0, paddingheight = 0 } = this.state\n\n if (!text) {\n console.warn('barcode text is not specified.')\n return\n }\n\n this.canvas.width = width\n this.canvas.height = height\n\n try {\n //@ts-ignore\n this._image = bwipjs.toCanvas(this.canvas, {\n bcid: symbol, // Barcode type\n text, // Text to encode\n height, // Bar height, in millimeters\n width,\n includetext, // Show human-readable text\n textxalign: textAlign || 'center', // Always good to set this\n paddingwidth,\n paddingheight\n })\n } catch (err) {\n delete this._image\n error(err)\n } finally {\n this.invalidate()\n }\n }\n\n render(context: CanvasRenderingContext2D) {\n var { left, top, width, height } = this.state\n\n try {\n if (this._image) {\n // don't change to this.drawImage(context, ..) - this._image is canvas.\n context.drawImage(this._image, left, top, width, height)\n }\n } catch (e) {\n error(e)\n }\n }\n\n drawText() {\n // to nothing\n }\n\n onchange(props: Properties) {\n for (let prop of REDRAW_PROPS) {\n if (prop in props) {\n this.buildImage()\n return\n }\n }\n }\n}\n"]}
@@ -1,7 +1,9 @@
1
1
  /*
2
2
  * Copyright © HatioLab Inc. All rights reserved.
3
3
  */
4
- import { Component, RectPath, Shape } from '@hatiolab/things-scene';
4
+ var LabelPrinter_1;
5
+ import { __decorate } from "tslib";
6
+ import { RectPath, Shape, sceneComponent } from '@hatiolab/things-scene';
5
7
  import { BrowserPrinter, USBPrinter } from '@operato/barcode';
6
8
  const NATURE = {
7
9
  mutable: false,
@@ -45,13 +47,13 @@ const NATURE = {
45
47
  'value-property': 'data',
46
48
  help: 'scene/component/label-printer'
47
49
  };
48
- export default class LabelPrinter extends RectPath(Shape) {
50
+ let LabelPrinter = LabelPrinter_1 = class LabelPrinter extends RectPath(Shape) {
49
51
  static get image() {
50
- if (!LabelPrinter._image) {
51
- LabelPrinter._image = new Image();
52
- LabelPrinter._image.src = new URL('../icons/label-printer.png', import.meta.url).href;
52
+ if (!LabelPrinter_1._image) {
53
+ LabelPrinter_1._image = new Image();
54
+ LabelPrinter_1._image.src = new URL('../icons/label-printer.png', import.meta.url).href;
53
55
  }
54
- return LabelPrinter._image;
56
+ return LabelPrinter_1._image;
55
57
  }
56
58
  get nature() {
57
59
  return NATURE;
@@ -65,7 +67,7 @@ export default class LabelPrinter extends RectPath(Shape) {
65
67
  */
66
68
  var { left, top, width, height } = this.bounds;
67
69
  context.beginPath();
68
- this.drawImage(context, LabelPrinter.image, left, top, width, height);
70
+ this.drawImage(context, LabelPrinter_1.image, left, top, width, height);
69
71
  }
70
72
  onchange(after, before) {
71
73
  if ('data' in after) {
@@ -115,6 +117,9 @@ export default class LabelPrinter extends RectPath(Shape) {
115
117
  throw new Error(err);
116
118
  }
117
119
  }
118
- }
119
- Component.register('label-printer', LabelPrinter);
120
+ };
121
+ LabelPrinter = LabelPrinter_1 = __decorate([
122
+ sceneComponent('label-printer')
123
+ ], LabelPrinter);
124
+ export default LabelPrinter;
120
125
  //# sourceMappingURL=label-printer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"label-printer.js","sourceRoot":"","sources":["../src/label-printer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAA+B,QAAQ,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAChG,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7D,MAAM,MAAM,GAAoB;IAC9B,OAAO,EAAE,KAAK;IACd,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,UAAU,EAAE;QACV;YACE,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,gBAAgB;YACvB,IAAI,EAAE,eAAe;YACrB,QAAQ,EAAE;gBACR,OAAO,EAAE;oBACP;wBACE,OAAO,EAAE,uBAAuB;wBAChC,KAAK,EAAE,YAAY;qBACpB;oBACD;wBACE,OAAO,EAAE,qBAAqB;wBAC9B,KAAK,EAAE,qBAAqB;qBAC7B;iBACF;aACF;SACF;QACD;YACE,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,QAAQ;SACtB;QACD;YACE,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,SAAS;SAChB;QACD;YACE,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,QAAQ;SACf;KACF;IACD,gBAAgB,EAAE,MAAM;IACxB,IAAI,EAAE,+BAA+B;CACtC,CAAA;AAED,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,QAAQ,CAAC,KAAK,CAAC;IAIvD,MAAM,KAAK,KAAK;QACd,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACzB,YAAY,CAAC,MAAM,GAAG,IAAI,KAAK,EAAE,CAAA;YACjC,YAAY,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,4BAA4B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;QACvF,CAAC;QAED,OAAO,YAAY,CAAC,MAAM,CAAA;IAC5B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,MAAM,CAAA;IACf,CAAC;IAED,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,CAAA;IACjB,CAAC;IAED,MAAM,CAAC,OAAiC;QACtC;;WAEG;QAEH,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;QAE9C,OAAO,CAAC,SAAS,EAAE,CAAA;QACnB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IACvE,CAAC;IAED,QAAQ,CAAC,KAAiB,EAAE,MAAkB;QAC5C,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;YACpB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACxB,CAAC;QAED,IAAI,eAAe,IAAI,KAAK,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,OAAO,CAAA;QACrB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAS;QACnB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1F;;;;;eAKG;YACH,OAAM;QACR,CAAC;QAED,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAEjE,IAAI,YAAY,GAAG,IAAI,eAAe,EAAE,CAAA;QACxC,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QACrC,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,iBAAiB,OAAO,IAAI,YAAY,CAAC,QAAQ,EAAE,EAAE,EAAE;YAClF,MAAM,EAAE,KAAK;SACd,CAAC,CAAA;QAEF,IAAI,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAEnC,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,IAAI,CAAC,OAAO;oBACV,aAAa,IAAI,YAAY;wBAC3B,CAAC,CAAC,IAAI,UAAU,CACZ,QAAQ;4BACN,CAAC,CAAC;gCACE;oCACE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;iCAC3B;6BACF;4BACH,CAAC,CAAC,SAAS,CACd;wBACH,CAAC,CAAC,IAAI,cAAc,EAAE,CAAA;YAC5B,CAAC;YAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YACnC,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,GAAa,CAAC,CAAA;QAChC,CAAC;IACH,CAAC;CACF;AAED,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,YAAY,CAAC,CAAA","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport { Component, ComponentNature, Properties, RectPath, Shape } from '@hatiolab/things-scene'\nimport { BrowserPrinter, USBPrinter } from '@operato/barcode'\n\nconst NATURE: ComponentNature = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'select',\n label: 'direct-printer',\n name: 'directPrinter',\n property: {\n options: [\n {\n display: 'USB Connected Printer',\n value: 'direct-usb'\n },\n {\n display: 'Zebra Browser Print',\n value: 'zebra-browser-print'\n }\n ]\n }\n },\n {\n type: 'string',\n label: 'vendor id',\n name: 'vendorId',\n placeholder: '0x0A5F'\n },\n {\n type: 'board-selector',\n label: 'board id',\n name: 'boardId'\n },\n {\n type: 'number',\n label: 'copies',\n name: 'copies'\n }\n ],\n 'value-property': 'data',\n help: 'scene/component/label-printer'\n}\n\nexport default class LabelPrinter extends RectPath(Shape) {\n private static _image: HTMLImageElement\n private printer?: USBPrinter | BrowserPrinter\n\n static get image() {\n if (!LabelPrinter._image) {\n LabelPrinter._image = new Image()\n LabelPrinter._image.src = new URL('../icons/label-printer.png', import.meta.url).href\n }\n\n return LabelPrinter._image\n }\n\n get nature() {\n return NATURE\n }\n\n dispose() {\n super.dispose()\n }\n\n render(context: CanvasRenderingContext2D) {\n /*\n * TODO printable 상태를 구분할 수 있는 표시를 추가할 것.\n */\n\n var { left, top, width, height } = this.bounds\n\n context.beginPath()\n this.drawImage(context, LabelPrinter.image, left, top, width, height)\n }\n\n onchange(after: Properties, before: Properties) {\n if ('data' in after) {\n this.print(after.data)\n }\n\n if ('directPrinter' in after) {\n delete this.printer\n }\n }\n\n async print(data: any) {\n if (!this.app.isViewMode || data.constructor !== Object || Object.keys(data).length === 0) {\n /* in cases of\n * - edit mode\n * - data is not a object\n * - data object is empty\n * we doesn't print\n */\n return\n }\n\n var { directPrinter, boardId, vendorId, copies = 1 } = this.state\n\n var searchParams = new URLSearchParams()\n for (var key in data) {\n searchParams.append(key, data[key])\n }\n const response = await fetch(`label-command/${boardId}?${searchParams.toString()}`, {\n method: 'GET'\n })\n\n var command = await response.text()\n\n try {\n if (!this.printer) {\n this.printer =\n directPrinter == 'direct-usb'\n ? new USBPrinter(\n vendorId\n ? [\n {\n vendorId: Number(vendorId)\n }\n ]\n : undefined\n )\n : new BrowserPrinter()\n }\n\n for (var i = 0; i < copies; i++) {\n await this.printer.print(command)\n }\n } catch (err) {\n throw new Error(err as string)\n }\n }\n}\n\nComponent.register('label-printer', LabelPrinter)\n"]}
1
+ {"version":3,"file":"label-printer.js","sourceRoot":"","sources":["../src/label-printer.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport { Component, ComponentNature, Properties, RectPath, Shape, sceneComponent } from '@hatiolab/things-scene'\nimport { BrowserPrinter, USBPrinter } from '@operato/barcode'\n\nconst NATURE: ComponentNature = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'select',\n label: 'direct-printer',\n name: 'directPrinter',\n property: {\n options: [\n {\n display: 'USB Connected Printer',\n value: 'direct-usb'\n },\n {\n display: 'Zebra Browser Print',\n value: 'zebra-browser-print'\n }\n ]\n }\n },\n {\n type: 'string',\n label: 'vendor id',\n name: 'vendorId',\n placeholder: '0x0A5F'\n },\n {\n type: 'board-selector',\n label: 'board id',\n name: 'boardId'\n },\n {\n type: 'number',\n label: 'copies',\n name: 'copies'\n }\n ],\n 'value-property': 'data',\n help: 'scene/component/label-printer'\n}\n\n@sceneComponent('label-printer')\nexport default class LabelPrinter extends RectPath(Shape) {\n private static _image: HTMLImageElement\n private printer?: USBPrinter | BrowserPrinter\n\n static get image() {\n if (!LabelPrinter._image) {\n LabelPrinter._image = new Image()\n LabelPrinter._image.src = new URL('../icons/label-printer.png', import.meta.url).href\n }\n\n return LabelPrinter._image\n }\n\n get nature() {\n return NATURE\n }\n\n dispose() {\n super.dispose()\n }\n\n render(context: CanvasRenderingContext2D) {\n /*\n * TODO printable 상태를 구분할 수 있는 표시를 추가할 것.\n */\n\n var { left, top, width, height } = this.bounds\n\n context.beginPath()\n this.drawImage(context, LabelPrinter.image, left, top, width, height)\n }\n\n onchange(after: Properties, before: Properties) {\n if ('data' in after) {\n this.print(after.data)\n }\n\n if ('directPrinter' in after) {\n delete this.printer\n }\n }\n\n async print(data: any) {\n if (!this.app.isViewMode || data.constructor !== Object || Object.keys(data).length === 0) {\n /* in cases of\n * - edit mode\n * - data is not a object\n * - data object is empty\n * we doesn't print\n */\n return\n }\n\n var { directPrinter, boardId, vendorId, copies = 1 } = this.state\n\n var searchParams = new URLSearchParams()\n for (var key in data) {\n searchParams.append(key, data[key])\n }\n const response = await fetch(`label-command/${boardId}?${searchParams.toString()}`, {\n method: 'GET'\n })\n\n var command = await response.text()\n\n try {\n if (!this.printer) {\n this.printer =\n directPrinter == 'direct-usb'\n ? new USBPrinter(\n vendorId\n ? [\n {\n vendorId: Number(vendorId)\n }\n ]\n : undefined\n )\n : new BrowserPrinter()\n }\n\n for (var i = 0; i < copies; i++) {\n await this.printer.print(command)\n }\n } catch (err) {\n throw new Error(err as string)\n }\n }\n}\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@operato/scene-label",
3
3
  "description": "Barcode Label component for things-scene",
4
- "version": "9.0.0-beta.9",
4
+ "version": "9.0.1",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "things-scene": true,
@@ -28,15 +28,15 @@
28
28
  "migration": "things-factory-migration"
29
29
  },
30
30
  "dependencies": {
31
- "@hatiolab/things-scene": "^9.0.0-beta",
32
- "@operato/barcode": "^9.0.0-beta",
33
- "@operato/input": "^9.0.0-beta",
31
+ "@hatiolab/things-scene": "^9.0.0",
32
+ "@operato/barcode": "^9.0.0",
33
+ "@operato/input": "^9.0.0",
34
34
  "bwip-js": "^4.4.0"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@hatiolab/prettier-config": "^1.0.0",
38
- "@things-factory/builder": "^9.0.0-beta",
39
- "@things-factory/operato-board": "^9.0.0-beta",
38
+ "@things-factory/builder": "^9.0.0",
39
+ "@things-factory/operato-board": "^9.0.0",
40
40
  "@types/codemirror": "^5.60.5",
41
41
  "@types/w3c-web-usb": "^1.0.5",
42
42
  "@typescript-eslint/eslint-plugin": "^4.33.0",
@@ -63,5 +63,5 @@
63
63
  "prettier --write"
64
64
  ]
65
65
  },
66
- "gitHead": "a055d01e45284ed000513e62768dcad61f926293"
66
+ "gitHead": "5c1850ff48a7c9b6aa133426e817b22032326143"
67
67
  }