@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.
- package/CHANGELOG.md +158 -13
- package/assets/favicon.ico +0 -0
- package/assets/images/spinner.png +0 -0
- package/dist/barcode-scanner.d.ts +1 -1
- package/dist/barcode-scanner.js +22 -2
- package/dist/barcode-scanner.js.map +1 -1
- package/dist/barcode.d.ts +1 -1
- package/dist/barcode.js +1 -1
- package/dist/barcode.js.map +1 -1
- package/dist/label-printer.d.ts +1 -1
- package/dist/label-printer.js +12 -5
- package/dist/label-printer.js.map +1 -1
- package/helps/scene/component/barcode-scanner.ko.md +19 -1
- package/helps/scene/component/barcode-scanner.md +18 -0
- package/helps/scene/component/barcode-scanner.zh.md +20 -2
- package/helps/scene/component/label-printer.ko.md +6 -4
- package/helps/scene/component/label-printer.md +11 -11
- package/helps/scene/component/label-printer.zh.md +15 -13
- package/logs/.08636eb59927f12972f6774f5947c8507b3564c2-audit.json +15 -0
- package/logs/.5e5d741d8b7784a2fbad65eedc0fd46946aaf6f2-audit.json +30 -0
- package/logs/application-2022-06-15-23.log +4 -0
- package/logs/connections-2022-06-09-23.log +70 -0
- package/logs/connections-2022-06-13-11.log +35 -0
- package/logs/connections-2022-06-13-12.log +35 -0
- package/logs/connections-2022-06-15-23.log +35 -0
- package/package.json +7 -7
- package/src/barcode-scanner.ts +24 -2
- package/src/barcode.ts +1 -1
- package/src/label-printer.ts +13 -6
- package/translations/en.json +5 -1
- package/translations/ko.json +5 -1
- package/translations/ms.json +6 -2
- package/translations/zh.json +8 -4
- 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.
|
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
|
-
*
|
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.
|
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
|
-
### :
|
19
|
+
### :bug: Bug Fix
|
19
20
|
|
20
|
-
* [@operato](https://github.com/operato)
|
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
|
-
|
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
|
-
*
|
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
|
-
|
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
|
-
|
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
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
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
|
-
|
5
|
+
get nature(): ComponentNature;
|
6
6
|
get data(): any;
|
7
7
|
set data(data: any);
|
8
8
|
dispose(): void;
|
package/dist/barcode-scanner.js
CHANGED
@@ -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
|
-
|
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;
|
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
|
-
|
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
|
-
|
235
|
+
get nature() {
|
236
236
|
return NATURE;
|
237
237
|
}
|
238
238
|
get canvas() {
|
package/dist/barcode.js.map
CHANGED
@@ -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"]}
|
package/dist/label-printer.d.ts
CHANGED
@@ -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;
|
package/dist/label-printer.js
CHANGED
@@ -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
|
-
|
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":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAA+B,QAAQ,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAEhG,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAEvD,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;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,
|
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
|
-
###
|
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
|
-
#
|
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
|
-
##
|
24
|
+
## Properties
|
25
25
|
|
26
|
-
-
|
26
|
+
- 공급자 ID (vendorId)
|
27
27
|
- USB 포트에 연결된 프린터 벤더의 ID를 설정한다.
|
28
28
|
- 예를 들어, Zebra 의 Vendor ID는 '0x0A5F' 이다.
|
29
29
|
- 필수 입력 항목이 아니며, 입력하지 않은 경우에는 기본으로 Zebra Vendor ID가 사용된다.
|
30
30
|
- 프린트 시점에 브라우저에서 팝업되는 프린트연결 목록에서 대상 프린터를 선택할 수 있다.
|
31
|
-
-
|
31
|
+
- 보드 ID (boardId)
|
32
32
|
- 프린트하고자 하는 보드를 선택한다.
|
33
|
+
- 프린트 매수 (copies)
|
34
|
+
- 몇장을 프린트할 것인지 설정 (디풀트 값은 1매)
|
33
35
|
- value
|
34
36
|
- 이 컴포넌트의 value와 연결된 속성은 'data' 이다.
|
35
37
|
- value가 오브젝트가 아니거나, 비어있는 경우에는 프린트되지 않는다.
|