@things-factory/barcode-base 8.0.0 → 9.0.0-beta.3
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/dist-client/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
- package/client/bootstrap.ts +0 -42
- package/client/default-label-printer-setting-let.ts +0 -78
- package/client/direct-print.ts +0 -20
- package/client/handlers/browser-printer-handler.ts +0 -25
- package/client/handlers/label-printer-handler.ts +0 -46
- package/client/handlers/usb-label-printer-handler.ts +0 -20
- package/client/index.ts +0 -2
- package/server/index.ts +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@things-factory/barcode-base",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "9.0.0-beta.3",
|
|
4
4
|
"main": "dist-server/index.js",
|
|
5
5
|
"browser": "dist-client/index.js",
|
|
6
6
|
"things-factory": true,
|
|
@@ -27,9 +27,9 @@
|
|
|
27
27
|
"migration:create": "node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@operato/barcode": "^
|
|
31
|
-
"@things-factory/print-base": "^
|
|
30
|
+
"@operato/barcode": "^9.0.0-beta",
|
|
31
|
+
"@things-factory/print-base": "^9.0.0-beta.3",
|
|
32
32
|
"@zxing/library": "^0.21.1"
|
|
33
33
|
},
|
|
34
|
-
"gitHead": "
|
|
34
|
+
"gitHead": "1d7e0dd4c88f3c3f3bd311c00e4b1d1542d53634"
|
|
35
35
|
}
|
package/client/bootstrap.ts
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { store } from '@operato/shell'
|
|
2
|
-
import { REGISTER_PRINTER_TYPE } from '@things-factory/print-base/client'
|
|
3
|
-
import { labelPrinterHandler } from './handlers/label-printer-handler'
|
|
4
|
-
|
|
5
|
-
export default function bootstrap() {
|
|
6
|
-
store.dispatch({
|
|
7
|
-
type: REGISTER_PRINTER_TYPE,
|
|
8
|
-
printerType: 'label',
|
|
9
|
-
handler: labelPrinterHandler
|
|
10
|
-
})
|
|
11
|
-
|
|
12
|
-
/* if support webusb */
|
|
13
|
-
if ('usb' in navigator) {
|
|
14
|
-
import('./handlers/usb-label-printer-handler').then(handler =>
|
|
15
|
-
store.dispatch({
|
|
16
|
-
type: REGISTER_PRINTER_TYPE,
|
|
17
|
-
printerType: 'usb',
|
|
18
|
-
handler: handler.usbLabelPrinterHandler,
|
|
19
|
-
staticPrinters: [
|
|
20
|
-
{
|
|
21
|
-
name: 'USB Printer',
|
|
22
|
-
type: 'usb'
|
|
23
|
-
}
|
|
24
|
-
]
|
|
25
|
-
})
|
|
26
|
-
)
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
import('./handlers/browser-printer-handler').then(handler =>
|
|
30
|
-
store.dispatch({
|
|
31
|
-
type: REGISTER_PRINTER_TYPE,
|
|
32
|
-
printerType: 'zebra-browser-print',
|
|
33
|
-
handler: handler.browserPrinterHandler,
|
|
34
|
-
staticPrinters: [
|
|
35
|
-
{
|
|
36
|
-
name: 'Browser Print for Zebra Printer',
|
|
37
|
-
type: 'zebra-browser-print'
|
|
38
|
-
}
|
|
39
|
-
]
|
|
40
|
-
})
|
|
41
|
-
)
|
|
42
|
-
}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import '@things-factory/setting-base'
|
|
2
|
-
import '@material/web/select/outlined-select'
|
|
3
|
-
|
|
4
|
-
import '@operato/i18n/ox-i18n.js'
|
|
5
|
-
|
|
6
|
-
import { css, html, LitElement } from 'lit'
|
|
7
|
-
import { customElement, property } from 'lit/decorators.js'
|
|
8
|
-
|
|
9
|
-
import { i18next, localize } from '@operato/i18n'
|
|
10
|
-
import { clientSettingStore } from '@operato/shell'
|
|
11
|
-
|
|
12
|
-
@customElement('default-label-printer-setting-let')
|
|
13
|
-
export class DefaultLabelPrinterSettingLet extends localize(i18next)(LitElement) {
|
|
14
|
-
static styles = [
|
|
15
|
-
css`
|
|
16
|
-
label {
|
|
17
|
-
display: flex;
|
|
18
|
-
gap: 10px;
|
|
19
|
-
align-items: center;
|
|
20
|
-
|
|
21
|
-
font: var(--label-font);
|
|
22
|
-
color: var(--label-color, var(--md-sys-color-on-surface));
|
|
23
|
-
text-transform: var(--label-text-transform);
|
|
24
|
-
}
|
|
25
|
-
`
|
|
26
|
-
]
|
|
27
|
-
|
|
28
|
-
@property({ type: String }) printerType?: 'direct-usb' | 'zebra-browser-print'
|
|
29
|
-
|
|
30
|
-
render() {
|
|
31
|
-
return html`
|
|
32
|
-
<setting-let>
|
|
33
|
-
<ox-i18n slot="title" msgid="title.default label printer"></ox-i18n>
|
|
34
|
-
|
|
35
|
-
<div slot="content">
|
|
36
|
-
<md-outlined-select
|
|
37
|
-
label=${String(i18next.t('label.default label printer'))}
|
|
38
|
-
group
|
|
39
|
-
helper="Please select which printer connection type to use for label printing."
|
|
40
|
-
@change=${(e: Event) => this.onChange(e)}
|
|
41
|
-
>
|
|
42
|
-
<md-select-option aria-label="blank"></md-select-option>
|
|
43
|
-
<md-select-option value="direct-usb" ?selected=${this.printerType == 'direct-usb'}>
|
|
44
|
-
<div slot="headline">usb connected printer</div>
|
|
45
|
-
</md-select-option>
|
|
46
|
-
<md-select-option value="zebra-browser-print" ?selected=${this.printerType == 'zebra-browser-print'}>
|
|
47
|
-
<div slot="headline">zebra browser print</div>
|
|
48
|
-
</md-select-option>
|
|
49
|
-
</md-outlined-select>
|
|
50
|
-
</div>
|
|
51
|
-
</setting-let>
|
|
52
|
-
`
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
async firstUpdated() {
|
|
56
|
-
this.printerType = (await clientSettingStore.get('default-label-printer-type'))?.value || 'direct-usb'
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
async onChange(e: Event) {
|
|
60
|
-
const value = (e.target as HTMLInputElement).value
|
|
61
|
-
|
|
62
|
-
const valueFromStore = (await clientSettingStore.get('default-label-printer-type'))?.value
|
|
63
|
-
if (!value || value == valueFromStore) {
|
|
64
|
-
return
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
try {
|
|
68
|
-
await clientSettingStore.put({
|
|
69
|
-
key: 'default-label-printer-type',
|
|
70
|
-
value
|
|
71
|
-
})
|
|
72
|
-
} catch (e) {
|
|
73
|
-
console.error(e)
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
location.reload()
|
|
77
|
-
}
|
|
78
|
-
}
|
package/client/direct-print.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { BrowserPrinter, USBPrinter } from '@operato/barcode'
|
|
2
|
-
import { clientSettingStore } from '@operato/shell'
|
|
3
|
-
|
|
4
|
-
export class DirectPrinter {
|
|
5
|
-
private printer?: USBPrinter | BrowserPrinter
|
|
6
|
-
|
|
7
|
-
async getPrinter() {
|
|
8
|
-
const v = await clientSettingStore.get('default-label-printer-type')
|
|
9
|
-
const printerType = v?.value || 'direct-usb'
|
|
10
|
-
this.printer = printerType == 'direct-usb' ? new USBPrinter() : new BrowserPrinter()
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
async print(command) {
|
|
14
|
-
if (!this.printer) {
|
|
15
|
-
await this.getPrinter()
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
await this.printer?.print(command)
|
|
19
|
-
}
|
|
20
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { BrowserPrinter } from '@operato/barcode'
|
|
2
|
-
|
|
3
|
-
var printer
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Zebra의 BrowserPrinter를 이용한 프린트 기능을 제공한다.
|
|
7
|
-
* (https://www.zebra.com/us/en/products/software/barcode-printers/link-os/browser-print.html)
|
|
8
|
-
*
|
|
9
|
-
*/
|
|
10
|
-
export async function browserPrinterHandler(
|
|
11
|
-
{ type: printerType, name: printerName, txtRecord },
|
|
12
|
-
{ accept, content, name, options }
|
|
13
|
-
) {
|
|
14
|
-
const board = typeof content == 'function' ? await content.call() : content
|
|
15
|
-
|
|
16
|
-
try {
|
|
17
|
-
if (!printer) {
|
|
18
|
-
printer = new BrowserPrinter()
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
await printer.print(board)
|
|
22
|
-
} catch (e: any) {
|
|
23
|
-
throw new Error(e)
|
|
24
|
-
}
|
|
25
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
export async function labelPrinterHandler(
|
|
2
|
-
{ type: printerType, name: printerName, txtRecord },
|
|
3
|
-
{ accept, content, name, options }
|
|
4
|
-
) {
|
|
5
|
-
var { ['service-url']: serviceUrl } = txtRecord
|
|
6
|
-
/* content should be a element */
|
|
7
|
-
const board = typeof content == 'function' ? await content.call() : content
|
|
8
|
-
|
|
9
|
-
/*
|
|
10
|
-
* 프린트 서비스를 호출한다.
|
|
11
|
-
* 서비스명 : GET /print-label/${content.id}?printerId=${name}
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
// const response = await fetch(`/print-label/${board.id}?printerId=${printerName}`, {
|
|
15
|
-
// method: 'GET',
|
|
16
|
-
// credentials: 'include',
|
|
17
|
-
// headers: {
|
|
18
|
-
// 'Content-Type': 'application/json',
|
|
19
|
-
// Accept: 'application/json'
|
|
20
|
-
// }
|
|
21
|
-
// })
|
|
22
|
-
|
|
23
|
-
/*
|
|
24
|
-
* 프린트 서비스를 호출한다.
|
|
25
|
-
* 서비스명 : POST /print
|
|
26
|
-
* 파라미터 : printerId, data
|
|
27
|
-
*/
|
|
28
|
-
const response = await fetch(`${serviceUrl ? serviceUrl : ''}/print`, {
|
|
29
|
-
method: 'POST',
|
|
30
|
-
credentials: 'include',
|
|
31
|
-
headers: {
|
|
32
|
-
'Content-Type': 'application/json',
|
|
33
|
-
Accept: 'application/json'
|
|
34
|
-
},
|
|
35
|
-
body: JSON.stringify({
|
|
36
|
-
printerId: printerName,
|
|
37
|
-
data: board
|
|
38
|
-
})
|
|
39
|
-
})
|
|
40
|
-
|
|
41
|
-
if (response.ok) {
|
|
42
|
-
return true
|
|
43
|
-
} else {
|
|
44
|
-
throw new Error(String(response.status))
|
|
45
|
-
}
|
|
46
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { USBPrinter } from '@operato/barcode'
|
|
2
|
-
|
|
3
|
-
var printer
|
|
4
|
-
|
|
5
|
-
export async function usbLabelPrinterHandler(
|
|
6
|
-
{ type: printerType, name: printerName, txtRecord },
|
|
7
|
-
{ accept, content, name, options }
|
|
8
|
-
) {
|
|
9
|
-
const board = typeof content == 'function' ? await content.call() : content
|
|
10
|
-
|
|
11
|
-
try {
|
|
12
|
-
if (!printer) {
|
|
13
|
-
printer = new USBPrinter()
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
await printer.connectAndPrint(board)
|
|
17
|
-
} catch (e: any) {
|
|
18
|
-
throw new Error(e)
|
|
19
|
-
}
|
|
20
|
-
}
|
package/client/index.ts
DELETED
package/server/index.ts
DELETED
|
File without changes
|