@node-projects/web-component-designer-zpl 0.1.11 → 0.1.13
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.
|
@@ -5,6 +5,7 @@ import { ZplGraphicDiagonalLine } from "../widgets/zpl-graphic-diagonal-line.js"
|
|
|
5
5
|
import { ZplGraphicCircle } from "../widgets/zpl-graphic-circle.js";
|
|
6
6
|
import { ZplText } from "../widgets/zpl-text.js";
|
|
7
7
|
import { ZplImage } from "../widgets/zpl-image.js";
|
|
8
|
+
import { ZplComment } from "../widgets/zpl-comment.js";
|
|
8
9
|
function getSetValue(...args) {
|
|
9
10
|
for (let a of args)
|
|
10
11
|
if (a != '' && a != null && a != "NaN")
|
|
@@ -52,7 +53,14 @@ export class ZplParserService {
|
|
|
52
53
|
switch (command) {
|
|
53
54
|
case "XA":
|
|
54
55
|
case "XZ":
|
|
56
|
+
break;
|
|
55
57
|
case "FX":
|
|
58
|
+
let comment = new ZplComment();
|
|
59
|
+
comment.style.position = "absolute";
|
|
60
|
+
comment.style.left = x + "px";
|
|
61
|
+
comment.style.top = y + "px";
|
|
62
|
+
comment.setAttribute("content", fieldString);
|
|
63
|
+
designItems.push(DesignItem.createDesignItemFromInstance(comment, serviceContainer, instanceServiceContainer));
|
|
56
64
|
break;
|
|
57
65
|
case "CF":
|
|
58
66
|
fontName = fields[0];
|
|
@@ -159,7 +167,7 @@ export class ZplParserService {
|
|
|
159
167
|
text.setAttribute("font-name", fontName);
|
|
160
168
|
text.setAttribute("font-height", fontHeight.toString());
|
|
161
169
|
text.setAttribute("font-width", fontWidth.toString());
|
|
162
|
-
text.setAttribute("content",
|
|
170
|
+
text.setAttribute("content", fieldString);
|
|
163
171
|
designItems.push(DesignItem.createDesignItemFromInstance(text, serviceContainer, instanceServiceContainer));
|
|
164
172
|
}
|
|
165
173
|
break;
|
|
@@ -198,7 +206,6 @@ export class ZplParserService {
|
|
|
198
206
|
}
|
|
199
207
|
tx += "^XZ";
|
|
200
208
|
textWriter.writeLine("^XA");
|
|
201
|
-
textWriter.writeLine("^FX Comment for printersettings");
|
|
202
209
|
// textWriter.writeLine("^FX For better view visit http://labelary.com/viewer.html?zpl=" + encodeURIComponent(tx));
|
|
203
210
|
for (let d of designItems) {
|
|
204
211
|
let start = textWriter.position;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BaseCustomWebComponentConstructorAppend } from "@node-projects/base-custom-webcomponent";
|
|
2
|
+
export declare class ZplComment extends BaseCustomWebComponentConstructorAppend {
|
|
3
|
+
static readonly style: CSSStyleSheet;
|
|
4
|
+
static readonly template: HTMLTemplateElement;
|
|
5
|
+
static readonly is = "zpl-comment";
|
|
6
|
+
content: string;
|
|
7
|
+
static readonly properties: {
|
|
8
|
+
content: StringConstructor;
|
|
9
|
+
};
|
|
10
|
+
constructor();
|
|
11
|
+
ready(): Promise<void>;
|
|
12
|
+
createZpl(): string;
|
|
13
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { BaseCustomWebComponentConstructorAppend, css, html } from "@node-projects/base-custom-webcomponent";
|
|
2
|
+
export class ZplComment extends BaseCustomWebComponentConstructorAppend {
|
|
3
|
+
static style = css `
|
|
4
|
+
:host {
|
|
5
|
+
display: none;
|
|
6
|
+
}`;
|
|
7
|
+
static template = html ``;
|
|
8
|
+
static is = 'zpl-comment';
|
|
9
|
+
content;
|
|
10
|
+
static properties = {
|
|
11
|
+
content: String
|
|
12
|
+
};
|
|
13
|
+
constructor() {
|
|
14
|
+
super();
|
|
15
|
+
this._restoreCachedInititalValues();
|
|
16
|
+
}
|
|
17
|
+
async ready() {
|
|
18
|
+
this._parseAttributesToProperties();
|
|
19
|
+
}
|
|
20
|
+
createZpl() {
|
|
21
|
+
let zpl = "";
|
|
22
|
+
zpl += "^FX" + this.content;
|
|
23
|
+
return zpl;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
customElements.define(ZplComment.is, ZplComment);
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { BaseCustomWebComponentConstructorAppend } from "@node-projects/base-custom-webcomponent";
|
|
2
|
+
declare enum FontNames {
|
|
3
|
+
Font_0 = "0",
|
|
4
|
+
Font_A = "A"
|
|
5
|
+
}
|
|
6
|
+
export declare class ZplText extends BaseCustomWebComponentConstructorAppend {
|
|
7
|
+
static readonly style: CSSStyleSheet;
|
|
8
|
+
static readonly template: HTMLTemplateElement;
|
|
9
|
+
static readonly is = "zpl-text";
|
|
10
|
+
content: string;
|
|
11
|
+
fontName: string;
|
|
12
|
+
fontHeight: number;
|
|
13
|
+
fontWidth: number;
|
|
14
|
+
private _text;
|
|
15
|
+
static readonly properties: {
|
|
16
|
+
content: StringConstructor;
|
|
17
|
+
fontName: typeof FontNames;
|
|
18
|
+
fontHeight: NumberConstructor;
|
|
19
|
+
fontWidth: NumberConstructor;
|
|
20
|
+
};
|
|
21
|
+
constructor();
|
|
22
|
+
ready(): Promise<void>;
|
|
23
|
+
createZpl(): string;
|
|
24
|
+
}
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { BaseCustomWebComponentConstructorAppend, css, html } from "@node-projects/base-custom-webcomponent";
|
|
2
|
+
import { getZplCoordinates } from "../zplHelper.js";
|
|
3
|
+
var FontNames;
|
|
4
|
+
(function (FontNames) {
|
|
5
|
+
FontNames["Font_0"] = "0";
|
|
6
|
+
FontNames["Font_A"] = "A";
|
|
7
|
+
})(FontNames || (FontNames = {}));
|
|
8
|
+
export class ZplText extends BaseCustomWebComponentConstructorAppend {
|
|
9
|
+
static style = css `
|
|
10
|
+
*{
|
|
11
|
+
box-sizing: border-box;
|
|
12
|
+
}
|
|
13
|
+
`;
|
|
14
|
+
static template = html `
|
|
15
|
+
<div id="text-div" style="width: 100%; height: 100%; pointer-events: none">
|
|
16
|
+
</div>
|
|
17
|
+
`;
|
|
18
|
+
static is = 'zpl-text';
|
|
19
|
+
content;
|
|
20
|
+
fontName;
|
|
21
|
+
fontHeight;
|
|
22
|
+
fontWidth;
|
|
23
|
+
_text;
|
|
24
|
+
static properties = {
|
|
25
|
+
content: String,
|
|
26
|
+
fontName: FontNames,
|
|
27
|
+
fontHeight: Number,
|
|
28
|
+
fontWidth: Number
|
|
29
|
+
};
|
|
30
|
+
constructor() {
|
|
31
|
+
super();
|
|
32
|
+
this._restoreCachedInititalValues();
|
|
33
|
+
this._text = this._getDomElement("text-div");
|
|
34
|
+
}
|
|
35
|
+
async ready() {
|
|
36
|
+
this._parseAttributesToProperties();
|
|
37
|
+
this._text.innerHTML = this.content;
|
|
38
|
+
this._text.style.transformOrigin = "0 0";
|
|
39
|
+
switch (this.fontName) {
|
|
40
|
+
case FontNames.Font_0:
|
|
41
|
+
this._text.style.fontSize = "9px";
|
|
42
|
+
this._text.style.fontFamily = "RobotoCn, Verdana";
|
|
43
|
+
this._text.style.fontKerning = "none";
|
|
44
|
+
this._text.style.transform = "scaleX(" + this.fontWidth / 9 + ") scaleY(" + this.fontHeight / 9 + ") translate(0px, -3px)";
|
|
45
|
+
break;
|
|
46
|
+
case FontNames.Font_A:
|
|
47
|
+
this._text.style.fontSize = "9px";
|
|
48
|
+
this._text.style.fontFamily = "monospace";
|
|
49
|
+
this._text.style.transform = "scaleX(" + this.fontWidth / 5 + ") scaleY(" + this.fontHeight / 8 + ") translate(0px, -3px)";
|
|
50
|
+
break;
|
|
51
|
+
}
|
|
52
|
+
this.style.width = '';
|
|
53
|
+
this.style.height = '';
|
|
54
|
+
requestAnimationFrame(() => {
|
|
55
|
+
let rect = this._text.getBoundingClientRect();
|
|
56
|
+
this.style.width = rect.width + 'px';
|
|
57
|
+
this.style.height = rect.height / 2 + 'px';
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
createZpl() {
|
|
61
|
+
let zpl = "";
|
|
62
|
+
zpl += getZplCoordinates(this, 0);
|
|
63
|
+
zpl += "^CF" + this.fontName + "," + this.fontHeight + "," + this.fontWidth;
|
|
64
|
+
zpl += "^FD" + this.content;
|
|
65
|
+
zpl += "^FS";
|
|
66
|
+
return zpl;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
customElements.define(ZplText.is, ZplText);
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"description": "web-component-designer addon: Widgets and Services for creating a ZPL Designer",
|
|
3
3
|
"name": "@node-projects/web-component-designer-zpl",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.13",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"author": "jochen.kuehner@gmx.de",
|