@operato/scene-label 9.1.1 → 10.0.0-beta.2

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.
@@ -7,7 +7,7 @@ export default class BarcodeScanner extends HTMLOverlayElement {
7
7
  set data(data: any);
8
8
  select(): void;
9
9
  dispose(): void;
10
- ready(): void;
10
+ ready(): Promise<void>;
11
11
  createElement(): void;
12
12
  setElementProperties(input: OxInputBarcode): void;
13
13
  get tagName(): string;
@@ -37,6 +37,7 @@ const NATURE = {
37
37
  help: 'scene/component/barcode-scanner'
38
38
  };
39
39
  let BarcodeScanner = class BarcodeScanner extends HTMLOverlayElement {
40
+ _data;
40
41
  get nature() {
41
42
  return NATURE;
42
43
  }
@@ -54,8 +55,8 @@ let BarcodeScanner = class BarcodeScanner extends HTMLOverlayElement {
54
55
  dispose() {
55
56
  super.dispose();
56
57
  }
57
- ready() {
58
- super.ready();
58
+ async ready() {
59
+ await super.ready();
59
60
  var scanInput = this.element;
60
61
  scanInput.addEventListener('change', (e) => {
61
62
  this.data = scanInput.value;
@@ -1 +1 @@
1
- {"version":3,"file":"barcode-scanner.js","sourceRoot":"","sources":["../src/barcode-scanner.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport { Component, ComponentNature, HTMLOverlayElement, sceneComponent } 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 type: 'checkbox',\n label: 'autofocus',\n name: 'autofocus'\n },\n {\n type: 'checkbox',\n label: 'hide-keyboard',\n name: 'hideKeyboard'\n }\n ],\n help: 'scene/component/barcode-scanner'\n}\n\n@sceneComponent('barcode-scanner')\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 select() {\n ;(this.element as OxInputBarcode).input.select()\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('change', (e: Event) => {\n this.data = scanInput.value\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 createElement() {\n super.createElement()\n\n if (this.app.isViewMode) {\n const { hideKeyboard, autofocus } = this.state\n\n if (hideKeyboard) {\n requestAnimationFrame(() => {\n const input = (this.element as OxInputBarcode).input\n input.addEventListener('focusin', e => {\n input.setAttribute('readonly', '')\n this.select()\n\n requestAnimationFrame(() => {\n input.removeAttribute('readonly')\n })\n })\n })\n }\n\n if (autofocus) {\n requestAnimationFrame(() => {\n this.select()\n })\n }\n }\n }\n\n setElementProperties(input: OxInputBarcode) {\n const { withoutEnter = false, englishOnly = false, selectAfterChange = false } = this.state\n\n input.style.setProperty('--input-font', 'initial')\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"]}
1
+ {"version":3,"file":"barcode-scanner.js","sourceRoot":"","sources":["../src/barcode-scanner.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport { Component, ComponentNature, HTMLOverlayElement, sceneComponent } 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 type: 'checkbox',\n label: 'autofocus',\n name: 'autofocus'\n },\n {\n type: 'checkbox',\n label: 'hide-keyboard',\n name: 'hideKeyboard'\n }\n ],\n help: 'scene/component/barcode-scanner'\n}\n\n@sceneComponent('barcode-scanner')\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 select() {\n ;(this.element as OxInputBarcode).input.select()\n }\n\n dispose() {\n super.dispose()\n }\n\n async ready() {\n await super.ready()\n var scanInput = this.element as OxInputBarcode\n\n scanInput.addEventListener('change', (e: Event) => {\n this.data = scanInput.value\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 createElement() {\n super.createElement()\n\n if (this.app.isViewMode) {\n const { hideKeyboard, autofocus } = this.state\n\n if (hideKeyboard) {\n requestAnimationFrame(() => {\n const input = (this.element as OxInputBarcode).input\n input.addEventListener('focusin', e => {\n input.setAttribute('readonly', '')\n this.select()\n\n requestAnimationFrame(() => {\n input.removeAttribute('readonly')\n })\n })\n })\n }\n\n if (autofocus) {\n requestAnimationFrame(() => {\n this.select()\n })\n }\n }\n }\n\n setElementProperties(input: OxInputBarcode) {\n const { withoutEnter = false, englishOnly = false, selectAfterChange = false } = this.state\n\n input.style.setProperty('--input-font', 'initial')\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"]}
package/dist/barcode.d.ts CHANGED
@@ -1,12 +1,248 @@
1
- import { ComponentNature, Properties, Shape } from '@hatiolab/things-scene';
2
- declare const Barcode_base: typeof Shape;
1
+ import { Component, ComponentNature, Properties, Shape } from '@hatiolab/things-scene';
2
+ declare const Barcode_base: (new (...args: any[]) => {
3
+ contains(x: number, y: number): boolean;
4
+ get path(): {
5
+ x: any;
6
+ y: any;
7
+ }[];
8
+ set path(path: {
9
+ x: any;
10
+ y: any;
11
+ }[]): any;
12
+ get anchors(): {
13
+ name: string;
14
+ position: {
15
+ x: any;
16
+ y: any;
17
+ };
18
+ }[];
19
+ get bounds(): any;
20
+ set bounds(bounds: any): any;
21
+ render(ctx: CanvasRenderingContext2D): void;
22
+ _app: any;
23
+ _model: any;
24
+ _state: any;
25
+ _delta: any;
26
+ _animation: any;
27
+ _animate: any;
28
+ _parent: any;
29
+ _disposed: any;
30
+ _textHidden: any;
31
+ _text_substitutor: any;
32
+ _value_substitutor: any;
33
+ _mappings: any;
34
+ _realObject: import("@hatiolab/things-scene").IRealObject | undefined;
35
+ _cachedState: any;
36
+ updatedAt: any;
37
+ fontSize: any;
38
+ __cache__: any;
39
+ created(): void;
40
+ added(parent: any): void;
41
+ removed(parent: any): void;
42
+ ready(): Promise<void>;
43
+ touch(): void;
44
+ clearCache(...attrs: any[]): void;
45
+ removeSelf(completely: any): void;
46
+ resetAnimation(): void;
47
+ dispose(): void;
48
+ get nature(): import("@hatiolab/things-scene").ComponentNature;
49
+ get disposed(): boolean;
50
+ isLayer(): boolean;
51
+ isGroup(): boolean;
52
+ isContainer(): this is import("@hatiolab/things-scene/dist-types/types/component").Container;
53
+ isLine(): boolean;
54
+ isRoot(): boolean;
55
+ isRootModel(): boolean;
56
+ is3dish(): boolean;
57
+ get is3dMode(): boolean;
58
+ isIn3DSpace(): boolean;
59
+ isTemplate(): boolean;
60
+ isHTMLElement(): boolean;
61
+ isConnectable(): boolean;
62
+ isIdentifiable(): boolean;
63
+ isPositionable(): boolean;
64
+ replaceRefids(replaceMap: any): void;
65
+ get(property: any): any;
66
+ set(props: any, propval?: any): any;
67
+ getState(property: any): any;
68
+ setState(props: any, propval?: any): any;
69
+ get model(): any;
70
+ get state(): any;
71
+ get hierarchy(): any;
72
+ get volatile(): never[];
73
+ _applyProps(target: any, props: any, options: any): any;
74
+ move(offset: {
75
+ x: number;
76
+ y: number;
77
+ }, ...args: boolean[]): void;
78
+ symmetryX(x?: number): void;
79
+ symmetryY(y: number): void;
80
+ adjustResize(bounds: import("@hatiolab/things-scene").BOUNDS, origin_bounds: import("@hatiolab/things-scene").BOUNDS, diagonal: boolean): {
81
+ left: any;
82
+ top: any;
83
+ width: any;
84
+ height: any;
85
+ };
86
+ adjustRotation(rotation: number, step: boolean): number;
87
+ outline(progress: number): any;
88
+ get center(): import("@hatiolab/things-scene").POINT;
89
+ set center(p: import("@hatiolab/things-scene").POINT): any;
90
+ get location(): import("@hatiolab/things-scene").POINT;
91
+ set location(l: import("@hatiolab/things-scene").POINT): any;
92
+ get rotate(): import("@hatiolab/things-scene").POINT;
93
+ set rotate(r: import("@hatiolab/things-scene").POINT): any;
94
+ get dimension(): import("@hatiolab/things-scene").DIMENSION;
95
+ set dimension(d: import("@hatiolab/things-scene").DIMENSION): any;
96
+ get drawPath(): import("@hatiolab/things-scene").POINT[];
97
+ get rotatePoint(): import("@hatiolab/things-scene").POINT;
98
+ get mutable(): boolean;
99
+ get resizable(): boolean;
100
+ get rotatable(): boolean;
101
+ buildRealObject(): import("@hatiolab/things-scene").IRealObject | undefined;
102
+ get realObject(): import("@hatiolab/things-scene").IRealObject | undefined;
103
+ draw(context?: import("@hatiolab/things-scene").SceneRenderContext): void;
104
+ prerender(context: import("@hatiolab/things-scene").SceneRenderContext): void;
105
+ postrender(context: import("@hatiolab/things-scene").SceneRenderContext): void;
106
+ prepare(resolve: (component: Component) => void, reject: (reason: any) => void): void;
107
+ prepareIf(condition: boolean): void;
108
+ drawText(context: import("@hatiolab/things-scene").SceneRenderContext): void;
109
+ drawStroke(context: import("@hatiolab/things-scene").SceneRenderContext, override?: Record<string, unknown>): void;
110
+ drawFill(context: import("@hatiolab/things-scene").SceneRenderContext, override?: Record<string, unknown>): void;
111
+ get strokeStyle(): any;
112
+ set strokeStyle(v: any): any;
113
+ get fillStyle(): any;
114
+ set fillStyle(v: any): any;
115
+ get fontColor(): string;
116
+ set fontColor(v: string): any;
117
+ get rotation(): number;
118
+ set rotation(v: number): any;
119
+ get decorators(): string[];
120
+ get decotag(): string;
121
+ get hidden(): boolean;
122
+ set hidden(v: boolean): any;
123
+ get tag(): string;
124
+ set tag(v: string): any;
125
+ get appendum(): any;
126
+ set appendum(v: any): any;
127
+ defaultTextSubstitutor(): string;
128
+ textLines(context?: import("@hatiolab/things-scene").SceneRenderContext): any[][];
129
+ get font(): string;
130
+ get lineHeight(): number;
131
+ get textSubstitutor(): () => string;
132
+ get text(): string;
133
+ set text(v: string): any;
134
+ get textBounds(): import("@hatiolab/things-scene").BOUNDS;
135
+ get textRotation(): number;
136
+ get textHidden(): boolean;
137
+ set textHidden(v: boolean): any;
138
+ get hasTextProperty(): boolean;
139
+ animate(opts: import("@hatiolab/things-scene").AnimationConfig): any;
140
+ effect(context: import("@hatiolab/things-scene").SceneRenderContext, model: any): void;
141
+ serialize(...others: any[]): string;
142
+ trim(): void;
143
+ closeScene(data: any): void;
144
+ delta(attr?: string | object, value?: any): any;
145
+ invalidate(): void;
146
+ get value(): any;
147
+ set value(v: any): any;
148
+ get data(): any;
149
+ set data(v: any): any;
150
+ set tap(v: any): any;
151
+ get mappings(): any[];
152
+ get retention(): number;
153
+ get animation(): import("@hatiolab/things-scene").AnimationController | undefined;
154
+ get started(): boolean;
155
+ set started(v: boolean): any;
156
+ get controls(): import("@hatiolab/things-scene").Control[] | undefined;
157
+ findFirst(finder: string | ((c: Component) => boolean), ...others: any[]): Component | undefined;
158
+ findAll(s: string | ((c: Component) => boolean), ...others: any[]): any[] | undefined;
159
+ capture(x: number, y: number, except?: (c: Component) => boolean): any;
160
+ findAnchor(name: string): any;
161
+ isDescendible(container: Component): boolean;
162
+ getContext(component?: unknown): any;
163
+ get root(): Component;
164
+ get rootModel(): Component;
165
+ get parent(): Component;
166
+ set parent(v: Component): any;
167
+ get scalable(): boolean;
168
+ get stuck(): boolean;
169
+ get capturable(): boolean;
170
+ get position(): string;
171
+ get origin(): string;
172
+ get offset(): import("@hatiolab/things-scene").POINT;
173
+ get app(): import("@hatiolab/things-scene").ApplicationContext;
174
+ drawEffect(context: import("@hatiolab/things-scene").SceneRenderContext): void;
175
+ prepareFill(resolve: Function, reject: Function): void;
176
+ prepareFillIf(condition: boolean): void;
177
+ onchangeFill(after: Record<string, any>, before: Record<string, any>): void;
178
+ drawImage(context: import("@hatiolab/things-scene").SceneRenderContext, image: HTMLImageElement, left: number, top: number, width: number, height: number): void;
179
+ mutateBounds(logic: ((bounds: import("@hatiolab/things-scene").BOUNDS) => import("@hatiolab/things-scene").BOUNDS | void) | null, context?: any): void;
180
+ mutatePath(beforeLogic: ((path: import("@hatiolab/things-scene").POINT[]) => import("@hatiolab/things-scene").POINT[] | void) | null, afterLogic: ((path: import("@hatiolab/things-scene").POINT[]) => import("@hatiolab/things-scene").POINT[] | void) | null, context?: any): void;
181
+ access(accessor: string): any;
182
+ substitute(template: string, data: any): string | undefined;
183
+ onchangeMappings(after: Record<string, any>, before: Record<string, any>): void;
184
+ onchangeData(after: Record<string, any>, before: Record<string, any>): void;
185
+ buildMappings(): void;
186
+ executeMappings(force?: boolean): void;
187
+ disposeMappings(): void;
188
+ ondropfile(transfered: FileList, files: string[]): void;
189
+ transcoordS2P(x: number, y: number, rp?: import("@hatiolab/things-scene").POINT): import("@hatiolab/things-scene").POINT;
190
+ transcoordP2S(x: number, y: number, rp?: import("@hatiolab/things-scene").POINT): import("@hatiolab/things-scene").POINT;
191
+ transcoordS2T(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
192
+ transcoordT2P(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
193
+ transcoordT2S(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
194
+ transcoordS2TR(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
195
+ transcoordS2O(x: number, y: number, target: Component): import("@hatiolab/things-scene").POINT;
196
+ transcoordC2S(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
197
+ transcoordS2C(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
198
+ toParent(x: number, y: number, rp?: import("@hatiolab/things-scene").POINT): import("@hatiolab/things-scene").POINT;
199
+ fromParent(x: number, y: number, rp?: import("@hatiolab/things-scene").POINT): import("@hatiolab/things-scene").POINT;
200
+ toScene(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
201
+ fromScene(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
202
+ toLocal(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
203
+ toGlobal(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
204
+ toOther(x: number, y: number, target: Component): import("@hatiolab/things-scene").POINT;
205
+ on(name: string | object, callback: Function, context?: any): any;
206
+ off(name?: string | object, callback?: Function, context?: any): any;
207
+ once(name: string | object, callback: Function, context?: any): any;
208
+ trigger(name: string, ...args: any[]): any;
209
+ delegate_on(delegator: any): any;
210
+ delegate_off(delegator: any): any;
211
+ onchange(after: Record<string, any>, before: Record<string, any>): void;
212
+ calculateBounds?(): void;
213
+ oncreate_element?(element: HTMLElement): void;
214
+ removeComponent(component: Component, ghost?: boolean): void;
215
+ addComponent(component: Component, ghost?: boolean): void;
216
+ insertComponentAt(component: Component, index: number, ghost?: boolean): void;
217
+ getOverlay(component: Component): HTMLElement | undefined;
218
+ findById(id: string): Component | undefined;
219
+ findByRefid(ref: string | number): Component | undefined;
220
+ findAllById(id: string): Component[];
221
+ resize(): void;
222
+ fit(type?: string): void;
223
+ get components(): Component[] | undefined;
224
+ get layout(): any;
225
+ get auxOverlay(): HTMLElement | undefined;
226
+ get isReady(): boolean;
227
+ get unitScale(): number;
228
+ get selected(): Component[];
229
+ set selected(_v: Component[]): any;
230
+ get focused(): Component | null;
231
+ set focused(_v: Component | null): any;
232
+ get hasSameParentForAllSelected(): boolean;
233
+ set hasSameParentForAllSelected(_v: boolean): any;
234
+ get fitMode(): string | undefined;
235
+ set fitMode(_v: string | undefined): any;
236
+ get element(): HTMLElement | null;
237
+ set element(_v: HTMLElement | null): any;
238
+ }) & typeof Shape;
3
239
  export default class Barcode extends Barcode_base {
4
240
  private _canvas?;
5
241
  private _image;
6
242
  get nature(): ComponentNature;
7
243
  get canvas(): HTMLCanvasElement;
8
244
  dispose(): void;
9
- ready(): void;
245
+ ready(): Promise<void>;
10
246
  buildImage(): void;
11
247
  render(context: CanvasRenderingContext2D): void;
12
248
  drawText(): void;
package/dist/barcode.js CHANGED
@@ -232,6 +232,8 @@ const NATURE = {
232
232
  };
233
233
  const REDRAW_PROPS = ['symbol', 'text', 'showText', 'height', 'width', 'paddingwidth', 'paddingheight'];
234
234
  let Barcode = class Barcode extends RectPath(Shape) {
235
+ _canvas;
236
+ _image;
235
237
  get nature() {
236
238
  return NATURE;
237
239
  }
@@ -247,8 +249,8 @@ let Barcode = class Barcode extends RectPath(Shape) {
247
249
  dispose() {
248
250
  super.dispose();
249
251
  }
250
- ready() {
251
- super.ready();
252
+ async ready() {
253
+ await super.ready();
252
254
  this.buildImage();
253
255
  }
254
256
  buildImage() {
@@ -260,7 +262,6 @@ let Barcode = class Barcode extends RectPath(Shape) {
260
262
  this.canvas.width = width;
261
263
  this.canvas.height = height;
262
264
  try {
263
- //@ts-ignore
264
265
  this._image = bwipjs.toCanvas(this.canvas, {
265
266
  bcid: symbol, // Barcode type
266
267
  text, // Text to encode
@@ -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\nimport bwipjs from 'bwip-js/browser'\n\nimport { Component, ComponentNature, error, Properties, RectPath, Shape, sceneComponent } 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\n@sceneComponent('barcode')\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 //@ts-ignore\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 || 'center', // 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"]}
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\nimport bwipjs from 'bwip-js/browser'\n\nimport { Component, ComponentNature, error, Properties, RectPath, Shape, sceneComponent } 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\n@sceneComponent('barcode')\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 async ready() {\n await 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 as any).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 || 'center', // 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"]}
package/dist/bitmap.js CHANGED
@@ -11,15 +11,16 @@
11
11
  // for the extended copyright notice.
12
12
  // bgcolor is optional, defaults to #fff.
13
13
  export default class Bitmap {
14
+ bgcolor;
15
+ clr = [0, 0, 0];
16
+ pts = [];
17
+ minx = 0; // min-x
18
+ miny = 0; // min-y
19
+ maxx = 0; // max-x
20
+ maxy = 0; // max-y
21
+ padx = 0; // padding-x
22
+ pady = 0; // padding-y
14
23
  constructor(bgcolor) {
15
- this.clr = [0, 0, 0];
16
- this.pts = [];
17
- this.minx = 0; // min-x
18
- this.miny = 0; // min-y
19
- this.maxx = 0; // max-x
20
- this.maxy = 0; // max-y
21
- this.padx = 0; // padding-x
22
- this.pady = 0; // padding-y
23
24
  this.bgcolor = bgcolor;
24
25
  }
25
26
  pad(x, y) {
@@ -76,12 +77,11 @@ export default class Bitmap {
76
77
  return cvs.toDataURL();
77
78
  }
78
79
  show(cvsid, rot) {
79
- var _a;
80
80
  var cvs = cvsid instanceof HTMLCanvasElement ? cvsid : document.getElementById(cvsid);
81
81
  if (this.pts.length == 0) {
82
82
  cvs.width = 32;
83
83
  cvs.height = 32;
84
- (_a = cvs.getContext('2d')) === null || _a === void 0 ? void 0 : _a.clearRect(0, 0, cvs.width, cvs.height);
84
+ cvs.getContext('2d')?.clearRect(0, 0, cvs.width, cvs.height);
85
85
  cvs.style.visibility = 'visible';
86
86
  return;
87
87
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bitmap.js","sourceRoot":"","sources":["../src/bitmap.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n// file : bwip-js/lib/canvas.js\n//\n// bwip-js bitmap interface for an HTML canvas.\n//\n// Copyright (c) 2011-2016 Mark Warren\n//\n// Licensed MIT. See the LICENSE file in the bwip-js root directory\n// for the extended copyright notice.\n\n// bgcolor is optional, defaults to #fff.\nexport default class Bitmap {\n bgcolor?: string\n clr = [0, 0, 0]\n pts = [] as any[]\n minx = 0 // min-x\n miny = 0 // min-y\n maxx = 0 // max-x\n maxy = 0 // max-y\n padx = 0 // padding-x\n pady = 0 // padding-y\n\n constructor(bgcolor: string) {\n this.bgcolor = bgcolor\n }\n\n pad(x: number, y: number) {\n this.padx = x\n this.pady = y\n }\n\n color(r: number, g: number, b: number) {\n this.clr = [r, g, b]\n }\n\n // Sets the minimim size for the drawing surface (can grow larger).\n // BWIPP has logic for borders (padding) that without this custom call\n // gets lost. See custom/ren*.ps.\n extent(llx: number, lly: number, urx: number, ury: number) {\n llx = Math.floor(llx)\n lly = Math.floor(lly)\n urx = Math.floor(urx)\n ury = Math.floor(ury)\n if (this.minx > llx) this.minx = llx\n if (this.miny > lly) this.miny = lly\n if (this.maxx < urx) this.maxx = urx\n if (this.maxy < ury) this.maxy = ury\n }\n\n // a is the alpha-level of the pixel [0 .. 255]\n set(x: number, y: number, a: number) {\n x = Math.floor(x)\n y = Math.floor(y)\n this.pts.push([x, y, this.clr, a])\n if (this.minx > x) this.minx = x\n if (this.miny > y) this.miny = y\n if (this.maxx < x) this.maxx = x\n if (this.maxy < y) this.maxy = y\n }\n\n error(cvs: HTMLCanvasElement) {\n cvs.width = 64\n cvs.height = 64\n\n var ctx = cvs.getContext('2d') as CanvasRenderingContext2D\n\n ctx.beginPath()\n\n ctx.rect(0, 0, cvs.width, cvs.height)\n ctx.moveTo(0, 0)\n ctx.lineTo(cvs.width, cvs.height)\n ctx.moveTo(cvs.width, 0)\n ctx.lineTo(0, cvs.height)\n\n ctx.lineWidth = 5\n ctx.strokeStyle = '#ff0000'\n ctx.stroke()\n\n return cvs.toDataURL()\n }\n\n show(cvsid: string | HTMLCanvasElement, rot: 'R' | 'L' | 'N' | 'I') {\n var cvs = cvsid instanceof HTMLCanvasElement ? cvsid : (document.getElementById(cvsid) as HTMLCanvasElement)\n\n if (this.pts.length == 0) {\n cvs.width = 32\n cvs.height = 32\n cvs.getContext('2d')?.clearRect(0, 0, cvs.width, cvs.height)\n cvs.style.visibility = 'visible'\n return\n }\n\n if (rot == 'R' || rot == 'L') {\n var h = this.maxx - this.minx + 1\n var w = this.maxy - this.miny + 1\n } else {\n var w = this.maxx - this.minx + 1\n var h = this.maxy - this.miny + 1\n }\n\n cvs.width = w + 2 * this.padx\n cvs.height = h + 2 * this.pady\n\n // Convert from cmyk?\n if (this.bgcolor && this.bgcolor.length == 8) {\n let c = parseInt(this.bgcolor.substr(0, 2), 16) / 255\n let m = parseInt(this.bgcolor.substr(2, 2), 16) / 255\n let y = parseInt(this.bgcolor.substr(4, 2), 16) / 255\n let k = parseInt(this.bgcolor.substr(6, 2), 16) / 255\n let r = Math.floor((1 - c) * (1 - k) * 255)\n let g = Math.floor((1 - m) * (1 - k) * 255)\n let b = Math.floor((1 - y) * (1 - k) * 255)\n this.bgcolor = 'rgb(' + r + ',' + g + ',' + b + ')'\n } else if (this.bgcolor) {\n this.bgcolor = '#' + this.bgcolor\n }\n\n var ctx = cvs.getContext('2d') as CanvasRenderingContext2D\n ctx.fillStyle = this.bgcolor || '#fff'\n ctx.fillRect(0, 0, cvs.width, cvs.height)\n ctx.fillStyle = '#000'\n\n var id = ctx.getImageData(0, 0, cvs.width, cvs.height)\n var dat = id.data\n\n for (let i = 0; i < this.pts.length; i++) {\n // PostScript builds bottom-up, we build top-down.\n let x = this.pts[i][0] - this.minx\n let y = this.pts[i][1] - this.miny\n let c = this.pts[i][2] as number[]\n let a = this.pts[i][3] / 255\n\n if (rot == 'N') {\n y = h - y - 1 // Invert y\n } else if (rot == 'I') {\n x = w - x - 1 // Invert x\n } else {\n y = w - y // Invert y\n if (rot == 'L') {\n var t = y\n y = h - x - 1\n x = t - 1\n } else {\n var t = x\n x = w - y\n y = t\n }\n }\n\n var idx = (y * id.width + x) * 4\n dat[idx + 0] = (dat[idx + 0] * (1 - a) + c[0] * a) | 0\n dat[idx + 1] = (dat[idx + 1] * (1 - a) + c[1] * a) | 0\n dat[idx + 2] = (dat[idx + 2] * (1 - a) + c[2] * a) | 0\n dat[idx + 3] = 255\n }\n\n ctx.putImageData(id, this.padx, this.pady)\n\n return cvs.toDataURL()\n }\n}\n"]}
1
+ {"version":3,"file":"bitmap.js","sourceRoot":"","sources":["../src/bitmap.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n// file : bwip-js/lib/canvas.js\n//\n// bwip-js bitmap interface for an HTML canvas.\n//\n// Copyright (c) 2011-2016 Mark Warren\n//\n// Licensed MIT. See the LICENSE file in the bwip-js root directory\n// for the extended copyright notice.\n\n// bgcolor is optional, defaults to #fff.\nexport default class Bitmap {\n bgcolor?: string\n clr = [0, 0, 0]\n pts = [] as any[]\n minx = 0 // min-x\n miny = 0 // min-y\n maxx = 0 // max-x\n maxy = 0 // max-y\n padx = 0 // padding-x\n pady = 0 // padding-y\n\n constructor(bgcolor: string) {\n this.bgcolor = bgcolor\n }\n\n pad(x: number, y: number) {\n this.padx = x\n this.pady = y\n }\n\n color(r: number, g: number, b: number) {\n this.clr = [r, g, b]\n }\n\n // Sets the minimim size for the drawing surface (can grow larger).\n // BWIPP has logic for borders (padding) that without this custom call\n // gets lost. See custom/ren*.ps.\n extent(llx: number, lly: number, urx: number, ury: number) {\n llx = Math.floor(llx)\n lly = Math.floor(lly)\n urx = Math.floor(urx)\n ury = Math.floor(ury)\n if (this.minx > llx) this.minx = llx\n if (this.miny > lly) this.miny = lly\n if (this.maxx < urx) this.maxx = urx\n if (this.maxy < ury) this.maxy = ury\n }\n\n // a is the alpha-level of the pixel [0 .. 255]\n set(x: number, y: number, a: number) {\n x = Math.floor(x)\n y = Math.floor(y)\n this.pts.push([x, y, this.clr, a])\n if (this.minx > x) this.minx = x\n if (this.miny > y) this.miny = y\n if (this.maxx < x) this.maxx = x\n if (this.maxy < y) this.maxy = y\n }\n\n error(cvs: HTMLCanvasElement) {\n cvs.width = 64\n cvs.height = 64\n\n var ctx = cvs.getContext('2d') as CanvasRenderingContext2D\n\n ctx.beginPath()\n\n ctx.rect(0, 0, cvs.width, cvs.height)\n ctx.moveTo(0, 0)\n ctx.lineTo(cvs.width, cvs.height)\n ctx.moveTo(cvs.width, 0)\n ctx.lineTo(0, cvs.height)\n\n ctx.lineWidth = 5\n ctx.strokeStyle = '#ff0000'\n ctx.stroke()\n\n return cvs.toDataURL()\n }\n\n show(cvsid: string | HTMLCanvasElement, rot: 'R' | 'L' | 'N' | 'I') {\n var cvs = cvsid instanceof HTMLCanvasElement ? cvsid : (document.getElementById(cvsid) as HTMLCanvasElement)\n\n if (this.pts.length == 0) {\n cvs.width = 32\n cvs.height = 32\n cvs.getContext('2d')?.clearRect(0, 0, cvs.width, cvs.height)\n cvs.style.visibility = 'visible'\n return\n }\n\n if (rot == 'R' || rot == 'L') {\n var h = this.maxx - this.minx + 1\n var w = this.maxy - this.miny + 1\n } else {\n var w = this.maxx - this.minx + 1\n var h = this.maxy - this.miny + 1\n }\n\n cvs.width = w + 2 * this.padx\n cvs.height = h + 2 * this.pady\n\n // Convert from cmyk?\n if (this.bgcolor && this.bgcolor.length == 8) {\n let c = parseInt(this.bgcolor.substr(0, 2), 16) / 255\n let m = parseInt(this.bgcolor.substr(2, 2), 16) / 255\n let y = parseInt(this.bgcolor.substr(4, 2), 16) / 255\n let k = parseInt(this.bgcolor.substr(6, 2), 16) / 255\n let r = Math.floor((1 - c) * (1 - k) * 255)\n let g = Math.floor((1 - m) * (1 - k) * 255)\n let b = Math.floor((1 - y) * (1 - k) * 255)\n this.bgcolor = 'rgb(' + r + ',' + g + ',' + b + ')'\n } else if (this.bgcolor) {\n this.bgcolor = '#' + this.bgcolor\n }\n\n var ctx = cvs.getContext('2d') as CanvasRenderingContext2D\n ctx.fillStyle = this.bgcolor || '#fff'\n ctx.fillRect(0, 0, cvs.width, cvs.height)\n ctx.fillStyle = '#000'\n\n var id = ctx.getImageData(0, 0, cvs.width, cvs.height)\n var dat = id.data\n\n for (let i = 0; i < this.pts.length; i++) {\n // PostScript builds bottom-up, we build top-down.\n let x = this.pts[i][0] - this.minx\n let y = this.pts[i][1] - this.miny\n let c = this.pts[i][2] as number[]\n let a = this.pts[i][3] / 255\n\n if (rot == 'N') {\n y = h - y - 1 // Invert y\n } else if (rot == 'I') {\n x = w - x - 1 // Invert x\n } else {\n y = w - y // Invert y\n if (rot == 'L') {\n var t = y\n y = h - x - 1\n x = t - 1\n } else {\n var t = x\n x = w - y\n y = t\n }\n }\n\n var idx = (y * id.width + x) * 4\n dat[idx + 0] = (dat[idx + 0] * (1 - a) + c[0] * a) | 0\n dat[idx + 1] = (dat[idx + 1] * (1 - a) + c[1] * a) | 0\n dat[idx + 2] = (dat[idx + 2] * (1 - a) + c[2] * a) | 0\n dat[idx + 3] = 255\n }\n\n ctx.putImageData(id, this.padx, this.pady)\n\n return cvs.toDataURL()\n }\n}\n"]}
@@ -1,5 +1,241 @@
1
- import { ComponentNature, Properties, Shape } from '@hatiolab/things-scene';
2
- declare const LabelPrinter_base: typeof Shape;
1
+ import { Component, ComponentNature, Properties, Shape } from '@hatiolab/things-scene';
2
+ declare const LabelPrinter_base: (new (...args: any[]) => {
3
+ contains(x: number, y: number): boolean;
4
+ get path(): {
5
+ x: any;
6
+ y: any;
7
+ }[];
8
+ set path(path: {
9
+ x: any;
10
+ y: any;
11
+ }[]): any;
12
+ get anchors(): {
13
+ name: string;
14
+ position: {
15
+ x: any;
16
+ y: any;
17
+ };
18
+ }[];
19
+ get bounds(): any;
20
+ set bounds(bounds: any): any;
21
+ render(ctx: CanvasRenderingContext2D): void;
22
+ _app: any;
23
+ _model: any;
24
+ _state: any;
25
+ _delta: any;
26
+ _animation: any;
27
+ _animate: any;
28
+ _parent: any;
29
+ _disposed: any;
30
+ _textHidden: any;
31
+ _text_substitutor: any;
32
+ _value_substitutor: any;
33
+ _mappings: any;
34
+ _realObject: import("@hatiolab/things-scene").IRealObject | undefined;
35
+ _cachedState: any;
36
+ updatedAt: any;
37
+ fontSize: any;
38
+ __cache__: any;
39
+ created(): void;
40
+ added(parent: any): void;
41
+ removed(parent: any): void;
42
+ ready(): Promise<void>;
43
+ touch(): void;
44
+ clearCache(...attrs: any[]): void;
45
+ removeSelf(completely: any): void;
46
+ resetAnimation(): void;
47
+ dispose(): void;
48
+ get nature(): import("@hatiolab/things-scene").ComponentNature;
49
+ get disposed(): boolean;
50
+ isLayer(): boolean;
51
+ isGroup(): boolean;
52
+ isContainer(): this is import("@hatiolab/things-scene/dist-types/types/component").Container;
53
+ isLine(): boolean;
54
+ isRoot(): boolean;
55
+ isRootModel(): boolean;
56
+ is3dish(): boolean;
57
+ get is3dMode(): boolean;
58
+ isIn3DSpace(): boolean;
59
+ isTemplate(): boolean;
60
+ isHTMLElement(): boolean;
61
+ isConnectable(): boolean;
62
+ isIdentifiable(): boolean;
63
+ isPositionable(): boolean;
64
+ replaceRefids(replaceMap: any): void;
65
+ get(property: any): any;
66
+ set(props: any, propval?: any): any;
67
+ getState(property: any): any;
68
+ setState(props: any, propval?: any): any;
69
+ get model(): any;
70
+ get state(): any;
71
+ get hierarchy(): any;
72
+ get volatile(): never[];
73
+ _applyProps(target: any, props: any, options: any): any;
74
+ move(offset: {
75
+ x: number;
76
+ y: number;
77
+ }, ...args: boolean[]): void;
78
+ symmetryX(x?: number): void;
79
+ symmetryY(y: number): void;
80
+ adjustResize(bounds: import("@hatiolab/things-scene").BOUNDS, origin_bounds: import("@hatiolab/things-scene").BOUNDS, diagonal: boolean): {
81
+ left: any;
82
+ top: any;
83
+ width: any;
84
+ height: any;
85
+ };
86
+ adjustRotation(rotation: number, step: boolean): number;
87
+ outline(progress: number): any;
88
+ get center(): import("@hatiolab/things-scene").POINT;
89
+ set center(p: import("@hatiolab/things-scene").POINT): any;
90
+ get location(): import("@hatiolab/things-scene").POINT;
91
+ set location(l: import("@hatiolab/things-scene").POINT): any;
92
+ get rotate(): import("@hatiolab/things-scene").POINT;
93
+ set rotate(r: import("@hatiolab/things-scene").POINT): any;
94
+ get dimension(): import("@hatiolab/things-scene").DIMENSION;
95
+ set dimension(d: import("@hatiolab/things-scene").DIMENSION): any;
96
+ get drawPath(): import("@hatiolab/things-scene").POINT[];
97
+ get rotatePoint(): import("@hatiolab/things-scene").POINT;
98
+ get mutable(): boolean;
99
+ get resizable(): boolean;
100
+ get rotatable(): boolean;
101
+ buildRealObject(): import("@hatiolab/things-scene").IRealObject | undefined;
102
+ get realObject(): import("@hatiolab/things-scene").IRealObject | undefined;
103
+ draw(context?: import("@hatiolab/things-scene").SceneRenderContext): void;
104
+ prerender(context: import("@hatiolab/things-scene").SceneRenderContext): void;
105
+ postrender(context: import("@hatiolab/things-scene").SceneRenderContext): void;
106
+ prepare(resolve: (component: Component) => void, reject: (reason: any) => void): void;
107
+ prepareIf(condition: boolean): void;
108
+ drawText(context: import("@hatiolab/things-scene").SceneRenderContext): void;
109
+ drawStroke(context: import("@hatiolab/things-scene").SceneRenderContext, override?: Record<string, unknown>): void;
110
+ drawFill(context: import("@hatiolab/things-scene").SceneRenderContext, override?: Record<string, unknown>): void;
111
+ get strokeStyle(): any;
112
+ set strokeStyle(v: any): any;
113
+ get fillStyle(): any;
114
+ set fillStyle(v: any): any;
115
+ get fontColor(): string;
116
+ set fontColor(v: string): any;
117
+ get rotation(): number;
118
+ set rotation(v: number): any;
119
+ get decorators(): string[];
120
+ get decotag(): string;
121
+ get hidden(): boolean;
122
+ set hidden(v: boolean): any;
123
+ get tag(): string;
124
+ set tag(v: string): any;
125
+ get appendum(): any;
126
+ set appendum(v: any): any;
127
+ defaultTextSubstitutor(): string;
128
+ textLines(context?: import("@hatiolab/things-scene").SceneRenderContext): any[][];
129
+ get font(): string;
130
+ get lineHeight(): number;
131
+ get textSubstitutor(): () => string;
132
+ get text(): string;
133
+ set text(v: string): any;
134
+ get textBounds(): import("@hatiolab/things-scene").BOUNDS;
135
+ get textRotation(): number;
136
+ get textHidden(): boolean;
137
+ set textHidden(v: boolean): any;
138
+ get hasTextProperty(): boolean;
139
+ animate(opts: import("@hatiolab/things-scene").AnimationConfig): any;
140
+ effect(context: import("@hatiolab/things-scene").SceneRenderContext, model: any): void;
141
+ serialize(...others: any[]): string;
142
+ trim(): void;
143
+ closeScene(data: any): void;
144
+ delta(attr?: string | object, value?: any): any;
145
+ invalidate(): void;
146
+ get value(): any;
147
+ set value(v: any): any;
148
+ get data(): any;
149
+ set data(v: any): any;
150
+ set tap(v: any): any;
151
+ get mappings(): any[];
152
+ get retention(): number;
153
+ get animation(): import("@hatiolab/things-scene").AnimationController | undefined;
154
+ get started(): boolean;
155
+ set started(v: boolean): any;
156
+ get controls(): import("@hatiolab/things-scene").Control[] | undefined;
157
+ findFirst(finder: string | ((c: Component) => boolean), ...others: any[]): Component | undefined;
158
+ findAll(s: string | ((c: Component) => boolean), ...others: any[]): any[] | undefined;
159
+ capture(x: number, y: number, except?: (c: Component) => boolean): any;
160
+ findAnchor(name: string): any;
161
+ isDescendible(container: Component): boolean;
162
+ getContext(component?: unknown): any;
163
+ get root(): Component;
164
+ get rootModel(): Component;
165
+ get parent(): Component;
166
+ set parent(v: Component): any;
167
+ get scalable(): boolean;
168
+ get stuck(): boolean;
169
+ get capturable(): boolean;
170
+ get position(): string;
171
+ get origin(): string;
172
+ get offset(): import("@hatiolab/things-scene").POINT;
173
+ get app(): import("@hatiolab/things-scene").ApplicationContext;
174
+ drawEffect(context: import("@hatiolab/things-scene").SceneRenderContext): void;
175
+ prepareFill(resolve: Function, reject: Function): void;
176
+ prepareFillIf(condition: boolean): void;
177
+ onchangeFill(after: Record<string, any>, before: Record<string, any>): void;
178
+ drawImage(context: import("@hatiolab/things-scene").SceneRenderContext, image: HTMLImageElement, left: number, top: number, width: number, height: number): void;
179
+ mutateBounds(logic: ((bounds: import("@hatiolab/things-scene").BOUNDS) => import("@hatiolab/things-scene").BOUNDS | void) | null, context?: any): void;
180
+ mutatePath(beforeLogic: ((path: import("@hatiolab/things-scene").POINT[]) => import("@hatiolab/things-scene").POINT[] | void) | null, afterLogic: ((path: import("@hatiolab/things-scene").POINT[]) => import("@hatiolab/things-scene").POINT[] | void) | null, context?: any): void;
181
+ access(accessor: string): any;
182
+ substitute(template: string, data: any): string | undefined;
183
+ onchangeMappings(after: Record<string, any>, before: Record<string, any>): void;
184
+ onchangeData(after: Record<string, any>, before: Record<string, any>): void;
185
+ buildMappings(): void;
186
+ executeMappings(force?: boolean): void;
187
+ disposeMappings(): void;
188
+ ondropfile(transfered: FileList, files: string[]): void;
189
+ transcoordS2P(x: number, y: number, rp?: import("@hatiolab/things-scene").POINT): import("@hatiolab/things-scene").POINT;
190
+ transcoordP2S(x: number, y: number, rp?: import("@hatiolab/things-scene").POINT): import("@hatiolab/things-scene").POINT;
191
+ transcoordS2T(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
192
+ transcoordT2P(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
193
+ transcoordT2S(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
194
+ transcoordS2TR(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
195
+ transcoordS2O(x: number, y: number, target: Component): import("@hatiolab/things-scene").POINT;
196
+ transcoordC2S(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
197
+ transcoordS2C(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
198
+ toParent(x: number, y: number, rp?: import("@hatiolab/things-scene").POINT): import("@hatiolab/things-scene").POINT;
199
+ fromParent(x: number, y: number, rp?: import("@hatiolab/things-scene").POINT): import("@hatiolab/things-scene").POINT;
200
+ toScene(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
201
+ fromScene(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
202
+ toLocal(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
203
+ toGlobal(x: number, y: number, top?: Component): import("@hatiolab/things-scene").POINT;
204
+ toOther(x: number, y: number, target: Component): import("@hatiolab/things-scene").POINT;
205
+ on(name: string | object, callback: Function, context?: any): any;
206
+ off(name?: string | object, callback?: Function, context?: any): any;
207
+ once(name: string | object, callback: Function, context?: any): any;
208
+ trigger(name: string, ...args: any[]): any;
209
+ delegate_on(delegator: any): any;
210
+ delegate_off(delegator: any): any;
211
+ onchange(after: Record<string, any>, before: Record<string, any>): void;
212
+ calculateBounds?(): void;
213
+ oncreate_element?(element: HTMLElement): void;
214
+ removeComponent(component: Component, ghost?: boolean): void;
215
+ addComponent(component: Component, ghost?: boolean): void;
216
+ insertComponentAt(component: Component, index: number, ghost?: boolean): void;
217
+ getOverlay(component: Component): HTMLElement | undefined;
218
+ findById(id: string): Component | undefined;
219
+ findByRefid(ref: string | number): Component | undefined;
220
+ findAllById(id: string): Component[];
221
+ resize(): void;
222
+ fit(type?: string): void;
223
+ get components(): Component[] | undefined;
224
+ get layout(): any;
225
+ get auxOverlay(): HTMLElement | undefined;
226
+ get isReady(): boolean;
227
+ get unitScale(): number;
228
+ get selected(): Component[];
229
+ set selected(_v: Component[]): any;
230
+ get focused(): Component | null;
231
+ set focused(_v: Component | null): any;
232
+ get hasSameParentForAllSelected(): boolean;
233
+ set hasSameParentForAllSelected(_v: boolean): any;
234
+ get fitMode(): string | undefined;
235
+ set fitMode(_v: string | undefined): any;
236
+ get element(): HTMLElement | null;
237
+ set element(_v: HTMLElement | null): any;
238
+ }) & typeof Shape;
3
239
  export default class LabelPrinter extends LabelPrinter_base {
4
240
  private static _image;
5
241
  private printer?;
@@ -47,7 +47,10 @@ const NATURE = {
47
47
  'value-property': 'data',
48
48
  help: 'scene/component/label-printer'
49
49
  };
50
- let LabelPrinter = LabelPrinter_1 = class LabelPrinter extends RectPath(Shape) {
50
+ let LabelPrinter = class LabelPrinter extends RectPath(Shape) {
51
+ static { LabelPrinter_1 = this; }
52
+ static _image;
53
+ printer;
51
54
  static get image() {
52
55
  if (!LabelPrinter_1._image) {
53
56
  LabelPrinter_1._image = new Image();
@@ -1 +1 @@
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, sceneComponent } from '@hatiolab/things-scene'\nimport { BrowserPrinter, USBPrinter } from '@operato/barcode'\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\n@sceneComponent('label-printer')\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"]}
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, sceneComponent } from '@hatiolab/things-scene'\nimport { BrowserPrinter, USBPrinter } from '@operato/barcode'\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\n@sceneComponent('label-printer')\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"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@operato/scene-label",
3
3
  "description": "Barcode Label component for things-scene",
4
- "version": "9.1.1",
4
+ "version": "10.0.0-beta.2",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "things-scene": true,
@@ -10,7 +10,7 @@
10
10
  "author": "heartyoh",
11
11
  "publishConfig": {
12
12
  "access": "public",
13
- "@oprato:registry": "https://registry.npmjs.org"
13
+ "@operato:registry": "https://registry.npmjs.org"
14
14
  },
15
15
  "repository": {
16
16
  "type": "git",
@@ -22,32 +22,32 @@
22
22
  "serve:dev": "npm run serve",
23
23
  "start": "tsc && concurrently -k -r \"tsc --watch --preserveWatchOutput\" \"wds\"",
24
24
  "build": "tsc",
25
- "prepublish": "tsc",
26
- "lint": "eslint --ext .ts,.html . --ignore-path .gitignore && prettier \"**/*.ts\" --check --ignore-path .gitignore",
27
- "format": "eslint --ext .ts,.html . --fix --ignore-path .gitignore && prettier \"**/*.ts\" --write --ignore-path .gitignore",
25
+ "prepublishOnly": "tsc",
26
+ "lint": "eslint src/ && prettier \"src/**/*.ts\" --check",
27
+ "format": "eslint src/ --fix && prettier \"src/**/*.ts\" --write",
28
28
  "migration": "things-factory-migration"
29
29
  },
30
30
  "dependencies": {
31
- "@hatiolab/things-scene": "^9.0.0",
32
- "@operato/barcode": "^9.0.0",
33
- "@operato/input": "^9.0.0",
31
+ "@hatiolab/things-scene": "^10.0.0-beta.1",
32
+ "@operato/barcode": "^10.0.0-beta.1",
33
+ "@operato/input": "^10.0.0-beta.1",
34
34
  "bwip-js": "^4.4.0"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@hatiolab/prettier-config": "^1.0.0",
38
- "@things-factory/builder": "^9.0.0",
39
- "@things-factory/operato-board": "^9.0.0",
38
+ "@things-factory/builder": "^10.0.0-beta.1",
39
+ "@things-factory/operato-board": "^10.0.0-beta.1",
40
40
  "@types/codemirror": "^5.60.5",
41
41
  "@types/w3c-web-usb": "^1.0.5",
42
- "@typescript-eslint/eslint-plugin": "^4.33.0",
43
- "@typescript-eslint/parser": "^4.33.0",
42
+ "@typescript-eslint/eslint-plugin": "^8.0.0",
43
+ "@typescript-eslint/parser": "^8.0.0",
44
44
  "@web/dev-server": "^0.1.28",
45
45
  "concurrently": "^8.0.1",
46
46
  "eslint": "^9.18.0",
47
47
  "eslint-config-prettier": "^10.0.1",
48
48
  "husky": "^8.0.3",
49
- "lint-staged": "^13.2.2",
50
- "prettier": "^2.4.1",
49
+ "lint-staged": "^15.2.2",
50
+ "prettier": "^3.2.5",
51
51
  "tslib": "^2.3.1",
52
52
  "typescript": "^5.0.4"
53
53
  },
@@ -63,5 +63,5 @@
63
63
  "prettier --write"
64
64
  ]
65
65
  },
66
- "gitHead": "14946e6f709e9b427a43ac6c5751b4fdb58961dd"
66
+ "gitHead": "350ece104754d007967cf8e3f54d0d157465e94a"
67
67
  }