@meta2d/core 1.0.86 → 1.0.88
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/canvas/canvas.js +39 -22
- package/src/canvas/canvas.js.map +1 -1
- package/src/canvas/canvasImage.js +3 -3
- package/src/canvas/canvasImage.js.map +1 -1
- package/src/canvas/canvasTemplate.js +1 -1
- package/src/canvas/canvasTemplate.js.map +1 -1
- package/src/core.js +24 -9
- package/src/core.js.map +1 -1
- package/src/dialog/dialog.d.ts +1 -0
- package/src/dialog/dialog.js +45 -20
- package/src/dialog/dialog.js.map +1 -1
- package/src/pen/model.d.ts +3 -0
- package/src/pen/model.js +1 -0
- package/src/pen/model.js.map +1 -1
- package/src/pen/render.js +73 -22
- package/src/pen/render.js.map +1 -1
- package/src/pen/text.js +4 -4
- package/src/pen/text.js.map +1 -1
package/src/dialog/dialog.d.ts
CHANGED
package/src/dialog/dialog.js
CHANGED
|
@@ -14,6 +14,7 @@ export class Dialog {
|
|
|
14
14
|
meta2dDiv;
|
|
15
15
|
dialogMeta2d;
|
|
16
16
|
store;
|
|
17
|
+
data;
|
|
17
18
|
constructor(parentElement, store) {
|
|
18
19
|
this.parentElement = parentElement;
|
|
19
20
|
this.store = store;
|
|
@@ -141,7 +142,9 @@ export class Dialog {
|
|
|
141
142
|
if (!url) {
|
|
142
143
|
return;
|
|
143
144
|
}
|
|
145
|
+
this.data = data;
|
|
144
146
|
const isIframe = this.isUrl(url);
|
|
147
|
+
let urlChange = false;
|
|
145
148
|
if (isIframe) {
|
|
146
149
|
this.meta2dDiv.style.display = 'none';
|
|
147
150
|
this.iframe.style.display = 'block';
|
|
@@ -153,6 +156,7 @@ export class Dialog {
|
|
|
153
156
|
if (isIframe && url !== this.url) {
|
|
154
157
|
this.iframe.setAttribute('src', url);
|
|
155
158
|
this.url = url;
|
|
159
|
+
urlChange = true;
|
|
156
160
|
}
|
|
157
161
|
title && (this.title.innerText = title);
|
|
158
162
|
if (!title) {
|
|
@@ -167,7 +171,7 @@ export class Dialog {
|
|
|
167
171
|
else {
|
|
168
172
|
this.dialog.style.padding = '16px 20px';
|
|
169
173
|
this.title.style.display = 'block';
|
|
170
|
-
this.body.style.height = 'calc(100% -
|
|
174
|
+
this.body.style.height = 'calc(100% - 30px)';
|
|
171
175
|
this.close.style.top = '2px';
|
|
172
176
|
this.close.style.right = '2px';
|
|
173
177
|
this.body.style.background = '#1e2430';
|
|
@@ -178,25 +182,32 @@ export class Dialog {
|
|
|
178
182
|
this.dialog.style.top = rect.y ? (rect.y + 'px') : (rect.height ? `calc( 50% - ${rect.height / 2}px )` : '15vh');
|
|
179
183
|
this.dialog.style.left = rect.x ? (rect.x + 'px') : `calc( 50% - ${rect.width ? rect.width / 2 + 'px' : '40%'} )`;
|
|
180
184
|
}
|
|
181
|
-
if
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
}
|
|
199
|
-
|
|
185
|
+
// if(isIframe && data && isSameOrigin(url)){
|
|
186
|
+
// let timeout = 0;
|
|
187
|
+
// const interval = setInterval(() => {
|
|
188
|
+
// if((this.iframe.contentWindow as any).meta2d){
|
|
189
|
+
// clearInterval(interval);
|
|
190
|
+
// setTimeout(()=>{
|
|
191
|
+
// this.iframe.contentWindow.postMessage(
|
|
192
|
+
// JSON.stringify({
|
|
193
|
+
// name:'dialog',
|
|
194
|
+
// data
|
|
195
|
+
// }),
|
|
196
|
+
// '*');
|
|
197
|
+
// },100);
|
|
198
|
+
// }
|
|
199
|
+
// timeout++;
|
|
200
|
+
// if(timeout > 50){
|
|
201
|
+
// clearInterval(interval);
|
|
202
|
+
// }
|
|
203
|
+
// },300);
|
|
204
|
+
// }
|
|
205
|
+
this.iframe.onload = () => {
|
|
206
|
+
if (!this.dialogMeta2d || isIframe) {
|
|
207
|
+
this.box.style.display = 'block';
|
|
208
|
+
}
|
|
209
|
+
};
|
|
210
|
+
if (!urlChange && (!this.dialogMeta2d || isIframe)) {
|
|
200
211
|
this.box.style.display = 'block';
|
|
201
212
|
}
|
|
202
213
|
if (!isIframe) {
|
|
@@ -236,4 +247,18 @@ export class Dialog {
|
|
|
236
247
|
this.dialogMeta2d?.destroy(true);
|
|
237
248
|
}
|
|
238
249
|
}
|
|
250
|
+
function isSameOrigin(url) {
|
|
251
|
+
if (url.startsWith('/')) {
|
|
252
|
+
return true;
|
|
253
|
+
}
|
|
254
|
+
try {
|
|
255
|
+
const _url = new URL(url);
|
|
256
|
+
return (location.protocol === _url.protocol &&
|
|
257
|
+
location.hostname === _url.hostname &&
|
|
258
|
+
location.port === _url.port);
|
|
259
|
+
}
|
|
260
|
+
catch (e) {
|
|
261
|
+
return false;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
239
264
|
//# sourceMappingURL=dialog.js.map
|
package/src/dialog/dialog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../../../packages/core/src/dialog/dialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,OAAO,MAAM;
|
|
1
|
+
{"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../../../packages/core/src/dialog/dialog.ts"],"names":[],"mappings":"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"}
|
package/src/pen/model.d.ts
CHANGED
|
@@ -160,6 +160,7 @@ export interface Pen extends Rect {
|
|
|
160
160
|
textBackground?: string;
|
|
161
161
|
whiteSpace?: WhiteSpace;
|
|
162
162
|
ellipsis?: boolean;
|
|
163
|
+
letterSpacing?: number;
|
|
163
164
|
image?: string;
|
|
164
165
|
icon?: string;
|
|
165
166
|
iconRotate?: number;
|
|
@@ -278,6 +279,7 @@ export interface Pen extends Rect {
|
|
|
278
279
|
imageRadius?: number;
|
|
279
280
|
textFlip?: boolean;
|
|
280
281
|
textRotate?: boolean;
|
|
282
|
+
rotateByRoot?: boolean;
|
|
281
283
|
textAutoAdjust?: boolean;
|
|
282
284
|
dbInput?: boolean;
|
|
283
285
|
operationalRect?: Rect;
|
|
@@ -391,6 +393,7 @@ export interface Pen extends Rect {
|
|
|
391
393
|
lineHeight?: number;
|
|
392
394
|
fontStyle?: string;
|
|
393
395
|
fontWeight?: string;
|
|
396
|
+
letterSpacing?: number;
|
|
394
397
|
textBackground?: string;
|
|
395
398
|
iconSize?: number;
|
|
396
399
|
icon?: string;
|
package/src/pen/model.js
CHANGED
package/src/pen/model.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../packages/core/src/pen/model.ts"],"names":[],"mappings":"AAKA,MAAM,CAAN,IAAY,OAGX;AAHD,WAAY,OAAO;IACjB,qCAAI,CAAA;IACJ,qCAAI,CAAA;AACN,CAAC,EAHW,OAAO,KAAP,OAAO,QAGlB;AAED,MAAM,CAAN,IAAY,SAQX;AARD,WAAY,SAAS;IACnB,yCAAI,CAAA;IACJ,uDAAW,CAAA;IACX,uDAAW,CAAA;IACX,yDAAY,CAAA;IACZ,iEAAgB,CAAA;IAChB,iBAAiB;IACjB,gDAAY,CAAA;AACd,CAAC,EARW,SAAS,KAAT,SAAS,QAQpB;AAED,MAAM,CAAN,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,iDAAO,CAAA;IACP,uCAAE,CAAA;IACF,yCAAG,CAAA;AACL,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB;AAED,MAAM,CAAN,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,uCAAI,CAAA;IACJ,2CAAM,CAAA;IACN,2CAAM,CAAA;AACR,CAAC,EAJW,QAAQ,KAAR,QAAQ,QAInB;AAED,oBAAoB;AACpB,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,iEAAkB,CAAA;IAClB,uEAAiB,CAAA;IACjB,yDAAU,CAAA;IACV,2DAAW,CAAA,CAAC,OAAO;AACrB,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB;AAED,qBAAqB;AACrB,gBAAgB;AAChB,wBAAwB;AACxB,sBAAsB;AACtB,iBAAiB;AACjB,IAAI;AAEJ,wBAAwB;AACxB,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,MAAM;IACN,WAAW;IACX,YAAY;IACZ,UAAU;IACV,SAAS;IACT,YAAY;IACZ,UAAU;IACV,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,WAAW;IACX,cAAc;IACd,YAAY;IACZ,UAAU;IACV,aAAa;
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../packages/core/src/pen/model.ts"],"names":[],"mappings":"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"}
|
package/src/pen/render.js
CHANGED
|
@@ -740,6 +740,9 @@ export function drawImage(ctx, pen) {
|
|
|
740
740
|
let _width = img.naturalWidth;
|
|
741
741
|
let _height = img.naturalHeight;
|
|
742
742
|
offsety = (height / width * _width - _height) / 2;
|
|
743
|
+
if (height - 2 * offsety < 0) {
|
|
744
|
+
offsety = (height - _height / _width * width) / 2;
|
|
745
|
+
}
|
|
743
746
|
_y = y + offsety;
|
|
744
747
|
}
|
|
745
748
|
ctx.drawImage(img, x, _y, width, height - 2 * offsety);
|
|
@@ -832,8 +835,14 @@ function drawText(ctx, pen) {
|
|
|
832
835
|
else if (textAlign === 'right') {
|
|
833
836
|
x = width - textLineWidth;
|
|
834
837
|
}
|
|
838
|
+
// 字间距
|
|
839
|
+
if (pen.letterSpacing) {
|
|
840
|
+
fillTextWithSpacing(ctx, text, drawRectX + x, drawRectY + (i + y) * oneRowHeight, pen.calculative.letterSpacing);
|
|
841
|
+
}
|
|
842
|
+
else {
|
|
843
|
+
ctx.fillText(text, drawRectX + x, drawRectY + (i + y) * oneRowHeight);
|
|
844
|
+
}
|
|
835
845
|
// 下划线
|
|
836
|
-
ctx.fillText(text, drawRectX + x, drawRectY + (i + y) * oneRowHeight);
|
|
837
846
|
const { textDecorationColor, textDecorationDash, textDecoration } = pen;
|
|
838
847
|
if (textDecoration) {
|
|
839
848
|
drawUnderLine(ctx, {
|
|
@@ -854,6 +863,17 @@ function drawText(ctx, pen) {
|
|
|
854
863
|
});
|
|
855
864
|
ctx.restore();
|
|
856
865
|
}
|
|
866
|
+
function fillTextWithSpacing(ctx, text, x, y, spacing = 0) {
|
|
867
|
+
if (spacing === 0) {
|
|
868
|
+
ctx.fillText(text, x, y);
|
|
869
|
+
return;
|
|
870
|
+
}
|
|
871
|
+
let totalWidth = 0;
|
|
872
|
+
for (let i = 0; i < text.length; i++) {
|
|
873
|
+
ctx.fillText(text[i], x + totalWidth, y);
|
|
874
|
+
totalWidth += ctx.measureText(text[i]).width + spacing;
|
|
875
|
+
}
|
|
876
|
+
}
|
|
857
877
|
function drawUnderLine(ctx, location, config) {
|
|
858
878
|
const { textDecorationColor, textDecorationDash, fontSize } = config;
|
|
859
879
|
let { x, y, width } = location;
|
|
@@ -1071,20 +1091,42 @@ export function ctxFlip(ctx, pen) {
|
|
|
1071
1091
|
}
|
|
1072
1092
|
}
|
|
1073
1093
|
export function ctxRotate(ctx, pen, noFlip = false) {
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
rotate
|
|
1094
|
+
if (pen.parentId && pen.rotateByRoot) {
|
|
1095
|
+
let rootParent = getParent(pen, true);
|
|
1096
|
+
if (rootParent) {
|
|
1097
|
+
const { x, y } = rootParent.calculative.worldRect.pivot ||
|
|
1098
|
+
rootParent.calculative.worldRect.center;
|
|
1099
|
+
ctx.translate(x, y);
|
|
1100
|
+
let rotate = (rootParent.calculative.rotate * Math.PI) / 180;
|
|
1101
|
+
// 目前只有水平和垂直翻转,都需要 * -1
|
|
1102
|
+
if (!noFlip) {
|
|
1103
|
+
if (rootParent.calculative.flipX) {
|
|
1104
|
+
rotate *= -1;
|
|
1105
|
+
}
|
|
1106
|
+
if (rootParent.calculative.flipY) {
|
|
1107
|
+
rotate *= -1;
|
|
1108
|
+
}
|
|
1109
|
+
}
|
|
1110
|
+
ctx.rotate(rotate);
|
|
1111
|
+
ctx.translate(-x, -y);
|
|
1081
1112
|
}
|
|
1082
|
-
|
|
1083
|
-
|
|
1113
|
+
}
|
|
1114
|
+
else {
|
|
1115
|
+
const { x, y } = pen.calculative.worldRect.pivot || pen.calculative.worldRect.center;
|
|
1116
|
+
ctx.translate(x, y);
|
|
1117
|
+
let rotate = (pen.calculative.rotate * Math.PI) / 180;
|
|
1118
|
+
// 目前只有水平和垂直翻转,都需要 * -1
|
|
1119
|
+
if (!noFlip) {
|
|
1120
|
+
if (pen.calculative.flipX) {
|
|
1121
|
+
rotate *= -1;
|
|
1122
|
+
}
|
|
1123
|
+
if (pen.calculative.flipY) {
|
|
1124
|
+
rotate *= -1;
|
|
1125
|
+
}
|
|
1084
1126
|
}
|
|
1127
|
+
ctx.rotate(rotate);
|
|
1128
|
+
ctx.translate(-x, -y);
|
|
1085
1129
|
}
|
|
1086
|
-
ctx.rotate(rotate);
|
|
1087
|
-
ctx.translate(-x, -y);
|
|
1088
1130
|
}
|
|
1089
1131
|
export function renderPen(ctx, pen, download) {
|
|
1090
1132
|
ctx.save();
|
|
@@ -1098,7 +1140,7 @@ export function renderPen(ctx, pen, download) {
|
|
|
1098
1140
|
ctx.save();
|
|
1099
1141
|
}
|
|
1100
1142
|
ctxFlip(ctx, pen);
|
|
1101
|
-
if (pen.calculative.rotate && pen.name !== 'line') {
|
|
1143
|
+
if (pen.rotateByRoot || (pen.calculative.rotate && pen.name !== 'line')) {
|
|
1102
1144
|
ctxRotate(ctx, pen);
|
|
1103
1145
|
}
|
|
1104
1146
|
if (pen.calculative.lineWidth > 1 || download) {
|
|
@@ -1272,7 +1314,7 @@ export function renderPen(ctx, pen, download) {
|
|
|
1272
1314
|
ctxFlip(ctx, pen);
|
|
1273
1315
|
}
|
|
1274
1316
|
if (!textFlip && textRotate) {
|
|
1275
|
-
if (pen.calculative.rotate && pen.name !== 'line') {
|
|
1317
|
+
if (pen.rotateByRoot || (pen.calculative.rotate && pen.name !== 'line')) {
|
|
1276
1318
|
ctxRotate(ctx, pen, true);
|
|
1277
1319
|
}
|
|
1278
1320
|
}
|
|
@@ -1347,7 +1389,7 @@ export function renderPenRaw(ctx, pen, rect, download) {
|
|
|
1347
1389
|
}
|
|
1348
1390
|
ctx.scale(1, -1);
|
|
1349
1391
|
}
|
|
1350
|
-
if (pen.calculative.rotate && pen.name !== 'line') {
|
|
1392
|
+
if (pen.rotateByRoot || (pen.calculative.rotate && pen.name !== 'line')) {
|
|
1351
1393
|
ctxRotate(ctx, pen);
|
|
1352
1394
|
}
|
|
1353
1395
|
if (pen.calculative.lineWidth > 1 || download) {
|
|
@@ -1457,7 +1499,7 @@ export function renderPenRaw(ctx, pen, rect, download) {
|
|
|
1457
1499
|
}
|
|
1458
1500
|
}
|
|
1459
1501
|
if (!textFlip && textRotate) {
|
|
1460
|
-
if (pen.calculative.rotate && pen.name !== 'line') {
|
|
1502
|
+
if (pen.rotateByRoot || (pen.calculative.rotate && pen.name !== 'line')) {
|
|
1461
1503
|
ctxRotate(ctx, pen, true);
|
|
1462
1504
|
}
|
|
1463
1505
|
}
|
|
@@ -2975,10 +3017,16 @@ export function setElemPosition(pen, elem) {
|
|
|
2975
3017
|
elem.style.top = worldRect.y + store.data.y + 'px';
|
|
2976
3018
|
elem.style.width = worldRect.width + 'px';
|
|
2977
3019
|
elem.style.height = worldRect.height + 'px';
|
|
2978
|
-
|
|
2979
|
-
|
|
2980
|
-
|
|
2981
|
-
|
|
3020
|
+
if (pen.name === 'iframe') {
|
|
3021
|
+
elem.style.opacity =
|
|
3022
|
+
pen.calculative.inView ? '1' : '0'; // 是否隐藏元素
|
|
3023
|
+
}
|
|
3024
|
+
else {
|
|
3025
|
+
elem.style.display =
|
|
3026
|
+
pen.calculative.inView != false
|
|
3027
|
+
? pen.calculative.cssDisplay || 'inline'
|
|
3028
|
+
: 'none'; // 是否隐藏元素
|
|
3029
|
+
}
|
|
2982
3030
|
!pen.calculative.rotate && (pen.calculative.rotate = 0);
|
|
2983
3031
|
elem.style.transform = `rotate(${pen.calculative.rotate}deg)`;
|
|
2984
3032
|
if (!pen.calculative.rotate) {
|
|
@@ -3055,7 +3103,10 @@ export function getPensDisableRotate(pens) {
|
|
|
3055
3103
|
return pens.every((pen) => pen.disableRotate);
|
|
3056
3104
|
}
|
|
3057
3105
|
export function rotatePen(pen, angle, rect) {
|
|
3058
|
-
if (pen.
|
|
3106
|
+
if (pen.rotateByRoot) {
|
|
3107
|
+
return;
|
|
3108
|
+
}
|
|
3109
|
+
if (pen.name === 'line') {
|
|
3059
3110
|
pen.calculative.worldAnchors.forEach((anchor) => {
|
|
3060
3111
|
rotatePoint(anchor, angle, rect.center);
|
|
3061
3112
|
});
|
|
@@ -3373,7 +3424,7 @@ function dealWithDXF(command, pen, startX, startY) {
|
|
|
3373
3424
|
return {
|
|
3374
3425
|
c: '_fillStyle',
|
|
3375
3426
|
v: {
|
|
3376
|
-
value:
|
|
3427
|
+
value: command.v.value || pen.color
|
|
3377
3428
|
}
|
|
3378
3429
|
};
|
|
3379
3430
|
default:
|