@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.
- package/client/{bootstrap.js → bootstrap.ts} +1 -2
- package/client/default-label-printer-setting-let.ts +78 -0
- package/client/{direct-print.js → direct-print.ts} +1 -1
- package/client/handlers/{browser-printer-handler.js → browser-printer-handler.ts} +1 -1
- package/client/handlers/{label-printer-handler.js → label-printer-handler.ts} +1 -1
- package/client/handlers/{usb-label-printer-handler.js → usb-label-printer-handler.ts} +1 -1
- package/dist-client/bootstrap.d.ts +1 -0
- package/dist-client/bootstrap.js +36 -0
- package/dist-client/bootstrap.js.map +1 -0
- package/dist-client/default-label-printer-setting-let.d.ts +13 -0
- package/dist-client/default-label-printer-setting-let.js +78 -0
- package/dist-client/default-label-printer-setting-let.js.map +1 -0
- package/dist-client/direct-print.d.ts +5 -0
- package/dist-client/direct-print.js +17 -0
- package/dist-client/direct-print.js.map +1 -0
- package/dist-client/handlers/browser-printer-handler.d.ts +15 -0
- package/dist-client/handlers/browser-printer-handler.js +20 -0
- package/dist-client/handlers/browser-printer-handler.js.map +1 -0
- package/dist-client/handlers/label-printer-handler.d.ts +10 -0
- package/dist-client/handlers/label-printer-handler.js +41 -0
- package/dist-client/handlers/label-printer-handler.js.map +1 -0
- package/dist-client/handlers/usb-label-printer-handler.d.ts +10 -0
- package/dist-client/handlers/usb-label-printer-handler.js +15 -0
- package/dist-client/handlers/usb-label-printer-handler.js.map +1 -0
- package/dist-client/index.d.ts +2 -0
- package/dist-client/index.js +3 -0
- package/dist-client/index.js.map +1 -0
- package/dist-client/tsconfig.tsbuildinfo +1 -0
- package/dist-server/index.d.ts +0 -0
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +13 -11
- package/client/default-label-printer-setting-let.js +0 -86
- /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
|
|
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
|
-
|
|
5
|
+
private printer?: USBPrinter | BrowserPrinter
|
|
6
6
|
|
|
7
7
|
async getPrinter() {
|
|
8
8
|
const v = await clientSettingStore.get('default-label-printer-type')
|
|
@@ -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,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 @@
|
|
|
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"]}
|