@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.
@@ -14,6 +14,7 @@ export declare class Dialog {
14
14
  meta2dDiv: HTMLElement;
15
15
  dialogMeta2d: Meta2d;
16
16
  store: Meta2dStore;
17
+ data: any;
17
18
  constructor(parentElement: HTMLElement, store: Meta2dStore);
18
19
  show(title?: string, url?: string, rect?: {
19
20
  x: number;
@@ -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% - 26px)';
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 (isIframe && data) {
182
- let timeout = 0;
183
- const interval = setInterval(() => {
184
- if (this.iframe.contentWindow.meta2d) {
185
- clearInterval(interval);
186
- setTimeout(() => {
187
- this.iframe.contentWindow.postMessage(JSON.stringify({
188
- name: 'dialog',
189
- data
190
- }), '*');
191
- }, 100);
192
- }
193
- timeout++;
194
- if (timeout > 50) {
195
- clearInterval(interval);
196
- }
197
- }, 300);
198
- }
199
- if (!this.dialogMeta2d || isIframe) {
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
@@ -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;IAaE;IAZnB,GAAG,CAAc;IACjB,MAAM,CAAoB;IAC1B,MAAM,CAAc;IACpB,KAAK,CAAc;IACnB,KAAK,CAAc;IACnB,IAAI,CAAc;IAClB,CAAC,CAAS;IACV,CAAC,CAAS;IACV,GAAG,CAAS;IACZ,SAAS,CAAc;IACvB,YAAY,CAAS;IACrB,KAAK,CAAc;IACnB,YAAmB,aAA0B,EAAE,KAAkB;QAA9C,kBAAa,GAAb,aAAa,CAAa;QAC3C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG;;;;;;;WAOhB,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE/C,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,oBAAoB,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,eAAe,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,oBAAoB,CAAC;QAC3C,MAAM,CAAC,SAAS,GAAG,sBAAsB,CAAC;QAC1C,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,uBAAuB,CAAC;QAC/C,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,qBAAqB,CAAC;QAC7C,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,sBAAsB,CAAC;QAElD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEpC,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE;YAC1B,CAAC,CAAC,eAAe,EAAE,CAAC;QACtB,CAAC,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE;YACtB,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,EAAE;YACxB,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC,CAAC;QAEF,IAAI,KAAU,CAAC;QACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrD,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,kBAAkB,EAAE,CAAC;gBACzD,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC5C,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC;YACxB,KAAK,CAAC,KAAK,GAAG,kBAAkB,CAAC;YACjC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAEjC,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YACxC,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC;YACxB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACjC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YACpB,KAAK,CAAC,UAAU,CACd;;;;;;;;uBAQe,CAChB,CAAC;YACF,KAAK,CAAC,UAAU,CACd;;;;;;;;;;UAUE,CACH,CAAC;YACF,KAAK,CAAC,UAAU,CACd;;;;UAIE,CACH,CAAC;YACF,KAAK,CAAC,UAAU,CACd;;;;;;UAME,CACH,CAAC;YACF,KAAK,CAAC,UAAU,CACd;;;;;;;;;UASE,CACH,CAAC;YACF,KAAK,CAAC,UAAU,CACd;;;UAGE,CACH,CAAC;YACF,KAAK,CAAC,UAAU,CACd;;UAEE,CACH,CAAC;YACF,KAAK,CAAC,UAAU,CACd;;;WAGG,CACJ,CAAC;YACF,KAAK,CAAC,UAAU,CACd;;;UAGE,CACH,CAAC;YACF,KAAK,CAAC,UAAU,CACd;;;;QAIA,CACD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAc,EAAE,GAAY,EAAE,IAAoD,EAAC,IAAS;QACrG,IAAG,CAAC,GAAG,EAAC,CAAC;YACP,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjC,IAAG,QAAQ,EAAC,CAAC;YACX,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACtC,CAAC;aAAI,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YACnC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACzC,CAAC;QACD,IAAG,QAAQ,IAAI,GAAG,KAAK,IAAI,CAAC,GAAG,EAAC,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACrC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACjB,CAAC;QACD,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC;QACxC,IAAG,CAAC,KAAK,EAAC,CAAC;YACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAE,QAAQ,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,aAAa,CAAA;QAC5C,CAAC;aAAI,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,WAAW,CAAC;YACxC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,mBAAmB,CAAC;YAC7C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;QACzC,CAAC;QACD,IAAG,IAAI,EAAE,CAAC;YACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA,CAAC,CAAA,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAA,CAAC,CAAC,KAAK,CAAA;YAC/D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA,CAAC,CAAA,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA,CAAC,CAAC,OAAO,CAAC;YACrE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAA,CAAC,CAAA,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA,CAAC,CAAA,CAAC,IAAI,CAAC,MAAM,CAAA,CAAC,CAAC,eAAe,IAAI,CAAC,MAAM,GAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC1G,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA,CAAC,CAAC,eAAe,IAAI,CAAC,KAAK,CAAA,CAAC,CAAC,IAAI,CAAC,KAAK,GAAC,CAAC,GAAC,IAAI,CAAA,CAAC,CAAC,KAAK,IAAI,CAAC;QAC5G,CAAC;QACD,IAAG,QAAQ,IAAE,IAAI,EAAC,CAAC;YACjB,IAAI,OAAO,GAAG,CAAC,CAAC;YAChB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;gBAChC,IAAI,IAAI,CAAC,MAAM,CAAC,aAAqB,CAAC,MAAM,EAAC,CAAC;oBAC5C,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACxB,UAAU,CAAC,GAAE,EAAE;wBACf,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CACnC,IAAI,CAAC,SAAS,CAAC;4BACb,IAAI,EAAC,QAAQ;4BACb,IAAI;yBACL,CAAC,EACJ,GAAG,CAAC,CAAC;oBACL,CAAC,EAAC,GAAG,CAAC,CAAC;gBACT,CAAC;gBACD,OAAO,EAAE,CAAC;gBACV,IAAG,OAAO,GAAG,EAAE,EAAC,CAAC;oBACf,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC,EAAC,GAAG,CAAC,CAAC;QACT,CAAC;QACD,IAAG,CAAC,IAAI,CAAC,YAAY,IAAE,QAAQ,EAAC,CAAC;YAChC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAClC,CAAC;QACD,IAAG,CAAC,QAAQ,EAAC,CAAC;YACZ,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YACvC,IAAG,CAAC,IAAI,CAAC,YAAY,EAAC,CAAC;gBACrB,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC;gBAC1C,IAAI,CAAC,YAAY,GAAI,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAChD,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC;YAC5C,CAAC;YAED,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACxD,IAAG,UAAU,EAAC,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;gBACjC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC9B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAC,KAAK,CAAC,CAAC;gBACzC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC1B,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;gBAC3B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACnC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI;QACF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,GAAW;QACf,IAAG,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAC,CAAC;YAChE,OAAO,IAAI,CAAC;QACd,CAAC;aAAI,CAAC;YACJ,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC;QAC/B,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;CACF"}
1
+ {"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../../../packages/core/src/dialog/dialog.ts"],"names":[],"mappings":"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"}
@@ -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
@@ -56,6 +56,7 @@ export const needCalcTextRectProps = [
56
56
  'whiteSpace',
57
57
  'ellipsis',
58
58
  'keepDecimal',
59
+ 'letterSpacing'
59
60
  ];
60
61
  export const needSetPenProps = ['x', 'y', 'width', 'height', 'flipX', 'flipY'];
61
62
  export const needPatchFlagsPenRectProps = [
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../packages/core/src/pen/model.ts"],"names":[],"mappings":"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"}
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;IACb,eAAe;CAChB,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAE/E,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,YAAY;IACZ,cAAc;IACd,eAAe;IACf,aAAa;IACb,OAAO;IACP,OAAO;IACP,SAAS;IACT,WAAW;CACZ,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;AAE3E,MAAM,CAAC,MAAM,4BAA4B,GAAI,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAC,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAoB5M,MAAM,CAAN,IAAY,eAOX;AAPD,WAAY,eAAe;IACzB,yDAAM,CAAA;IACN,uDAAK,CAAA;IACL,mDAAG,CAAA;IACH,uDAAK,CAAA;IACL,+DAAS,CAAA;IACT,yDAAM,CAAA,CAAC,QAAQ;AACjB,CAAC,EAPW,eAAe,KAAf,eAAe,QAO1B;AAED,MAAM,CAAN,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC/B,mEAAK,CAAA;IACL,iEAAI,CAAA;IACJ,+DAAG,CAAA;IACH,uEAAO,CAAA,CAAC,OAAO;AACjB,CAAC,EALW,qBAAqB,KAArB,qBAAqB,QAKhC;AAslBD;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,KAAK;IACL,QAAQ;IACR,OAAO;IACP,SAAS;IACT,YAAY;IACZ,iBAAiB;IACjB,KAAK;CACN,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,OAAO;IACP,UAAU;IACV,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,SAAS;CACV,CAAA;AAED,WAAW;AACX,MAAM,CAAC,MAAM,WAAW,GAAgB,IAAI,GAAG,CAAC;IAC9C,cAAc;IACd,YAAY;IACZ,aAAa;IACb,cAAc;IACd,YAAY;IACZ,eAAe;IACf,UAAU;IACV,eAAe;IACf,kBAAkB;IAClB,iBAAiB;IACjB,UAAU;IACV,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,SAAS;IACT,UAAU;IACV,YAAY;IACZ,uBAAuB;IACvB,qBAAqB;IACrB,mBAAmB;IACnB,OAAO;IACP,YAAY;IACZ,aAAa;IACb,WAAW;IACX,QAAQ;IACR,mBAAmB;IACnB,iBAAiB;IACjB,eAAe;IACf,gBAAgB;IAChB,iBAAiB;IACjB,kBAAkB;IAClB,aAAa;IACb,aAAa;IACb,cAAc;IACd,QAAQ;IACR,aAAa;IACb,YAAY;IACZ,eAAe;IACf,eAAe;IACf,eAAe;IACf,YAAY;IACZ,UAAU;IACV,WAAW;IACX,gBAAgB;IAChB,iBAAiB;IACjB,gBAAgB;IAChB,WAAW;IACX,YAAY;IACZ,WAAW;IACX,cAAc;IACd,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,UAAU;IACV,SAAS;IACT,UAAU;IACV,YAAY;IACZ,aAAa;IACb,aAAa;IACb,aAAa;IACb,kBAAkB;IAClB,iBAAiB;IACjB,QAAQ;IACR,cAAc;IACd,aAAa;IACb,gBAAgB;IAChB,YAAY;IACZ,gBAAgB;IAChB,oBAAoB;IACpB,kBAAkB;IAClB,gBAAgB;IAChB,YAAY;IACZ,YAAY;IACZ,SAAS;IACT,WAAW;IACX,UAAU;IACV,UAAU;IACV,oBAAoB;CACrB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,UAAU,EAAC,CAAC;IACZ,QAAQ,EAAC,CAAC;IACV,YAAY,EAAC,CAAC;CACf,CAAA;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,GAAQ;IACrC,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC;IACtB,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC;IACxB,GAAG,CAAC,aAAa,GAAG,SAAS,CAAC;IAC9B,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;IAC1B,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC;IACvB,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC;IACzB,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC;IACzB,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC;IACxB,GAAG,CAAC,YAAY,GAAG,SAAS,CAAC;IAC7B,GAAG,CAAC,YAAY,GAAG,SAAS,CAAC;IAC7B,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC;IAC5B,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC;IAC5B,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;IAC1B,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC;IAC5B,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC;IACxB,GAAG,CAAC,UAAU,GAAG,SAAS,CAAC;IAC3B,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC;IACxB,GAAG,CAAC,YAAY,GAAG,SAAS,CAAC;IAC7B,GAAG,CAAC,YAAY,GAAG,SAAS,CAAC;IAC7B,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC;IAC5B,GAAG,CAAC,cAAc,GAAG,SAAS,CAAC;IAC/B,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;IAC1B,GAAG,CAAC,aAAa,GAAG,SAAS,CAAC;IAC9B,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC;IACxB,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC;IACxB,GAAG,CAAC,aAAa,GAAG,SAAS,CAAC;AAChC,CAAC"}
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
- const { x, y } = pen.calculative.worldRect.pivot || pen.calculative.worldRect.center;
1075
- ctx.translate(x, y);
1076
- let rotate = (pen.calculative.rotate * Math.PI) / 180;
1077
- // 目前只有水平和垂直翻转,都需要 * -1
1078
- if (!noFlip) {
1079
- if (pen.calculative.flipX) {
1080
- rotate *= -1;
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
- if (pen.calculative.flipY) {
1083
- rotate *= -1;
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
- elem.style.display =
2979
- pen.calculative.inView != false
2980
- ? pen.calculative.cssDisplay || 'inline'
2981
- : 'none'; // 是否隐藏元素
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.type) {
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: pen.color || command.v.value
3427
+ value: command.v.value || pen.color
3377
3428
  }
3378
3429
  };
3379
3430
  default: