@operato/scene-label 1.0.0-alpha.2 → 1.0.0-alpha.22

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.
Files changed (34) hide show
  1. package/CHANGELOG.md +158 -13
  2. package/assets/favicon.ico +0 -0
  3. package/assets/images/spinner.png +0 -0
  4. package/dist/barcode-scanner.d.ts +1 -1
  5. package/dist/barcode-scanner.js +22 -2
  6. package/dist/barcode-scanner.js.map +1 -1
  7. package/dist/barcode.d.ts +1 -1
  8. package/dist/barcode.js +1 -1
  9. package/dist/barcode.js.map +1 -1
  10. package/dist/label-printer.d.ts +1 -1
  11. package/dist/label-printer.js +12 -5
  12. package/dist/label-printer.js.map +1 -1
  13. package/helps/scene/component/barcode-scanner.ko.md +19 -1
  14. package/helps/scene/component/barcode-scanner.md +18 -0
  15. package/helps/scene/component/barcode-scanner.zh.md +20 -2
  16. package/helps/scene/component/label-printer.ko.md +6 -4
  17. package/helps/scene/component/label-printer.md +11 -11
  18. package/helps/scene/component/label-printer.zh.md +15 -13
  19. package/logs/.08636eb59927f12972f6774f5947c8507b3564c2-audit.json +15 -0
  20. package/logs/.5e5d741d8b7784a2fbad65eedc0fd46946aaf6f2-audit.json +30 -0
  21. package/logs/application-2022-06-15-23.log +4 -0
  22. package/logs/connections-2022-06-09-23.log +70 -0
  23. package/logs/connections-2022-06-13-11.log +35 -0
  24. package/logs/connections-2022-06-13-12.log +35 -0
  25. package/logs/connections-2022-06-15-23.log +35 -0
  26. package/package.json +7 -7
  27. package/src/barcode-scanner.ts +24 -2
  28. package/src/barcode.ts +1 -1
  29. package/src/label-printer.ts +13 -6
  30. package/translations/en.json +5 -1
  31. package/translations/ko.json +5 -1
  32. package/translations/ms.json +6 -2
  33. package/translations/zh.json +8 -4
  34. package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md CHANGED
@@ -3,44 +3,189 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- ## [1.0.0-alpha.2](https://github.com/things-scene/operato-scene/compare/v1.0.0-alpha.1...v1.0.0-alpha.2) (2022-03-13)
6
+ ## [1.0.0-alpha.22](https://github.com/things-scene/operato-scene/compare/v1.0.0-alpha.21...v1.0.0-alpha.22) (2022-06-16)
7
7
 
8
8
 
9
9
  ### :bug: Bug Fix
10
10
 
11
- * [@operato](https://github.com/operato) 1.0.0-alpha.14 ([c124d67](https://github.com/things-scene/operato-scene/commit/c124d672260ac940175a2a831f702aa3b5f5c996))
11
+ * latest @hatiolab/things-scene ([0928090](https://github.com/things-scene/operato-scene/commit/09280903b4b0280ee8a76a4d1c2a0bf8d0997563))
12
+ * select-over-change => select-after-change ([ce4c0e7](https://github.com/things-scene/operato-scene/commit/ce4c0e7e0438c4e1a6126d8eb1053b90bd3dd3be))
12
13
 
13
14
 
14
15
 
15
- ## [1.0.0-alpha.1](https://github.com/things-scene/operato-scene/compare/v0.1.5...v1.0.0-alpha.1) (2022-03-13)
16
+ ## [1.0.0-alpha.21](https://github.com/things-scene/operato-scene/compare/v1.0.0-alpha.20...v1.0.0-alpha.21) (2022-06-16)
16
17
 
17
18
 
18
- ### :rocket: New Features
19
+ ### :bug: Bug Fix
19
20
 
20
- * [@operato](https://github.com/operato) 1.0.0-alpha and [@things-factory](https://github.com/things-factory) 5.0.0-alpha ([5f7f2d4](https://github.com/things-scene/operato-scene/commit/5f7f2d45ccc8300822e712c93948850bcdb43687))
21
+ * latest [@operato](https://github.com/operato) ([8384a79](https://github.com/things-scene/operato-scene/commit/8384a79c616db7c5fb437a480bb8c8337b75db84))
22
+ * some properties for barcode-scanner ([41a90c0](https://github.com/things-scene/operato-scene/commit/41a90c0255756ba3aff98d18057530457b2e7013))
21
23
 
22
24
 
23
25
 
24
- ### [0.1.5](https://github.com/things-scene/operato-scene/compare/v0.1.4...v0.1.5) (2022-02-10)
26
+ ## [1.0.0-alpha.20](https://github.com/things-scene/operato-scene/compare/v1.0.0-alpha.19...v1.0.0-alpha.20) (2022-06-10)
27
+
28
+ **Note:** Version bump only for package @operato/scene-label
29
+
30
+
31
+
32
+
33
+
34
+ ## [1.0.0-alpha.19](https://github.com/things-scene/operato-scene/compare/v1.0.0-alpha.18...v1.0.0-alpha.19) (2022-06-09)
35
+
36
+
37
+ ### :bug: Bug Fix
38
+
39
+ * 'copies' property added to label-printer ([64076a5](https://github.com/things-scene/operato-scene/commit/64076a523f5335c2dc92927be6e25a1b1495b178))
40
+ * latest [@operato](https://github.com/operato) [@things-factory](https://github.com/things-factory) ([c6a5475](https://github.com/things-scene/operato-scene/commit/c6a54751a3af539840fd57d031e09ee1552a7b4c))
41
+
42
+
43
+
44
+ ## [1.0.0-alpha.18](https://github.com/things-scene/operato-scene/compare/v1.0.0-alpha.17...v1.0.0-alpha.18) (2022-05-30)
45
+
46
+
47
+ ### :bug: Bug Fix
48
+
49
+ * latest dependencies ([5fae24c](https://github.com/things-scene/operato-scene/commit/5fae24ce2e7d17b5e2e85fae4cee04cfca690549))
50
+
51
+
52
+
53
+ ## [1.0.0-alpha.17](https://github.com/things-scene/operato-scene/compare/v1.0.0-alpha.16...v1.0.0-alpha.17) (2022-05-29)
54
+
55
+
56
+ ### :bug: Bug Fix
57
+
58
+ * latest things-scene & [@things-factory](https://github.com/things-factory) ([485bcce](https://github.com/things-scene/operato-scene/commit/485bccead07ccc5065088f1d458175f84083f9a5))
59
+ * update [@operato](https://github.com/operato) [@things-factory](https://github.com/things-factory) ([8552127](https://github.com/things-scene/operato-scene/commit/8552127bdda3282ac74e86b936342caa085f6bea))
60
+
61
+
62
+
63
+ ## [1.0.0-alpha.16](https://github.com/things-scene/operato-scene/compare/v1.0.0-alpha.15...v1.0.0-alpha.16) (2022-05-23)
25
64
 
26
65
 
27
66
  ### :rocket: New Features
28
67
 
29
- * move news-ticker to here ([c5e565d](https://github.com/things-scene/operato-scene/commit/c5e565dff6016977766e54b3b74c4f80838f7cd2))
68
+ * migrate data-transform from [@things-factory](https://github.com/things-factory) ([2b7c5d3](https://github.com/things-scene/operato-scene/commit/2b7c5d34027d611c5e8210cada8cd15272944fa5))
30
69
 
31
70
 
71
+ ### :bug: Bug Fix
32
72
 
33
- ### [0.1.4](https://github.com/things-scene/operato-scene/compare/v0.1.3...v0.1.4) (2022-01-30)
73
+ * update dependencies ([8ef917f](https://github.com/things-scene/operato-scene/commit/8ef917f41e83126495d3b75ae3042bbd66cf12c3))
74
+
75
+
76
+
77
+ ## [1.0.0-alpha.15](https://github.com/things-scene/operato-scene/compare/v1.0.0-alpha.14...v1.0.0-alpha.15) (2022-05-13)
78
+
79
+ **Note:** Version bump only for package @operato/scene-label
80
+
81
+
82
+
83
+
84
+
85
+ ## [1.0.0-alpha.14](https://github.com/things-scene/operato-scene/compare/v1.0.0-alpha.13...v1.0.0-alpha.14) (2022-05-01)
86
+
87
+
88
+ ### :bug: Bug Fix
89
+
90
+ * apply @hatiolab/things-scene 3.0.6 - memory free ([5778610](https://github.com/things-scene/operato-scene/commit/5778610aa6456709cb931a3185b189f1d3bd1ff9))
91
+
92
+
93
+
94
+ ## [1.0.0-alpha.13](https://github.com/things-scene/operato-scene/compare/v1.0.0-alpha.12...v1.0.0-alpha.13) (2022-04-24)
95
+
96
+
97
+ ### :bug: Bug Fix
98
+
99
+ * "@hatiolab/things-scene": "^3.0.2" ([13057dd](https://github.com/things-scene/operato-scene/commit/13057dd2f8bbb3859abb479516c3483bcc15354b))
100
+ * @hatiolab/things-scene 3.0.5 and [@operato](https://github.com/operato) 1.0.0-beta.7 ([bd69bf1](https://github.com/things-scene/operato-scene/commit/bd69bf134c1fe6789f4964f0e6525f728eee8275))
101
+ * things-scene 3.0.1 ([288f953](https://github.com/things-scene/operato-scene/commit/288f953947d73ffa3f6e8743f8326570d1dace80))
34
102
 
35
103
 
104
+
105
+ ## [1.0.0-alpha.12](https://github.com/things-scene/operato-scene/compare/v1.0.0-alpha.11...v1.0.0-alpha.12) (2022-04-18)
106
+
107
+
108
+ ### :bug: Bug Fix
109
+
110
+ * @hatiolab/things-scene 3.0.0 ([29021a5](https://github.com/things-scene/operato-scene/commit/29021a511e5dc1e91b337b155817d846883ceff7))
111
+
112
+
113
+
114
+ ## [1.0.0-alpha.11](https://github.com/things-scene/operato-scene/compare/v1.0.0-alpha.10...v1.0.0-alpha.11) (2022-04-17)
115
+
116
+ **Note:** Version bump only for package @operato/scene-label
117
+
118
+
119
+
120
+
121
+
122
+ ## [1.0.0-alpha.10](https://github.com/things-scene/operato-scene/compare/v1.0.0-alpha.9...v1.0.0-alpha.10) (2022-04-10)
123
+
124
+ **Note:** Version bump only for package @operato/scene-label
125
+
126
+ ## [1.0.0-alpha.9](https://github.com/things-scene/operato-scene/compare/v1.0.0-alpha.8...v1.0.0-alpha.9) (2022-04-07)
127
+
128
+ **Note:** Version bump only for package @operato/scene-label
129
+
130
+ ## [1.0.0-alpha.8](https://github.com/things-scene/operato-scene/compare/v1.0.0-alpha.7...v1.0.0-alpha.8) (2022-04-07)
131
+
132
+ **Note:** Version bump only for package @operato/scene-label
133
+
134
+ ## [1.0.0-alpha.7](https://github.com/things-scene/operato-scene/compare/v1.0.0-alpha.6...v1.0.0-alpha.7) (2022-04-06)
135
+
136
+ **Note:** Version bump only for package @operato/scene-label
137
+
138
+ ## [1.0.0-alpha.6](https://github.com/things-scene/operato-scene/compare/v1.0.0-alpha.5...v1.0.0-alpha.6) (2022-04-05)
139
+
140
+ ### :bug: Bug Fix
141
+
142
+ - [@things-factory](https://github.com/things-factory) 5.0.0-alpha.36 ([459ce88](https://github.com/things-scene/operato-scene/commit/459ce884942ab11bcd1e9b9c6af7bf045b580a41))
143
+
144
+ ## [1.0.0-alpha.5](https://github.com/things-scene/operato-scene/compare/v1.0.0-alpha.4...v1.0.0-alpha.5) (2022-04-03)
145
+
146
+ ### :bug: Bug Fix
147
+
148
+ - upgrade lit and operato, things-factory ([f056300](https://github.com/things-scene/operato-scene/commit/f056300c0e2f85c41715d3178f12c39bf3110a34))
149
+
150
+ ## [1.0.0-alpha.4](https://github.com/things-scene/operato-scene/compare/v1.0.0-alpha.3...v1.0.0-alpha.4) (2022-03-13)
151
+
152
+ ### :bug: Bug Fix
153
+
154
+ - [@operato](https://github.com/operato) 1.0.0-alpha.17 ([a8a147c](https://github.com/things-scene/operato-scene/commit/a8a147c972ed571e35d210feb3bfbc7cd31f280b))
155
+
156
+ ## [1.0.0-alpha.3](https://github.com/things-scene/operato-scene/compare/v1.0.0-alpha.2...v1.0.0-alpha.3) (2022-03-13)
157
+
158
+ ### :bug: Bug Fix
159
+
160
+ - [@operato](https://github.com/operato) 1.0.0-alpha.17 ([52c63fe](https://github.com/things-scene/operato-scene/commit/52c63fe1efde1a8fe6a9dc3b6852b1b2e12322bf))
161
+
162
+ ## [1.0.0-alpha.2](https://github.com/things-scene/operato-scene/compare/v1.0.0-alpha.1...v1.0.0-alpha.2) (2022-03-13)
163
+
164
+ ### :bug: Bug Fix
165
+
166
+ - [@operato](https://github.com/operato) 1.0.0-alpha.14 ([c124d67](https://github.com/things-scene/operato-scene/commit/c124d672260ac940175a2a831f702aa3b5f5c996))
167
+
168
+ ## [1.0.0-alpha.1](https://github.com/things-scene/operato-scene/compare/v0.1.5...v1.0.0-alpha.1) (2022-03-13)
169
+
36
170
  ### :rocket: New Features
37
171
 
38
- * scene-label migrated from things-factory project ([3c9033c](https://github.com/things-scene/operato-scene/commit/3c9033c9af28bdd0377ac4a538ef7d4bfd38d488))
172
+ - [@operato](https://github.com/operato) 1.0.0-alpha and [@things-factory](https://github.com/things-factory) 5.0.0-alpha ([5f7f2d4](https://github.com/things-scene/operato-scene/commit/5f7f2d45ccc8300822e712c93948850bcdb43687))
173
+
174
+ ### [0.1.5](https://github.com/things-scene/operato-scene/compare/v0.1.4...v0.1.5) (2022-02-10)
175
+
176
+ ### :rocket: New Features
177
+
178
+ - move news-ticker to here ([c5e565d](https://github.com/things-scene/operato-scene/commit/c5e565dff6016977766e54b3b74c4f80838f7cd2))
179
+
180
+ ### [0.1.4](https://github.com/things-scene/operato-scene/compare/v0.1.3...v0.1.4) (2022-01-30)
181
+
182
+ ### :rocket: New Features
39
183
 
184
+ - scene-label migrated from things-factory project ([3c9033c](https://github.com/things-scene/operato-scene/commit/3c9033c9af28bdd0377ac4a538ef7d4bfd38d488))
40
185
 
41
186
  ### :bug: Bug Fix
42
187
 
43
- * applied [@operato](https://github.com/operato) 0.3.24 ([fb4fed0](https://github.com/things-scene/operato-scene/commit/fb4fed0d9fd44d6ae38db6359fdca15fc61f167c))
44
- * escape build error ([0258c5f](https://github.com/things-scene/operato-scene/commit/0258c5f6e01fae369607541c63aba64b412b99fe))
45
- * upgrade [@operato](https://github.com/operato) dependencies ([7d2478e](https://github.com/things-scene/operato-scene/commit/7d2478e72586b662e6c219f0720c78cde5dd7a2d))
46
- * upgrade [@things-factory](https://github.com/things-factory) and [@operato](https://github.com/operato) ([4d97897](https://github.com/things-scene/operato-scene/commit/4d978970d3c8aba6ecae99e3fa98e431a647e8cb))
188
+ - applied [@operato](https://github.com/operato) 0.3.24 ([fb4fed0](https://github.com/things-scene/operato-scene/commit/fb4fed0d9fd44d6ae38db6359fdca15fc61f167c))
189
+ - escape build error ([0258c5f](https://github.com/things-scene/operato-scene/commit/0258c5f6e01fae369607541c63aba64b412b99fe))
190
+ - upgrade [@operato](https://github.com/operato) dependencies ([7d2478e](https://github.com/things-scene/operato-scene/commit/7d2478e72586b662e6c219f0720c78cde5dd7a2d))
191
+ - upgrade [@things-factory](https://github.com/things-factory) and [@operato](https://github.com/operato) ([4d97897](https://github.com/things-scene/operato-scene/commit/4d978970d3c8aba6ecae99e3fa98e431a647e8cb))
Binary file
Binary file
@@ -2,7 +2,7 @@ import { ComponentNature, HTMLOverlayElement } from '@hatiolab/things-scene';
2
2
  import { OxInputBarcode } from '@operato/input';
3
3
  export default class BarcodeScanner extends HTMLOverlayElement {
4
4
  private _data;
5
- static get nature(): ComponentNature;
5
+ get nature(): ComponentNature;
6
6
  get data(): any;
7
7
  set data(data: any);
8
8
  dispose(): void;
@@ -6,11 +6,27 @@ const NATURE = {
6
6
  mutable: false,
7
7
  resizable: true,
8
8
  rotatable: true,
9
- properties: [],
9
+ properties: [
10
+ {
11
+ type: 'checkbox',
12
+ label: 'without-enter',
13
+ name: 'withoutEnter'
14
+ },
15
+ {
16
+ type: 'checkbox',
17
+ label: 'english-only',
18
+ name: 'englishOnly'
19
+ },
20
+ {
21
+ type: 'checkbox',
22
+ label: 'select-after-change',
23
+ name: 'selectAfterChange'
24
+ }
25
+ ],
10
26
  help: 'scene/component/barcode-scanner'
11
27
  };
12
28
  export default class BarcodeScanner extends HTMLOverlayElement {
13
- static get nature() {
29
+ get nature() {
14
30
  return NATURE;
15
31
  }
16
32
  get data() {
@@ -43,6 +59,10 @@ export default class BarcodeScanner extends HTMLOverlayElement {
43
59
  });
44
60
  }
45
61
  setElementProperties(input) {
62
+ const { withoutEnter = false, englishOnly = false, selectAfterChange = false } = this.state;
63
+ input.withoutEnter = withoutEnter;
64
+ input.englishOnly = englishOnly;
65
+ input.selectAfterChange = selectAfterChange;
46
66
  input.value = this._data = this.text;
47
67
  }
48
68
  get tagName() {
@@ -1 +1 @@
1
- {"version":3,"file":"barcode-scanner.js","sourceRoot":"","sources":["../src/barcode-scanner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAmB,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAGvF,MAAM,MAAM,GAAoB;IAC9B,OAAO,EAAE,KAAK;IACd,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,EAAE;IACd,IAAI,EAAE,iCAAiC;CACxC,CAAA;AAED,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,kBAAkB;IAG5D,MAAM,KAAK,MAAM;QACf,OAAO,MAAM,CAAA;IACf,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAED,IAAI,IAAI,CAAC,IAAI;QACX,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACjB,IAAI,CAAC,eAAe,EAAE,CAAA,CAAC,8BAA8B;IACvD,CAAC;IAED,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,CAAA;IACjB,CAAC;IAED,KAAK;QACH,KAAK,CAAC,KAAK,EAAE,CAAA;QACb,IAAI,SAAS,GAAG,IAAI,CAAC,OAAyB,CAAA;QAC9C,wBAAwB;QACxB,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAQ,EAAE,EAAE;YAC/C,IAAK,CAAmB,CAAC,GAAG,KAAK,OAAO,EAAE;gBACxC,CAAC,CAAC,cAAc,EAAE,CAAA;gBAClB,IAAI,SAAS,CAAC,KAAK,EAAE;oBACnB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAA;iBAClC;aACF;QACH,CAAC,CAAC,CAAA;QAEF,mBAAmB;QACnB,IAAI,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;QACzB,SAAS,CAAC,IAAI,GAAG,CAAC,CAAa,EAAE,EAAE,CACjC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YAChC,IAAI,SAAS,CAAC,KAAK;gBAAE,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAA;QACxD,CAAC,CAAC,CAAA;IACN,CAAC;IAED,oBAAoB,CAAC,KAAqB;QACxC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAA;IACtC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,kBAAkB,CAAA;IAC3B,CAAC;CACF;AAED,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAA","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 help: 'scene/component/barcode-scanner'\n}\n\nexport default class BarcodeScanner extends HTMLOverlayElement {\n private _data: any\n\n static 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 dispose() {\n super.dispose()\n }\n\n ready() {\n super.ready()\n var scanInput = this.element as OxInputBarcode\n // 엔터 키 입력 시 컴포넌트 데이터 세팅\n scanInput.addEventListener('keyup', (e: Event) => {\n if ((e as KeyboardEvent).key === 'Enter') {\n e.preventDefault()\n if (scanInput.input) {\n this.data = scanInput.input.value\n }\n }\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 setElementProperties(input: OxInputBarcode) {\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":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAmB,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAGvF,MAAM,MAAM,GAAoB;IAC9B,OAAO,EAAE,KAAK;IACd,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,UAAU,EAAE;QACV;YACE,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,cAAc;SACrB;QACD;YACE,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,cAAc;YACrB,IAAI,EAAE,aAAa;SACpB;QACD;YACE,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,qBAAqB;YAC5B,IAAI,EAAE,mBAAmB;SAC1B;KACF;IACD,IAAI,EAAE,iCAAiC;CACxC,CAAA;AAED,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,kBAAkB;IAG5D,IAAI,MAAM;QACR,OAAO,MAAM,CAAA;IACf,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAED,IAAI,IAAI,CAAC,IAAI;QACX,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACjB,IAAI,CAAC,eAAe,EAAE,CAAA,CAAC,8BAA8B;IACvD,CAAC;IAED,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,CAAA;IACjB,CAAC;IAED,KAAK;QACH,KAAK,CAAC,KAAK,EAAE,CAAA;QACb,IAAI,SAAS,GAAG,IAAI,CAAC,OAAyB,CAAA;QAC9C,wBAAwB;QACxB,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAQ,EAAE,EAAE;YAC/C,IAAK,CAAmB,CAAC,GAAG,KAAK,OAAO,EAAE;gBACxC,CAAC,CAAC,cAAc,EAAE,CAAA;gBAClB,IAAI,SAAS,CAAC,KAAK,EAAE;oBACnB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAA;iBAClC;aACF;QACH,CAAC,CAAC,CAAA;QAEF,mBAAmB;QACnB,IAAI,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;QACzB,SAAS,CAAC,IAAI,GAAG,CAAC,CAAa,EAAE,EAAE,CACjC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YAChC,IAAI,SAAS,CAAC,KAAK;gBAAE,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAA;QACxD,CAAC,CAAC,CAAA;IACN,CAAC;IAED,oBAAoB,CAAC,KAAqB;QACxC,MAAM,EAAE,YAAY,GAAG,KAAK,EAAE,WAAW,GAAG,KAAK,EAAE,iBAAiB,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAE3F,KAAK,CAAC,YAAY,GAAG,YAAY,CAAA;QACjC,KAAK,CAAC,WAAW,GAAG,WAAW,CAAA;QAC/B,KAAK,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;QAE3C,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAA;IACtC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,kBAAkB,CAAA;IAC3B,CAAC;CACF;AAED,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAA","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 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 dispose() {\n super.dispose()\n }\n\n ready() {\n super.ready()\n var scanInput = this.element as OxInputBarcode\n // 엔터 키 입력 시 컴포넌트 데이터 세팅\n scanInput.addEventListener('keyup', (e: Event) => {\n if ((e as KeyboardEvent).key === 'Enter') {\n e.preventDefault()\n if (scanInput.input) {\n this.data = scanInput.input.value\n }\n }\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 setElementProperties(input: OxInputBarcode) {\n const { withoutEnter = false, englishOnly = false, selectAfterChange = false } = this.state\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"]}
package/dist/barcode.d.ts CHANGED
@@ -3,7 +3,7 @@ declare const Barcode_base: typeof Shape;
3
3
  export default class Barcode extends Barcode_base {
4
4
  private _canvas?;
5
5
  private _image;
6
- static get nature(): ComponentNature;
6
+ get nature(): ComponentNature;
7
7
  get canvas(): HTMLCanvasElement;
8
8
  dispose(): void;
9
9
  ready(): void;
package/dist/barcode.js CHANGED
@@ -232,7 +232,7 @@ const NATURE = {
232
232
  };
233
233
  const REDRAW_PROPS = ['symbol', 'text', 'showText', 'height', 'width', 'paddingwidth', 'paddingheight'];
234
234
  export default class Barcode extends RectPath(Shape) {
235
- static get nature() {
235
+ get nature() {
236
236
  return NATURE;
237
237
  }
238
238
  get canvas() {
@@ -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\n// @ts-ignore\nimport bwipjs from '!bwip-js'\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 static 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 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, // 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\n// @ts-ignore\nimport bwipjs from '!bwip-js'\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 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, // 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"]}
@@ -3,8 +3,8 @@ declare const LabelPrinter_base: typeof Shape;
3
3
  export default class LabelPrinter extends LabelPrinter_base {
4
4
  private static _image;
5
5
  private printer?;
6
- static get nature(): ComponentNature;
7
6
  static get image(): HTMLImageElement;
7
+ get nature(): ComponentNature;
8
8
  dispose(): void;
9
9
  render(context: CanvasRenderingContext2D): void;
10
10
  onchange(after: Properties, before: Properties): void;
@@ -36,15 +36,17 @@ const NATURE = {
36
36
  type: 'board-selector',
37
37
  label: 'board id',
38
38
  name: 'boardId'
39
+ },
40
+ {
41
+ type: 'number',
42
+ label: 'copies',
43
+ name: 'copies'
39
44
  }
40
45
  ],
41
46
  'value-property': 'data',
42
47
  help: 'scene/component/label-printer'
43
48
  };
44
49
  export default class LabelPrinter extends RectPath(Shape) {
45
- static get nature() {
46
- return NATURE;
47
- }
48
50
  static get image() {
49
51
  if (!LabelPrinter._image) {
50
52
  LabelPrinter._image = new Image();
@@ -52,6 +54,9 @@ export default class LabelPrinter extends RectPath(Shape) {
52
54
  }
53
55
  return LabelPrinter._image;
54
56
  }
57
+ get nature() {
58
+ return NATURE;
59
+ }
55
60
  dispose() {
56
61
  super.dispose();
57
62
  }
@@ -81,7 +86,7 @@ export default class LabelPrinter extends RectPath(Shape) {
81
86
  */
82
87
  return;
83
88
  }
84
- var { directPrinter, boardId, vendorId } = this.state;
89
+ var { directPrinter, boardId, vendorId, copies = 1 } = this.state;
85
90
  var searchParams = new URLSearchParams();
86
91
  for (var key in data) {
87
92
  searchParams.append(key, data[key]);
@@ -103,7 +108,9 @@ export default class LabelPrinter extends RectPath(Shape) {
103
108
  : undefined)
104
109
  : new BrowserPrinter();
105
110
  }
106
- await this.printer.print(command);
111
+ for (var i = 0; i < copies; i++) {
112
+ await this.printer.print(command);
113
+ }
107
114
  }
108
115
  catch (err) {
109
116
  throw new Error(err);
@@ -1 +1 @@
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 } from '@hatiolab/things-scene'\n\nimport { BrowserPrinter } from './direct-print/browser-printer'\nimport { USBPrinter } from './direct-print/usb-printer'\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 '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 nature() {\n return NATURE\n }\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 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 } = 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 await this.printer.print(command)\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 } from '@hatiolab/things-scene'\n\nimport { BrowserPrinter } from './direct-print/browser-printer'\nimport { USBPrinter } from './direct-print/usb-printer'\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"]}
@@ -18,7 +18,7 @@
18
18
  이 기능은 [ZXing ("zebra crossing") 라이브러리](https://github.com/zxing/zxing) 를 활용하므로,
19
19
  다음의 바코드 형식을 스캔할 수 있다.
20
20
 
21
- ### Supported Formats
21
+ ### 지원되는 바코드 형식
22
22
 
23
23
  | 1D product | 1D industrial | 2D |
24
24
  | :-------------------- | :------------ | :----------- |
@@ -29,3 +29,21 @@
29
29
  | UPC/EAN Extension 2/5 | ITF | MaxiCode |
30
30
  | | | RSS-14 |
31
31
  | | | RSS-Expanded |
32
+
33
+ ### 속성
34
+
35
+ - 스캔시 엔터키 붙이지않음 (withoutEnter)
36
+
37
+ 카메라를 이용한 바코드 스캔시 바코드 값 맨뒤에 자동으로 엔터를 붙이지 않는다.
38
+ 기본값은 엔터키를 붙이는 것이다.
39
+ 엔터키가 붙여지면, 스캔 후 바로 change 이벤트가 발생해서 데이타 스프레드가 시작된다.
40
+
41
+ - 영어만 입력받음 (englishOnly)
42
+
43
+ 카메라 입력 또는 키보드 입력시에 멀티바이트(영문자 외의 문자들) 문자를 받지 않고 영문자만 입력을 받는다.
44
+ IME모드가 멀티바이트 상태이더라도, 각 키에 해당하는 영문으로 변경된다.
45
+ 멀티바이트 입력은 할 수 있지만, 엔터키가 발생할 때 또는 blur이벤트가 발생할 때 멀티바이트 문자들은 제거된 후에 change이벤트가 발생한다.
46
+
47
+ - 변경후 전체 선택 (selectAfterChange)
48
+
49
+ 엔터키나 blur 등에 의해서 change 이벤트가 발생하면, 전체 문자열이 선택된 상태가 된다. 이 경우에는 다음 값이 입력될 때 기존 값이 삭제되고 공백에서 새로운 값을 입력할 수 있으므로 이런 동작이 편리한 경우가 있다.
@@ -29,3 +29,21 @@ The following barcode formats can be scanned.
29
29
  | UPC/EAN Extension 2/5 | ITF | MaxiCode |
30
30
  | | | RSS-14 |
31
31
  | | | RSS-Expanded |
32
+
33
+ ### properties
34
+
35
+ - without enter key (withoutEnter)
36
+
37
+ When scanning barcodes using the camera, "Enter key" is not automatically added to the end of the barcode value.
38
+ The default is to attach the Enter key.
39
+ When the Enter key is pressed, a change event occurs immediately after scanning, and data spread begins.
40
+
41
+ - english input only (englishOnly)
42
+
43
+ When inputting from the camera or keyboard, multi-byte (non-English characters) characters are not received, only English characters are input.
44
+ Even if the IME mode is in multi-byte state, it is changed to English corresponding to each key.
45
+ Multi-byte input is possible, but the change event occurs after the multi-byte characters are removed when the enter key occurs or when the blur event occurs.
46
+
47
+ - select over change (selectAfterChange)
48
+
49
+ When a change event occurs by the enter key or blur, the entire string is selected. In this case, when the next value is input, the existing value is deleted and a new value can be entered in the blank, so this operation is convenient in some cases.
@@ -10,8 +10,8 @@
10
10
 
11
11
  输入完成后,会将输入值应用于数据,以便可以将数据与数据散布绑定。
12
12
 
13
- 如果通过浏览器使用摄像头设备,因此使用摄像头的条形码扫描功能仅在通过HTTPS连接时有效。
14
- (所以,如果主机是localhost,则输出功能会异常工作。)
13
+ 如果通过浏览器使用摄像头设备,因此使用摄像头的条形码扫描功能仅在通过 HTTPS 连接时有效。
14
+ (所以,如果主机是 localhost,则输出功能会异常工作。)
15
15
 
16
16
  ## 条形码兼容性
17
17
 
@@ -29,3 +29,21 @@
29
29
  | UPC/EAN Extension 2/5 | ITF | MaxiCode |
30
30
  | | | RSS-14 |
31
31
  | | | RSS-Expanded |
32
+
33
+ ## properties
34
+
35
+ - 没有回车键(withoutEnter)
36
+
37
+ 使用相机扫描条码时,“回车键”不会自动添加到条码值的末尾。
38
+ 默认设置是附加 Enter 键。
39
+ 当按下 Enter 键时,扫描后立即发生更改事件,并开始数据传播。
40
+
41
+ - 仅英文输入(englishOnly)
42
+
43
+ 从相机或键盘输入时,不接收多字节(非英文字符)字符,仅输入英文字符。
44
+ 即使 IME 模式是多字节状态,也会变成对应每个键的英文。
45
+ 多字节输入是可能的,但是当发生回车键或发生模糊事件时,更改事件发生在多字节字符被删除之后。
46
+
47
+ - 选择过度变化(selectAfterChange)
48
+
49
+ 当 enter 键或 blur 发生更改事件时,将选择整个字符串。在这种情况下,当输入下一个值时,现有的值会被删除,在空白处可以输入一个新的值,所以这种操作在某些情况下是很方便的。
@@ -1,4 +1,4 @@
1
- # label printer
1
+ # Label Printer
2
2
 
3
3
  USB를 통해서 연결된 프린터에, 주어진 라벨보드를 프린트하는 컴포넌트이다.
4
4
  현재, Zebra의 ZPL 중 이미지(GRF Format) 커맨드를 통해서 프린트하는 기능만을 지원한다.
@@ -21,15 +21,17 @@ USB를 통해서 연결된 프린터에, 주어진 라벨보드를 프린트하
21
21
  - Opera Android +45
22
22
  - Samsung Internet +8.0
23
23
 
24
- ## properties
24
+ ## Properties
25
25
 
26
- - vendor id
26
+ - 공급자 ID (vendorId)
27
27
  - USB 포트에 연결된 프린터 벤더의 ID를 설정한다.
28
28
  - 예를 들어, Zebra 의 Vendor ID는 '0x0A5F' 이다.
29
29
  - 필수 입력 항목이 아니며, 입력하지 않은 경우에는 기본으로 Zebra Vendor ID가 사용된다.
30
30
  - 프린트 시점에 브라우저에서 팝업되는 프린트연결 목록에서 대상 프린터를 선택할 수 있다.
31
- - board id
31
+ - 보드 ID (boardId)
32
32
  - 프린트하고자 하는 보드를 선택한다.
33
+ - 프린트 매수 (copies)
34
+ - 몇장을 프린트할 것인지 설정 (디풀트 값은 1매)
33
35
  - value
34
36
  - 이 컴포넌트의 value와 연결된 속성은 'data' 이다.
35
37
  - value가 오브젝트가 아니거나, 비어있는 경우에는 프린트되지 않는다.