@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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/barcode-base",
3
- "version": "8.0.0",
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": "^8.0.0",
31
- "@things-factory/print-base": "^8.0.0",
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": "07ef27d272dd9a067a9648ac7013748510556a18"
34
+ "gitHead": "1d7e0dd4c88f3c3f3bd311c00e4b1d1542d53634"
35
35
  }
@@ -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
- }
@@ -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
@@ -1,2 +0,0 @@
1
- export * from './direct-print'
2
- export * from './default-label-printer-setting-let'
package/server/index.ts DELETED
File without changes