@gct-paas/word 0.1.6 → 0.1.7

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/dist/index.es.js CHANGED
@@ -85,8 +85,20 @@ const pickElement = (raw, name) => {
85
85
  const pickAllElements = (raw, name) => {
86
86
  return raw.elements?.filter((n) => isElement(n) && n.name === name) || [];
87
87
  };
88
+ function fallbackUUID() {
89
+ const bytes = new Uint8Array(16);
90
+ crypto?.getRandomValues?.(bytes);
91
+ bytes[6] = bytes[6] & 15 | 64;
92
+ bytes[8] = bytes[8] & 63 | 128;
93
+ const hex2 = [...bytes].map((b2) => b2.toString(16).padStart(2, "0"));
94
+ return hex2.slice(0, 4).join("") + "-" + hex2.slice(4, 6).join("") + "-" + hex2.slice(6, 8).join("") + "-" + hex2.slice(8, 10).join("") + "-" + hex2.slice(10, 16).join("");
95
+ }
88
96
  function uuid() {
89
- return crypto.randomUUID();
97
+ try {
98
+ return crypto.randomUUID();
99
+ } catch {
100
+ return fallbackUUID();
101
+ }
90
102
  }
91
103
  const halfPixel = (n) => Math.round(n) + 0.5;
92
104
  const isEmptyValue$1 = (value) => {
@@ -5846,7 +5858,7 @@ function findCharIndexFromOffsets(offsets, localX) {
5846
5858
  if (localX <= 0) return 0;
5847
5859
  let lo = 0;
5848
5860
  let hi = offsets.length - 1;
5849
- if (localX >= offsets[hi]) return hi;
5861
+ if (localX >= offsets[hi]) return hi - 1;
5850
5862
  while (lo < hi) {
5851
5863
  const mid = Math.floor((lo + hi) / 2);
5852
5864
  if (offsets[mid] === localX) return mid;
@@ -22545,7 +22557,8 @@ const _sfc_main$1S = /* @__PURE__ */ defineComponent({
22545
22557
  modalContext: {},
22546
22558
  widgetType: {},
22547
22559
  widget: {},
22548
- modelValue: {}
22560
+ modelValue: {},
22561
+ modelKey: {}
22549
22562
  },
22550
22563
  setup(__props, { expose: __expose }) {
22551
22564
  const props = __props;
@@ -22578,13 +22591,14 @@ const _sfc_main$1S = /* @__PURE__ */ defineComponent({
22578
22591
  ref: dialogRef,
22579
22592
  key: __props.widget.id,
22580
22593
  widget: __props.widget,
22581
- modelValue: __props.modelValue
22582
- }, null, 8, ["widget", "modelValue"]))
22594
+ modelValue: __props.modelValue,
22595
+ modelKey: __props.modelKey
22596
+ }, null, 8, ["widget", "modelValue", "modelKey"]))
22583
22597
  ]);
22584
22598
  };
22585
22599
  }
22586
22600
  });
22587
- const DialogContainer = /* @__PURE__ */ _export_sfc(_sfc_main$1S, [["__scopeId", "data-v-e86a747f"]]);
22601
+ const DialogContainer = /* @__PURE__ */ _export_sfc(_sfc_main$1S, [["__scopeId", "data-v-89fa975a"]]);
22588
22602
  const _sfc_main$1R = /* @__PURE__ */ defineComponent({
22589
22603
  __name: "overlay-render",
22590
22604
  props: {
@@ -22602,9 +22616,7 @@ const _sfc_main$1R = /* @__PURE__ */ defineComponent({
22602
22616
  const props = __props;
22603
22617
  const isTargetReady = ref(false);
22604
22618
  const isMenuShown = ref(false);
22605
- const { isDropdown, isDialog, isMultiple, valuePath, widgetType } = useWidgetStaticAttrs(
22606
- props.widget
22607
- );
22619
+ const { isDropdown, isDialog, isMultiple, valuePath, widgetType, fieldInfo } = useWidgetStaticAttrs(props.widget);
22608
22620
  onMounted(() => {
22609
22621
  nextTick(() => {
22610
22622
  isTargetReady.value = true;
@@ -22634,7 +22646,8 @@ const _sfc_main$1R = /* @__PURE__ */ defineComponent({
22634
22646
  bodyProps: {
22635
22647
  widgetType: widgetType.value,
22636
22648
  widget: props.widget,
22637
- modelValue: modelValue.value
22649
+ modelValue: modelValue.value,
22650
+ modelKey: fieldInfo.value?.modelKey
22638
22651
  },
22639
22652
  onConfirm: async ({ bodyRef, close }) => {
22640
22653
  const savedValue = await bodyRef?.value?.onSave?.();
@@ -22703,7 +22716,7 @@ const _sfc_main$1R = /* @__PURE__ */ defineComponent({
22703
22716
  };
22704
22717
  }
22705
22718
  });
22706
- const OverlayRender = /* @__PURE__ */ _export_sfc(_sfc_main$1R, [["__scopeId", "data-v-980815e3"]]);
22719
+ const OverlayRender = /* @__PURE__ */ _export_sfc(_sfc_main$1R, [["__scopeId", "data-v-dbb8b01e"]]);
22707
22720
  let activeHoverId = 0;
22708
22721
  function useHoverDelay(callback, delay = 120) {
22709
22722
  let timer = null;
@@ -56656,8 +56669,8 @@ function useDocumentFactory(props, payload) {
56656
56669
  if (isEmpty(result)) return;
56657
56670
  console.log("tangjian 初始化单个文档", result, payload);
56658
56671
  const { id, requestInfo, fillModeType, paramsConfig } = result;
56659
- const cloneRuntimeJson = cloneDeep(JSON.parse(requestInfo.runtimeJson || "{}"));
56660
56672
  await addSubModelsToFieldScope(requestInfo.modelKey || payload.modelKey, payload.ctx);
56673
+ const cloneRuntimeJson = cloneDeep(JSON.parse(requestInfo.runtimeJson || "{}"));
56661
56674
  const docModel = ModelConverter.toModel(cloneRuntimeJson);
56662
56675
  const instances = docModel.getWidgetInstances();
56663
56676
  console.log("instances", instances);
@@ -58450,7 +58463,8 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
58450
58463
  item.realProgress = p;
58451
58464
  item.progress = Math.max(item.progress, p);
58452
58465
  },
58453
- signal: controller.signal
58466
+ signal: controller.signal,
58467
+ modelKey: props.modelKey
58454
58468
  });
58455
58469
  if (item.timer) {
58456
58470
  clearInterval(item.timer);
@@ -58508,7 +58522,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
58508
58522
  emit("update:modelValue", urls.join(","));
58509
58523
  }
58510
58524
  function preview(item) {
58511
- previewUrl.value = item.url || item.preview || "";
58525
+ previewUrl.value = AssetHelper.resolveUrl(item.url) || item.preview || "";
58512
58526
  }
58513
58527
  return (_ctx, _cache) => {
58514
58528
  return openBlock(), createElementBlock("div", _hoisted_1$2, [
@@ -58588,7 +58602,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
58588
58602
  };
58589
58603
  }
58590
58604
  });
58591
- const BaseUploadImage = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-c678fbef"]]);
58605
+ const BaseUploadImage = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-8bb642d3"]]);
58592
58606
  const _hoisted_1$1 = { class: "upload-image-dialog" };
58593
58607
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
58594
58608
  __name: "upload-image-dialog",
@@ -58612,7 +58626,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
58612
58626
  /** 最大上传数量 */
58613
58627
  maxCount: isAdaptive ? 1 : item.maxCount,
58614
58628
  /** 支持的格式数组 */
58615
- accept: item.acceptTypes && item.acceptTypes.length ? item.acceptTypes : defaultImageAccept
58629
+ accept: item.acceptTypes && item.acceptTypes.length ? item.acceptTypes : defaultImageAccept,
58630
+ modelKey: props.modelKey
58616
58631
  };
58617
58632
  });
58618
58633
  function onSave() {
@@ -58631,7 +58646,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
58631
58646
  };
58632
58647
  }
58633
58648
  });
58634
- const uploadImageDialog = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-bf75511f"]]);
58649
+ const uploadImageDialog = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-94fa7669"]]);
58635
58650
  const uploadImageDialog$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
58636
58651
  __proto__: null,
58637
58652
  default: uploadImageDialog
@@ -58815,7 +58830,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
58815
58830
  };
58816
58831
  }
58817
58832
  });
58818
- const signatureDialog = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-c2e1d23e"]]);
58833
+ const signatureDialog = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-b244172e"]]);
58819
58834
  const signatureDialog$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
58820
58835
  __proto__: null,
58821
58836
  default: signatureDialog
@@ -6,7 +6,8 @@ type __VLS_Props = {
6
6
  /** Widget 配置对象 */
7
7
  widget: WidgetNode;
8
8
  /** 当前选中的值 */
9
- modelValue?: string;
9
+ modelValue: string;
10
+ modelKey: string;
10
11
  };
11
12
  declare const _default: import('vue').DefineComponent<__VLS_Props, {
12
13
  onSave: () => Promise<any>;
@@ -3,8 +3,8 @@ import { WidgetNode } from '../../../canvas/types';
3
3
  type __VLS_Props = {
4
4
  widgetType: ExternalComponentType;
5
5
  widget: WidgetNode;
6
- modelValue?: string;
7
- modelKey?: string;
6
+ modelValue: string;
7
+ modelKey: string;
8
8
  enableSignPassword?: number;
9
9
  };
10
10
  declare const _default: import('vue').DefineComponent<__VLS_Props, {
@@ -3,7 +3,7 @@ type __VLS_Props = {
3
3
  maxCount?: number;
4
4
  maxSize?: number;
5
5
  accept?: string[];
6
- modelKey?: string;
6
+ modelKey: string;
7
7
  };
8
8
  declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
9
9
  "update:modelValue": (...args: any[]) => void;
@@ -5,8 +5,8 @@ type __VLS_Props = {
5
5
  /** Widget 配置对象 */
6
6
  widget: WidgetNode;
7
7
  /** 当前选中的值 */
8
- modelValue?: string;
9
- modelKey?: string;
8
+ modelValue: string;
9
+ modelKey: string;
10
10
  };
11
11
  declare function onSave(): {
12
12
  [x: string]: any;
@@ -2,6 +2,7 @@ type ParseFileMethod = (file: File) => Promise<any>;
2
2
  type UploadPayload = {
3
3
  onProgress?: (p: number) => void;
4
4
  signal?: AbortSignal;
5
+ modelKey?: string;
5
6
  };
6
7
  type UploadFileMethod = (file: File, payload?: UploadPayload) => Promise<any>;
7
8
  declare class ServiceUtil {
package/dist/word.css CHANGED
@@ -2034,13 +2034,13 @@ input[data-v-2deda526]::placeholder {
2034
2034
  padding: 16px;
2035
2035
  min-height: 100px;
2036
2036
  }
2037
- .dialog-container[data-v-e86a747f] {
2037
+ .dialog-container[data-v-89fa975a] {
2038
2038
  background-color: #fff;
2039
2039
  overflow: hidden;
2040
2040
  width: 100%;
2041
2041
  height: 100%;
2042
2042
  }
2043
- .widget-container-action[data-v-980815e3] {
2043
+ .widget-container-action[data-v-dbb8b01e] {
2044
2044
  position: absolute;
2045
2045
  inset: 0;
2046
2046
  z-index: 999;
@@ -2048,7 +2048,7 @@ input[data-v-2deda526]::placeholder {
2048
2048
  height: 0;
2049
2049
  pointer-events: all;
2050
2050
  }
2051
- .picker-trigger[data-v-980815e3] {
2051
+ .picker-trigger[data-v-dbb8b01e] {
2052
2052
  width: 100%;
2053
2053
  height: 100%;
2054
2054
  display: flex;
@@ -9363,14 +9363,14 @@ svg.portrait-icon[data-v-8bdb451e] {
9363
9363
  gap: 12px;
9364
9364
  padding-bottom: 12px;
9365
9365
  }
9366
- .base-upload-modal[data-v-c678fbef] {
9366
+ .base-upload-modal[data-v-8bb642d3] {
9367
9367
  position: relative;
9368
9368
  width: 100%;
9369
9369
  }
9370
- .base-upload-modal .upload-dragger[data-v-c678fbef] {
9370
+ .base-upload-modal .upload-dragger[data-v-8bb642d3] {
9371
9371
  position: relative;
9372
9372
  }
9373
- .base-upload-modal .upload-dragger .upload[data-v-c678fbef] {
9373
+ .base-upload-modal .upload-dragger .upload[data-v-8bb642d3] {
9374
9374
  border: 1px dashed #d9d9d9;
9375
9375
  background: #f7f8fa;
9376
9376
  border-radius: 2px;
@@ -9380,42 +9380,42 @@ svg.portrait-icon[data-v-8bdb451e] {
9380
9380
  text-align: center;
9381
9381
  transition: border-color 0.3s;
9382
9382
  }
9383
- .base-upload-modal .upload-dragger .upload[data-v-c678fbef]:hover {
9383
+ .base-upload-modal .upload-dragger .upload[data-v-8bb642d3]:hover {
9384
9384
  border-color: #026ac8;
9385
9385
  }
9386
- .base-upload-modal .upload-dragger .upload.dragover[data-v-c678fbef] {
9386
+ .base-upload-modal .upload-dragger .upload.dragover[data-v-8bb642d3] {
9387
9387
  border-color: #026ac8;
9388
9388
  background: #eef6ff;
9389
9389
  }
9390
- .base-upload-modal .upload-dragger .upload .input[data-v-c678fbef] {
9390
+ .base-upload-modal .upload-dragger .upload .input[data-v-8bb642d3] {
9391
9391
  display: none;
9392
9392
  }
9393
- .base-upload-modal .upload-dragger .upload .upload-content[data-v-c678fbef] {
9393
+ .base-upload-modal .upload-dragger .upload .upload-content[data-v-8bb642d3] {
9394
9394
  position: relative;
9395
9395
  padding: 24px;
9396
9396
  }
9397
- .base-upload-modal .upload-dragger .upload .upload-content .icon[data-v-c678fbef] {
9397
+ .base-upload-modal .upload-dragger .upload .upload-content .icon[data-v-8bb642d3] {
9398
9398
  display: flex;
9399
9399
  justify-content: center;
9400
9400
  align-items: center;
9401
9401
  }
9402
- .base-upload-modal .upload-dragger .upload .upload-content .text[data-v-c678fbef] {
9402
+ .base-upload-modal .upload-dragger .upload .upload-content .text[data-v-8bb642d3] {
9403
9403
  margin-top: 4px;
9404
9404
  font-size: 14px;
9405
9405
  line-height: 24px;
9406
9406
  }
9407
- .base-upload-modal .upload-dragger .upload.is-disabled[data-v-c678fbef] {
9407
+ .base-upload-modal .upload-dragger .upload.is-disabled[data-v-8bb642d3] {
9408
9408
  cursor: not-allowed;
9409
9409
  background: #fafafa;
9410
9410
  border-color: #e5e6eb;
9411
9411
  }
9412
- .base-upload-modal .upload-dragger .upload.is-disabled[data-v-c678fbef]:hover {
9412
+ .base-upload-modal .upload-dragger .upload.is-disabled[data-v-8bb642d3]:hover {
9413
9413
  border-color: #e5e6eb;
9414
9414
  }
9415
- .base-upload-modal .upload-dragger .upload.is-disabled .upload-content[data-v-c678fbef] {
9415
+ .base-upload-modal .upload-dragger .upload.is-disabled .upload-content[data-v-8bb642d3] {
9416
9416
  opacity: 0.4;
9417
9417
  }
9418
- .base-upload-modal .upload-dragger .img-box[data-v-c678fbef] {
9418
+ .base-upload-modal .upload-dragger .img-box[data-v-8bb642d3] {
9419
9419
  display: flex;
9420
9420
  gap: 12px;
9421
9421
  flex-wrap: wrap;
@@ -9423,16 +9423,16 @@ svg.portrait-icon[data-v-8bdb451e] {
9423
9423
  padding-top: 8px;
9424
9424
  padding-bottom: 8px;
9425
9425
  }
9426
- .base-upload-modal .upload-dragger .scrollbar[data-v-c678fbef] {
9426
+ .base-upload-modal .upload-dragger .scrollbar[data-v-8bb642d3] {
9427
9427
  position: relative;
9428
9428
  margin-top: 8px;
9429
9429
  }
9430
- .base-upload-modal .upload-dragger .img-item[data-v-c678fbef] {
9430
+ .base-upload-modal .upload-dragger .img-item[data-v-8bb642d3] {
9431
9431
  width: 80px;
9432
9432
  height: 80px;
9433
9433
  position: relative;
9434
9434
  }
9435
- .base-upload-modal .upload-dragger .img[data-v-c678fbef] {
9435
+ .base-upload-modal .upload-dragger .img[data-v-8bb642d3] {
9436
9436
  display: block;
9437
9437
  width: 100%;
9438
9438
  height: 100%;
@@ -9441,7 +9441,7 @@ svg.portrait-icon[data-v-8bdb451e] {
9441
9441
  cursor: pointer;
9442
9442
  background-color: #f7f8fa;
9443
9443
  }
9444
- .base-upload-modal .upload-dragger .delete[data-v-c678fbef] {
9444
+ .base-upload-modal .upload-dragger .delete[data-v-8bb642d3] {
9445
9445
  position: absolute;
9446
9446
  top: -6px;
9447
9447
  right: -6px;
@@ -9454,7 +9454,7 @@ svg.portrait-icon[data-v-8bdb451e] {
9454
9454
  justify-content: center;
9455
9455
  cursor: pointer;
9456
9456
  }
9457
- .base-upload-modal .upload-dragger .progress[data-v-c678fbef] {
9457
+ .base-upload-modal .upload-dragger .progress[data-v-8bb642d3] {
9458
9458
  position: absolute;
9459
9459
  bottom: 0;
9460
9460
  left: 0;
@@ -9462,14 +9462,14 @@ svg.portrait-icon[data-v-8bdb451e] {
9462
9462
  height: 2px;
9463
9463
  background: rgba(0, 0, 0, 0.06);
9464
9464
  }
9465
- .base-upload-modal .upload-dragger .progress-inner[data-v-c678fbef] {
9465
+ .base-upload-modal .upload-dragger .progress-inner[data-v-8bb642d3] {
9466
9466
  height: 100%;
9467
9467
  background: #026ac8;
9468
9468
  position: relative;
9469
9469
  border-radius: 100px;
9470
9470
  transition: all 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86);
9471
9471
  }
9472
- .base-upload-modal .upload-dragger .preview-mask[data-v-c678fbef] {
9472
+ .base-upload-modal .upload-dragger .preview-mask[data-v-8bb642d3] {
9473
9473
  position: fixed;
9474
9474
  inset: 0;
9475
9475
  background: rgba(0, 0, 0, 0.4);
@@ -9478,48 +9478,48 @@ svg.portrait-icon[data-v-8bdb451e] {
9478
9478
  justify-content: center;
9479
9479
  z-index: 9999;
9480
9480
  }
9481
- .base-upload-modal .upload-dragger .preview-mask img[data-v-c678fbef] {
9481
+ .base-upload-modal .upload-dragger .preview-mask img[data-v-8bb642d3] {
9482
9482
  max-width: 80%;
9483
9483
  max-height: 80%;
9484
9484
  }
9485
- .upload-image-dialog[data-v-bf75511f] {
9485
+ .upload-image-dialog[data-v-94fa7669] {
9486
9486
  position: relative;
9487
9487
  overflow: hidden;
9488
9488
  width: 100%;
9489
9489
  height: 100%;
9490
9490
  }
9491
- .signature-form .form-row[data-v-c2e1d23e] {
9491
+ .signature-form .form-row[data-v-b244172e] {
9492
9492
  display: flex;
9493
9493
  align-items: center;
9494
9494
  margin-bottom: 24px;
9495
9495
  gap: 16px;
9496
9496
  padding-right: 24px;
9497
9497
  }
9498
- .signature-form .form-footer[data-v-c2e1d23e] {
9498
+ .signature-form .form-footer[data-v-b244172e] {
9499
9499
  display: flex;
9500
9500
  justify-content: flex-end;
9501
9501
  gap: 24px;
9502
9502
  font-size: 14px;
9503
9503
  padding-right: 24px;
9504
9504
  }
9505
- .signature-form .form-footer .form-button[data-v-c2e1d23e] {
9505
+ .signature-form .form-footer .form-button[data-v-b244172e] {
9506
9506
  color: #0b57d0;
9507
9507
  cursor: pointer;
9508
9508
  }
9509
- .signature-form .label[data-v-c2e1d23e] {
9509
+ .signature-form .label[data-v-b244172e] {
9510
9510
  width: 100px;
9511
9511
  text-align: right;
9512
9512
  line-height: 32px;
9513
9513
  color: rgba(0, 0, 0, 0.85);
9514
9514
  font-size: 13px;
9515
9515
  }
9516
- .signature-form .label[data-v-c2e1d23e]:after {
9516
+ .signature-form .label[data-v-b244172e]:after {
9517
9517
  content: ':';
9518
9518
  margin: 0 2px 0 2px;
9519
9519
  position: relative;
9520
9520
  top: -0.5px;
9521
9521
  }
9522
- .signature-form .label.required[data-v-c2e1d23e]::before {
9522
+ .signature-form .label.required[data-v-b244172e]::before {
9523
9523
  color: #ff4d4f;
9524
9524
  content: '*';
9525
9525
  display: inline-block;
@@ -9528,13 +9528,13 @@ svg.portrait-icon[data-v-8bdb451e] {
9528
9528
  line-height: 1;
9529
9529
  margin-right: 4px;
9530
9530
  }
9531
- .signature-form .control[data-v-c2e1d23e] {
9531
+ .signature-form .control[data-v-b244172e] {
9532
9532
  flex: 1;
9533
9533
  display: flex;
9534
9534
  align-items: center;
9535
9535
  position: relative;
9536
9536
  }
9537
- .signature-form .error[data-v-c2e1d23e] {
9537
+ .signature-form .error[data-v-b244172e] {
9538
9538
  color: #ff4d4f;
9539
9539
  font-size: 12px;
9540
9540
  position: absolute;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gct-paas/word",
3
- "version": "0.1.6",
3
+ "version": "0.1.7",
4
4
  "description": "GCT 在线 word",
5
5
  "keywords": [
6
6
  "vue",