@things-factory/barcode-base 7.0.1-beta.9 → 7.0.1-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/client/{bootstrap.js → bootstrap.ts} +1 -2
  2. package/client/default-label-printer-setting-let.ts +78 -0
  3. package/client/{direct-print.js → direct-print.ts} +1 -1
  4. package/client/handlers/{browser-printer-handler.js → browser-printer-handler.ts} +1 -1
  5. package/client/handlers/{label-printer-handler.js → label-printer-handler.ts} +1 -1
  6. package/client/handlers/{usb-label-printer-handler.js → usb-label-printer-handler.ts} +1 -1
  7. package/dist-client/bootstrap.d.ts +1 -0
  8. package/dist-client/bootstrap.js +36 -0
  9. package/dist-client/bootstrap.js.map +1 -0
  10. package/dist-client/default-label-printer-setting-let.d.ts +13 -0
  11. package/dist-client/default-label-printer-setting-let.js +78 -0
  12. package/dist-client/default-label-printer-setting-let.js.map +1 -0
  13. package/dist-client/direct-print.d.ts +5 -0
  14. package/dist-client/direct-print.js +17 -0
  15. package/dist-client/direct-print.js.map +1 -0
  16. package/dist-client/handlers/browser-printer-handler.d.ts +15 -0
  17. package/dist-client/handlers/browser-printer-handler.js +20 -0
  18. package/dist-client/handlers/browser-printer-handler.js.map +1 -0
  19. package/dist-client/handlers/label-printer-handler.d.ts +10 -0
  20. package/dist-client/handlers/label-printer-handler.js +41 -0
  21. package/dist-client/handlers/label-printer-handler.js.map +1 -0
  22. package/dist-client/handlers/usb-label-printer-handler.d.ts +10 -0
  23. package/dist-client/handlers/usb-label-printer-handler.js +15 -0
  24. package/dist-client/handlers/usb-label-printer-handler.js.map +1 -0
  25. package/dist-client/index.d.ts +2 -0
  26. package/dist-client/index.js +3 -0
  27. package/dist-client/index.js.map +1 -0
  28. package/dist-client/tsconfig.tsbuildinfo +1 -0
  29. package/dist-server/index.d.ts +0 -0
  30. package/dist-server/tsconfig.tsbuildinfo +1 -1
  31. package/package.json +13 -11
  32. package/client/default-label-printer-setting-let.js +0 -86
  33. /package/client/{index.js → index.ts} +0 -0
@@ -1,5 +1,4 @@
1
1
  import { store } from '@operato/shell'
2
-
3
2
  import { REGISTER_PRINTER_TYPE } from '@things-factory/print-base/client'
4
3
  import { labelPrinterHandler } from './handlers/label-printer-handler'
5
4
 
@@ -11,7 +10,7 @@ export default function bootstrap() {
11
10
  })
12
11
 
13
12
  /* if support webusb */
14
- if (navigator.usb) {
13
+ if ('usb' in navigator) {
15
14
  import('./handlers/usb-label-printer-handler').then(handler =>
16
15
  store.dispatch({
17
16
  type: REGISTER_PRINTER_TYPE,
@@ -0,0 +1,78 @@
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
+ }
@@ -2,7 +2,7 @@ import { BrowserPrinter, USBPrinter } from '@operato/barcode'
2
2
  import { clientSettingStore } from '@operato/shell'
3
3
 
4
4
  export class DirectPrinter {
5
- constructor() {}
5
+ private printer?: USBPrinter | BrowserPrinter
6
6
 
7
7
  async getPrinter() {
8
8
  const v = await clientSettingStore.get('default-label-printer-type')
@@ -19,7 +19,7 @@ export async function browserPrinterHandler(
19
19
  }
20
20
 
21
21
  await printer.print(board)
22
- } catch (e) {
22
+ } catch (e: any) {
23
23
  throw new Error(e)
24
24
  }
25
25
  }
@@ -41,6 +41,6 @@ export async function labelPrinterHandler(
41
41
  if (response.ok) {
42
42
  return true
43
43
  } else {
44
- throw new Error(response.status)
44
+ throw new Error(String(response.status))
45
45
  }
46
46
  }
@@ -14,7 +14,7 @@ export async function usbLabelPrinterHandler(
14
14
  }
15
15
 
16
16
  await printer.connectAndPrint(board)
17
- } catch (e) {
17
+ } catch (e: any) {
18
18
  throw new Error(e)
19
19
  }
20
20
  }
@@ -0,0 +1 @@
1
+ export default function bootstrap(): void;
@@ -0,0 +1,36 @@
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
+ export default function bootstrap() {
5
+ store.dispatch({
6
+ type: REGISTER_PRINTER_TYPE,
7
+ printerType: 'label',
8
+ handler: labelPrinterHandler
9
+ });
10
+ /* if support webusb */
11
+ if ('usb' in navigator) {
12
+ import('./handlers/usb-label-printer-handler').then(handler => store.dispatch({
13
+ type: REGISTER_PRINTER_TYPE,
14
+ printerType: 'usb',
15
+ handler: handler.usbLabelPrinterHandler,
16
+ staticPrinters: [
17
+ {
18
+ name: 'USB Printer',
19
+ type: 'usb'
20
+ }
21
+ ]
22
+ }));
23
+ }
24
+ import('./handlers/browser-printer-handler').then(handler => store.dispatch({
25
+ type: REGISTER_PRINTER_TYPE,
26
+ printerType: 'zebra-browser-print',
27
+ handler: handler.browserPrinterHandler,
28
+ staticPrinters: [
29
+ {
30
+ name: 'Browser Print for Zebra Printer',
31
+ type: 'zebra-browser-print'
32
+ }
33
+ ]
34
+ }));
35
+ }
36
+ //# sourceMappingURL=bootstrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../client/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AAEtE,MAAM,CAAC,OAAO,UAAU,SAAS;IAC/B,KAAK,CAAC,QAAQ,CAAC;QACb,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,OAAO;QACpB,OAAO,EAAE,mBAAmB;KAC7B,CAAC,CAAA;IAEF,uBAAuB;IACvB,IAAI,KAAK,IAAI,SAAS,EAAE,CAAC;QACvB,MAAM,CAAC,sCAAsC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAC5D,KAAK,CAAC,QAAQ,CAAC;YACb,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,KAAK;YAClB,OAAO,EAAE,OAAO,CAAC,sBAAsB;YACvC,cAAc,EAAE;gBACd;oBACE,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,KAAK;iBACZ;aACF;SACF,CAAC,CACH,CAAA;IACH,CAAC;IAED,MAAM,CAAC,oCAAoC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAC1D,KAAK,CAAC,QAAQ,CAAC;QACb,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,qBAAqB;QAClC,OAAO,EAAE,OAAO,CAAC,qBAAqB;QACtC,cAAc,EAAE;YACd;gBACE,IAAI,EAAE,iCAAiC;gBACvC,IAAI,EAAE,qBAAqB;aAC5B;SACF;KACF,CAAC,CACH,CAAA;AACH,CAAC","sourcesContent":["import { store } from '@operato/shell'\nimport { REGISTER_PRINTER_TYPE } from '@things-factory/print-base/client'\nimport { labelPrinterHandler } from './handlers/label-printer-handler'\n\nexport default function bootstrap() {\n store.dispatch({\n type: REGISTER_PRINTER_TYPE,\n printerType: 'label',\n handler: labelPrinterHandler\n })\n\n /* if support webusb */\n if ('usb' in navigator) {\n import('./handlers/usb-label-printer-handler').then(handler =>\n store.dispatch({\n type: REGISTER_PRINTER_TYPE,\n printerType: 'usb',\n handler: handler.usbLabelPrinterHandler,\n staticPrinters: [\n {\n name: 'USB Printer',\n type: 'usb'\n }\n ]\n })\n )\n }\n\n import('./handlers/browser-printer-handler').then(handler =>\n store.dispatch({\n type: REGISTER_PRINTER_TYPE,\n printerType: 'zebra-browser-print',\n handler: handler.browserPrinterHandler,\n staticPrinters: [\n {\n name: 'Browser Print for Zebra Printer',\n type: 'zebra-browser-print'\n }\n ]\n })\n )\n}\n"]}
@@ -0,0 +1,13 @@
1
+ import '@things-factory/setting-base';
2
+ import '@material/web/select/outlined-select';
3
+ import '@operato/i18n/ox-i18n.js';
4
+ import { LitElement } from 'lit';
5
+ declare const DefaultLabelPrinterSettingLet_base: (new (...args: any[]) => LitElement) & typeof LitElement;
6
+ export declare class DefaultLabelPrinterSettingLet extends DefaultLabelPrinterSettingLet_base {
7
+ static styles: import("lit").CSSResult[];
8
+ printerType?: 'direct-usb' | 'zebra-browser-print';
9
+ render(): import("lit-html").TemplateResult<1>;
10
+ firstUpdated(): Promise<void>;
11
+ onChange(e: Event): Promise<void>;
12
+ }
13
+ export {};
@@ -0,0 +1,78 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import '@things-factory/setting-base';
3
+ import '@material/web/select/outlined-select';
4
+ import '@operato/i18n/ox-i18n.js';
5
+ import { css, html, LitElement } from 'lit';
6
+ import { customElement, property } from 'lit/decorators.js';
7
+ import { i18next, localize } from '@operato/i18n';
8
+ import { clientSettingStore } from '@operato/shell';
9
+ let DefaultLabelPrinterSettingLet = class DefaultLabelPrinterSettingLet extends localize(i18next)(LitElement) {
10
+ render() {
11
+ return html `
12
+ <setting-let>
13
+ <ox-i18n slot="title" msgid="title.default label printer"></ox-i18n>
14
+
15
+ <div slot="content">
16
+ <md-outlined-select
17
+ label=${String(i18next.t('label.default label printer'))}
18
+ group
19
+ helper="Please select which printer connection type to use for label printing."
20
+ @change=${(e) => this.onChange(e)}
21
+ >
22
+ <md-select-option aria-label="blank"></md-select-option>
23
+ <md-select-option value="direct-usb" ?selected=${this.printerType == 'direct-usb'}>
24
+ <div slot="headline">usb connected printer</div>
25
+ </md-select-option>
26
+ <md-select-option value="zebra-browser-print" ?selected=${this.printerType == 'zebra-browser-print'}>
27
+ <div slot="headline">zebra browser print</div>
28
+ </md-select-option>
29
+ </md-outlined-select>
30
+ </div>
31
+ </setting-let>
32
+ `;
33
+ }
34
+ async firstUpdated() {
35
+ var _a;
36
+ this.printerType = ((_a = (await clientSettingStore.get('default-label-printer-type'))) === null || _a === void 0 ? void 0 : _a.value) || 'direct-usb';
37
+ }
38
+ async onChange(e) {
39
+ var _a;
40
+ const value = e.target.value;
41
+ const valueFromStore = (_a = (await clientSettingStore.get('default-label-printer-type'))) === null || _a === void 0 ? void 0 : _a.value;
42
+ if (!value || value == valueFromStore) {
43
+ return;
44
+ }
45
+ try {
46
+ await clientSettingStore.put({
47
+ key: 'default-label-printer-type',
48
+ value
49
+ });
50
+ }
51
+ catch (e) {
52
+ console.error(e);
53
+ }
54
+ location.reload();
55
+ }
56
+ };
57
+ DefaultLabelPrinterSettingLet.styles = [
58
+ css `
59
+ label {
60
+ display: flex;
61
+ gap: 10px;
62
+ align-items: center;
63
+
64
+ font: var(--label-font);
65
+ color: var(--label-color, var(--md-sys-color-on-surface));
66
+ text-transform: var(--label-text-transform);
67
+ }
68
+ `
69
+ ];
70
+ __decorate([
71
+ property({ type: String }),
72
+ __metadata("design:type", String)
73
+ ], DefaultLabelPrinterSettingLet.prototype, "printerType", void 0);
74
+ DefaultLabelPrinterSettingLet = __decorate([
75
+ customElement('default-label-printer-setting-let')
76
+ ], DefaultLabelPrinterSettingLet);
77
+ export { DefaultLabelPrinterSettingLet };
78
+ //# sourceMappingURL=default-label-printer-setting-let.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-label-printer-setting-let.js","sourceRoot":"","sources":["../client/default-label-printer-setting-let.ts"],"names":[],"mappings":";AAAA,OAAO,8BAA8B,CAAA;AACrC,OAAO,sCAAsC,CAAA;AAE7C,OAAO,0BAA0B,CAAA;AAEjC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE3D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAG5C,IAAM,6BAA6B,GAAnC,MAAM,6BAA8B,SAAQ,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;IAiB9E,MAAM;QACJ,OAAO,IAAI,CAAA;;;;;;oBAMK,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC;;;sBAG9C,CAAC,CAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;;;6DAGS,IAAI,CAAC,WAAW,IAAI,YAAY;;;sEAGvB,IAAI,CAAC,WAAW,IAAI,qBAAqB;;;;;;KAM1G,CAAA;IACH,CAAC;IAED,KAAK,CAAC,YAAY;;QAChB,IAAI,CAAC,WAAW,GAAG,CAAA,MAAA,CAAC,MAAM,kBAAkB,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,0CAAE,KAAK,KAAI,YAAY,CAAA;IACxG,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,CAAQ;;QACrB,MAAM,KAAK,GAAI,CAAC,CAAC,MAA2B,CAAC,KAAK,CAAA;QAElD,MAAM,cAAc,GAAG,MAAA,CAAC,MAAM,kBAAkB,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,0CAAE,KAAK,CAAA;QAC1F,IAAI,CAAC,KAAK,IAAI,KAAK,IAAI,cAAc,EAAE,CAAC;YACtC,OAAM;QACR,CAAC;QAED,IAAI,CAAC;YACH,MAAM,kBAAkB,CAAC,GAAG,CAAC;gBAC3B,GAAG,EAAE,4BAA4B;gBACjC,KAAK;aACN,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAClB,CAAC;QAED,QAAQ,CAAC,MAAM,EAAE,CAAA;IACnB,CAAC;;AA/DM,oCAAM,GAAG;IACd,GAAG,CAAA;;;;;;;;;;KAUF;CACF,AAZY,CAYZ;AAE2B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;kEAAmD;AAfnE,6BAA6B;IADzC,aAAa,CAAC,mCAAmC,CAAC;GACtC,6BAA6B,CAiEzC","sourcesContent":["import '@things-factory/setting-base'\nimport '@material/web/select/outlined-select'\n\nimport '@operato/i18n/ox-i18n.js'\n\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nimport { i18next, localize } from '@operato/i18n'\nimport { clientSettingStore } from '@operato/shell'\n\n@customElement('default-label-printer-setting-let')\nexport class DefaultLabelPrinterSettingLet extends localize(i18next)(LitElement) {\n static styles = [\n css`\n label {\n display: flex;\n gap: 10px;\n align-items: center;\n\n font: var(--label-font);\n color: var(--label-color, var(--md-sys-color-on-surface));\n text-transform: var(--label-text-transform);\n }\n `\n ]\n\n @property({ type: String }) printerType?: 'direct-usb' | 'zebra-browser-print'\n\n render() {\n return html`\n <setting-let>\n <ox-i18n slot=\"title\" msgid=\"title.default label printer\"></ox-i18n>\n\n <div slot=\"content\">\n <md-outlined-select\n label=${String(i18next.t('label.default label printer'))}\n group\n helper=\"Please select which printer connection type to use for label printing.\"\n @change=${(e: Event) => this.onChange(e)}\n >\n <md-select-option aria-label=\"blank\"></md-select-option>\n <md-select-option value=\"direct-usb\" ?selected=${this.printerType == 'direct-usb'}>\n <div slot=\"headline\">usb connected printer</div>\n </md-select-option>\n <md-select-option value=\"zebra-browser-print\" ?selected=${this.printerType == 'zebra-browser-print'}>\n <div slot=\"headline\">zebra browser print</div>\n </md-select-option>\n </md-outlined-select>\n </div>\n </setting-let>\n `\n }\n\n async firstUpdated() {\n this.printerType = (await clientSettingStore.get('default-label-printer-type'))?.value || 'direct-usb'\n }\n\n async onChange(e: Event) {\n const value = (e.target as HTMLInputElement).value\n\n const valueFromStore = (await clientSettingStore.get('default-label-printer-type'))?.value\n if (!value || value == valueFromStore) {\n return\n }\n\n try {\n await clientSettingStore.put({\n key: 'default-label-printer-type',\n value\n })\n } catch (e) {\n console.error(e)\n }\n\n location.reload()\n }\n}\n"]}
@@ -0,0 +1,5 @@
1
+ export declare class DirectPrinter {
2
+ private printer?;
3
+ getPrinter(): Promise<void>;
4
+ print(command: any): Promise<void>;
5
+ }
@@ -0,0 +1,17 @@
1
+ import { BrowserPrinter, USBPrinter } from '@operato/barcode';
2
+ import { clientSettingStore } from '@operato/shell';
3
+ export class DirectPrinter {
4
+ async getPrinter() {
5
+ const v = await clientSettingStore.get('default-label-printer-type');
6
+ const printerType = (v === null || v === void 0 ? void 0 : v.value) || 'direct-usb';
7
+ this.printer = printerType == 'direct-usb' ? new USBPrinter() : new BrowserPrinter();
8
+ }
9
+ async print(command) {
10
+ var _a;
11
+ if (!this.printer) {
12
+ await this.getPrinter();
13
+ }
14
+ await ((_a = this.printer) === null || _a === void 0 ? void 0 : _a.print(command));
15
+ }
16
+ }
17
+ //# sourceMappingURL=direct-print.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"direct-print.js","sourceRoot":"","sources":["../client/direct-print.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAEnD,MAAM,OAAO,aAAa;IAGxB,KAAK,CAAC,UAAU;QACd,MAAM,CAAC,GAAG,MAAM,kBAAkB,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;QACpE,MAAM,WAAW,GAAG,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,KAAK,KAAI,YAAY,CAAA;QAC5C,IAAI,CAAC,OAAO,GAAG,WAAW,IAAI,YAAY,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,EAAE,CAAA;IACtF,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAO;;QACjB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;QACzB,CAAC;QAED,MAAM,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,KAAK,CAAC,OAAO,CAAC,CAAA,CAAA;IACpC,CAAC;CACF","sourcesContent":["import { BrowserPrinter, USBPrinter } from '@operato/barcode'\nimport { clientSettingStore } from '@operato/shell'\n\nexport class DirectPrinter {\n private printer?: USBPrinter | BrowserPrinter\n\n async getPrinter() {\n const v = await clientSettingStore.get('default-label-printer-type')\n const printerType = v?.value || 'direct-usb'\n this.printer = printerType == 'direct-usb' ? new USBPrinter() : new BrowserPrinter()\n }\n\n async print(command) {\n if (!this.printer) {\n await this.getPrinter()\n }\n\n await this.printer?.print(command)\n }\n}\n"]}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Zebra의 BrowserPrinter를 이용한 프린트 기능을 제공한다.
3
+ * (https://www.zebra.com/us/en/products/software/barcode-printers/link-os/browser-print.html)
4
+ *
5
+ */
6
+ export declare function browserPrinterHandler({ type: printerType, name: printerName, txtRecord }: {
7
+ type: any;
8
+ name: any;
9
+ txtRecord: any;
10
+ }, { accept, content, name, options }: {
11
+ accept: any;
12
+ content: any;
13
+ name: any;
14
+ options: any;
15
+ }): Promise<void>;
@@ -0,0 +1,20 @@
1
+ import { BrowserPrinter } from '@operato/barcode';
2
+ var printer;
3
+ /**
4
+ * Zebra의 BrowserPrinter를 이용한 프린트 기능을 제공한다.
5
+ * (https://www.zebra.com/us/en/products/software/barcode-printers/link-os/browser-print.html)
6
+ *
7
+ */
8
+ export async function browserPrinterHandler({ type: printerType, name: printerName, txtRecord }, { accept, content, name, options }) {
9
+ const board = typeof content == 'function' ? await content.call() : content;
10
+ try {
11
+ if (!printer) {
12
+ printer = new BrowserPrinter();
13
+ }
14
+ await printer.print(board);
15
+ }
16
+ catch (e) {
17
+ throw new Error(e);
18
+ }
19
+ }
20
+ //# sourceMappingURL=browser-printer-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-printer-handler.js","sourceRoot":"","sources":["../../client/handlers/browser-printer-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,IAAI,OAAO,CAAA;AAEX;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,EACnD,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE;IAElC,MAAM,KAAK,GAAG,OAAO,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;IAE3E,IAAI,CAAC;QACH,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,IAAI,cAAc,EAAE,CAAA;QAChC,CAAC;QAED,MAAM,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC5B,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAA;IACpB,CAAC;AACH,CAAC","sourcesContent":["import { BrowserPrinter } from '@operato/barcode'\n\nvar printer\n\n/**\n * Zebra의 BrowserPrinter를 이용한 프린트 기능을 제공한다.\n * (https://www.zebra.com/us/en/products/software/barcode-printers/link-os/browser-print.html)\n *\n */\nexport async function browserPrinterHandler(\n { type: printerType, name: printerName, txtRecord },\n { accept, content, name, options }\n) {\n const board = typeof content == 'function' ? await content.call() : content\n\n try {\n if (!printer) {\n printer = new BrowserPrinter()\n }\n\n await printer.print(board)\n } catch (e: any) {\n throw new Error(e)\n }\n}\n"]}
@@ -0,0 +1,10 @@
1
+ export declare function labelPrinterHandler({ type: printerType, name: printerName, txtRecord }: {
2
+ type: any;
3
+ name: any;
4
+ txtRecord: any;
5
+ }, { accept, content, name, options }: {
6
+ accept: any;
7
+ content: any;
8
+ name: any;
9
+ options: any;
10
+ }): Promise<boolean>;
@@ -0,0 +1,41 @@
1
+ export async function labelPrinterHandler({ type: printerType, name: printerName, txtRecord }, { accept, content, name, options }) {
2
+ var { ['service-url']: serviceUrl } = txtRecord;
3
+ /* content should be a element */
4
+ const board = typeof content == 'function' ? await content.call() : content;
5
+ /*
6
+ * 프린트 서비스를 호출한다.
7
+ * 서비스명 : GET /print-label/${content.id}?printerId=${name}
8
+ */
9
+ // const response = await fetch(`/print-label/${board.id}?printerId=${printerName}`, {
10
+ // method: 'GET',
11
+ // credentials: 'include',
12
+ // headers: {
13
+ // 'Content-Type': 'application/json',
14
+ // Accept: 'application/json'
15
+ // }
16
+ // })
17
+ /*
18
+ * 프린트 서비스를 호출한다.
19
+ * 서비스명 : POST /print
20
+ * 파라미터 : printerId, data
21
+ */
22
+ const response = await fetch(`${serviceUrl ? serviceUrl : ''}/print`, {
23
+ method: 'POST',
24
+ credentials: 'include',
25
+ headers: {
26
+ 'Content-Type': 'application/json',
27
+ Accept: 'application/json'
28
+ },
29
+ body: JSON.stringify({
30
+ printerId: printerName,
31
+ data: board
32
+ })
33
+ });
34
+ if (response.ok) {
35
+ return true;
36
+ }
37
+ else {
38
+ throw new Error(String(response.status));
39
+ }
40
+ }
41
+ //# sourceMappingURL=label-printer-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label-printer-handler.js","sourceRoot":"","sources":["../../client/handlers/label-printer-handler.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,EACnD,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE;IAElC,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE,GAAG,SAAS,CAAA;IAC/C,iCAAiC;IACjC,MAAM,KAAK,GAAG,OAAO,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;IAE3E;;;OAGG;IAEH,sFAAsF;IACtF,mBAAmB;IACnB,4BAA4B;IAC5B,eAAe;IACf,0CAA0C;IAC1C,iCAAiC;IACjC,MAAM;IACN,KAAK;IAEL;;;;OAIG;IACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE;QACpE,MAAM,EAAE,MAAM;QACd,WAAW,EAAE,SAAS;QACtB,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,MAAM,EAAE,kBAAkB;SAC3B;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,SAAS,EAAE,WAAW;YACtB,IAAI,EAAE,KAAK;SACZ,CAAC;KACH,CAAC,CAAA;IAEF,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,IAAI,CAAA;IACb,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;IAC1C,CAAC;AACH,CAAC","sourcesContent":["export async function labelPrinterHandler(\n { type: printerType, name: printerName, txtRecord },\n { accept, content, name, options }\n) {\n var { ['service-url']: serviceUrl } = txtRecord\n /* content should be a element */\n const board = typeof content == 'function' ? await content.call() : content\n\n /*\n * 프린트 서비스를 호출한다.\n * 서비스명 : GET /print-label/${content.id}?printerId=${name}\n */\n\n // const response = await fetch(`/print-label/${board.id}?printerId=${printerName}`, {\n // method: 'GET',\n // credentials: 'include',\n // headers: {\n // 'Content-Type': 'application/json',\n // Accept: 'application/json'\n // }\n // })\n\n /*\n * 프린트 서비스를 호출한다.\n * 서비스명 : POST /print\n * 파라미터 : printerId, data\n */\n const response = await fetch(`${serviceUrl ? serviceUrl : ''}/print`, {\n method: 'POST',\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n Accept: 'application/json'\n },\n body: JSON.stringify({\n printerId: printerName,\n data: board\n })\n })\n\n if (response.ok) {\n return true\n } else {\n throw new Error(String(response.status))\n }\n}\n"]}
@@ -0,0 +1,10 @@
1
+ export declare function usbLabelPrinterHandler({ type: printerType, name: printerName, txtRecord }: {
2
+ type: any;
3
+ name: any;
4
+ txtRecord: any;
5
+ }, { accept, content, name, options }: {
6
+ accept: any;
7
+ content: any;
8
+ name: any;
9
+ options: any;
10
+ }): Promise<void>;
@@ -0,0 +1,15 @@
1
+ import { USBPrinter } from '@operato/barcode';
2
+ var printer;
3
+ export async function usbLabelPrinterHandler({ type: printerType, name: printerName, txtRecord }, { accept, content, name, options }) {
4
+ const board = typeof content == 'function' ? await content.call() : content;
5
+ try {
6
+ if (!printer) {
7
+ printer = new USBPrinter();
8
+ }
9
+ await printer.connectAndPrint(board);
10
+ }
11
+ catch (e) {
12
+ throw new Error(e);
13
+ }
14
+ }
15
+ //# sourceMappingURL=usb-label-printer-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usb-label-printer-handler.js","sourceRoot":"","sources":["../../client/handlers/usb-label-printer-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,IAAI,OAAO,CAAA;AAEX,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,EACnD,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE;IAElC,MAAM,KAAK,GAAG,OAAO,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;IAE3E,IAAI,CAAC;QACH,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,IAAI,UAAU,EAAE,CAAA;QAC5B,CAAC;QAED,MAAM,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;IACtC,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAA;IACpB,CAAC;AACH,CAAC","sourcesContent":["import { USBPrinter } from '@operato/barcode'\n\nvar printer\n\nexport async function usbLabelPrinterHandler(\n { type: printerType, name: printerName, txtRecord },\n { accept, content, name, options }\n) {\n const board = typeof content == 'function' ? await content.call() : content\n\n try {\n if (!printer) {\n printer = new USBPrinter()\n }\n\n await printer.connectAndPrint(board)\n } catch (e: any) {\n throw new Error(e)\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export * from './direct-print';
2
+ export * from './default-label-printer-setting-let';
@@ -0,0 +1,3 @@
1
+ export * from './direct-print';
2
+ export * from './default-label-printer-setting-let';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../client/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qCAAqC,CAAA","sourcesContent":["export * from './direct-print'\nexport * from './default-label-printer-setting-let'\n"]}