@shijiu/jsview-vue 1.9.633 → 1.9.643

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.
@@ -1,8 +1,8 @@
1
- import { pauseTracking, resetTracking, isRef, toRaw, isShallow as isShallow$1, isReactive, ReactiveEffect, ref, shallowReadonly, track, reactive, shallowReactive, trigger, isProxy, EffectScope, markRaw, proxyRefs, computed as computed$1, isReadonly } from '@vue/reactivity';
2
- export { EffectScope, ReactiveEffect, customRef, effect, effectScope, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, triggerRef, unref } from '@vue/reactivity';
3
- import { isString, isFunction, isPromise, isArray, NOOP, getGlobalThis, extend, EMPTY_OBJ, toHandlerKey, toNumber, hyphenate, camelize, isOn, hasOwn, isModelListener, hasChanged, remove, isObject, isSet, isMap, isPlainObject, invokeArrayFns, isBuiltInDirective, capitalize, isGloballyWhitelisted, def, isReservedProp, EMPTY_ARR, toRawType, makeMap, NO, normalizeClass, normalizeStyle } from '@vue/shared';
4
- export { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';
5
-
1
+ import { pauseTracking, resetTracking, isRef, toRaw, isShallow as isShallow$1, isReactive, ReactiveEffect, ref, shallowReadonly, track, reactive, shallowReactive, trigger, isProxy, EffectScope, markRaw, proxyRefs, computed as computed$1, isReadonly } from '@vue/reactivity';
2
+ export { EffectScope, ReactiveEffect, customRef, effect, effectScope, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, triggerRef, unref } from '@vue/reactivity';
3
+ import { isString, isFunction, isPromise, isArray, NOOP, getGlobalThis, extend, EMPTY_OBJ, toHandlerKey, toNumber, hyphenate, camelize, isOn, hasOwn, isModelListener, hasChanged, remove, isObject, isSet, isMap, isPlainObject, invokeArrayFns, isBuiltInDirective, capitalize, isGloballyWhitelisted, def, isReservedProp, EMPTY_ARR, toRawType, makeMap, NO, normalizeClass, normalizeStyle } from '@vue/shared';
4
+ export { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';
5
+
6
6
  const stack = [];
7
7
  function pushWarningContext(vnode) {
8
8
  stack.push(vnode);
@@ -115,8 +115,8 @@ function formatProp(key, value, raw) {
115
115
  value = toRaw(value);
116
116
  return raw ? value : [`${key}=`, value];
117
117
  }
118
- }
119
-
118
+ }
119
+
120
120
  const ErrorTypeStrings = {
121
121
  ["sp" /* SERVER_PREFETCH */]: 'serverPrefetch hook',
122
122
  ["bc" /* BEFORE_CREATE */]: 'beforeCreate hook',
@@ -225,8 +225,8 @@ function logError(err, type, contextVNode, throwInDev = true) {
225
225
  // recover in prod to reduce the impact on end-user
226
226
  console.error(err);
227
227
  }
228
- }
229
-
228
+ }
229
+
230
230
  let isFlushing = false;
231
231
  let isFlushPending = false;
232
232
  const queue = [];
@@ -245,15 +245,15 @@ function nextTick(fn) {
245
245
  const p = currentFlushPromise || resolvedPromise;
246
246
  return fn ? p.then(this ? fn.bind(this) : fn) : p;
247
247
  }
248
-
249
- // JsView Added >>>
250
- const jsvDelayQueue = [];
251
- let jsvPendingForFirstDelayRender = false;
252
- let jsvDelayQueueTimer = 0;
253
- let jsvDelayQueueTaskToken = 1;
254
- const jsvDelayQueueRecord = [];
255
- // JsView Added <<<
256
-
248
+
249
+ // JsView Added >>>
250
+ const jsvDelayQueue = [];
251
+ let jsvPendingForFirstDelayRender = false;
252
+ let jsvDelayQueueTimer = 0;
253
+ let jsvDelayQueueTaskToken = 1;
254
+ const jsvDelayQueueRecord = [];
255
+ // JsView Added <<<
256
+
257
257
  // #2768
258
258
  // Use binary-search to find a suitable position in the queue,
259
259
  // so that the queue maintains the increasing order of job's id,
@@ -385,22 +385,22 @@ function flushJobs(seen) {
385
385
  // priority number)
386
386
  // 2. If a component is unmounted during a parent component's update,
387
387
  // its update can be skipped.
388
-
389
- // JsView Modified >>>
390
- if (jsvDelayQueue.length && !jsvPendingForFirstDelayRender) {
391
- // 将延迟后的任务放入执行队列前,如果任务本身已经失效了,此instance.update就会被设置成inactive
392
- // console.log("QCodeDrop jsvDelayQueue.length=", jsvDelayQueue.length);
393
- queue.unshift(...jsvDelayQueue);
394
-
395
- // 记录 Recorder 用于调试
396
- // jsvDelayQueueRecord.length = 0;
397
- // jsvDelayQueueRecord.unshift(...jsvDelayQueue);
398
-
399
- jsvDelayQueue.length = 0;
400
- jsvDelayQueueTaskToken++;
401
- }
402
- // JsView Modified <<<
403
-
388
+
389
+ // JsView Modified >>>
390
+ if (jsvDelayQueue.length && !jsvPendingForFirstDelayRender) {
391
+ // 将延迟后的任务放入执行队列前,如果任务本身已经失效了,此instance.update就会被设置成inactive
392
+ // console.log("QCodeDrop jsvDelayQueue.length=", jsvDelayQueue.length);
393
+ queue.unshift(...jsvDelayQueue);
394
+
395
+ // 记录 Recorder 用于调试
396
+ // jsvDelayQueueRecord.length = 0;
397
+ // jsvDelayQueueRecord.unshift(...jsvDelayQueue);
398
+
399
+ jsvDelayQueue.length = 0;
400
+ jsvDelayQueueTaskToken++;
401
+ }
402
+ // JsView Modified <<<
403
+
404
404
  queue.sort((a, b) => getId(a) - getId(b));
405
405
  // conditional usage of checkRecursiveUpdate must be determined out of
406
406
  // try ... catch block since Rollup by default de-optimizes treeshaking
@@ -436,31 +436,31 @@ function flushJobs(seen) {
436
436
  flushJobs(seen);
437
437
  }
438
438
  }
439
-
440
- // JsView Modified >>>
441
- // 重置pending drawing状态
442
- jsvPendingForFirstDelayRender = false;
443
-
444
- // 测试是否开启新的 pending draw 状态
445
- if (window.JsView?.hasPendingUserInput?.()) {
446
- jsvPendingForFirstDelayRender = true;
447
- }
448
-
449
- // JsView 提交延迟执行任务
450
- if (jsvDelayQueue.length > 0) {
451
- if (jsvDelayQueueTimer > 0) {
452
- clearTimeout(jsvDelayQueueTimer);
453
- jsvDelayQueueTimer = 0;
454
- }
455
-
456
- jsvDelayQueueTimer = setTimeout(() => {
457
- jsvDelayQueueTimer = 0;
458
- if (jsvDelayQueue.length > 0) {
459
- queueFlush();
460
- }
461
- }, 0);
462
- }
463
- // JsView Modified <<<
439
+
440
+ // JsView Modified >>>
441
+ // 重置pending drawing状态
442
+ jsvPendingForFirstDelayRender = false;
443
+
444
+ // 测试是否开启新的 pending draw 状态
445
+ if (window.JsView?.hasPendingUserInput?.()) {
446
+ jsvPendingForFirstDelayRender = true;
447
+ }
448
+
449
+ // JsView 提交延迟执行任务
450
+ if (jsvDelayQueue.length > 0) {
451
+ if (jsvDelayQueueTimer > 0) {
452
+ clearTimeout(jsvDelayQueueTimer);
453
+ jsvDelayQueueTimer = 0;
454
+ }
455
+
456
+ jsvDelayQueueTimer = setTimeout(() => {
457
+ jsvDelayQueueTimer = 0;
458
+ if (jsvDelayQueue.length > 0) {
459
+ queueFlush();
460
+ }
461
+ }, 0);
462
+ }
463
+ // JsView Modified <<<
464
464
  }
465
465
  function checkRecursiveUpdates(seen, fn) {
466
466
  if (!seen.has(fn)) {
@@ -482,8 +482,8 @@ function checkRecursiveUpdates(seen, fn) {
482
482
  seen.set(fn, count + 1);
483
483
  }
484
484
  }
485
- }
486
-
485
+ }
486
+
487
487
  /* eslint-disable no-restricted-globals */
488
488
  let isHmrUpdating = false;
489
489
  const hmrDirtyComponents = new Set();
@@ -623,8 +623,8 @@ function tryWrap(fn) {
623
623
  `Full reload required.`);
624
624
  }
625
625
  };
626
- }
627
-
626
+ }
627
+
628
628
  let devtools;
629
629
  let buffer = [];
630
630
  let devtoolsNotInstalled = false;
@@ -704,8 +704,8 @@ function createDevtoolsPerformanceHook(hook) {
704
704
  }
705
705
  function devtoolsComponentEmit(component, event, params) {
706
706
  emit("component:emit" /* COMPONENT_EMIT */, component.appContext.app, component, event, params);
707
- }
708
-
707
+ }
708
+
709
709
  function emit$1(instance, event, ...rawArgs) {
710
710
  if (instance.isUnmounted)
711
711
  return;
@@ -834,8 +834,8 @@ function isEmitListener(options, key) {
834
834
  return (hasOwn(options, key[0].toLowerCase() + key.slice(1)) ||
835
835
  hasOwn(options, hyphenate(key)) ||
836
836
  hasOwn(options, key));
837
- }
838
-
837
+ }
838
+
839
839
  /**
840
840
  * mark the current rendering instance for asset resolution (e.g.
841
841
  * resolveComponent, resolveDirective) during render
@@ -919,8 +919,8 @@ function withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot // false on
919
919
  // disable block tracking by default
920
920
  renderFnWithContext._d = true;
921
921
  return renderFnWithContext;
922
- }
923
-
922
+ }
923
+
924
924
  /**
925
925
  * dev only flag to track whether $attrs was used during render.
926
926
  * If $attrs was used during render then the warning for failed attrs
@@ -1213,8 +1213,8 @@ function updateHOCHostEl({ vnode, parent }, el // HostNode
1213
1213
  (vnode = parent.vnode).el = el;
1214
1214
  parent = parent.parent;
1215
1215
  }
1216
- }
1217
-
1216
+ }
1217
+
1218
1218
  const isSuspense = (type) => type.__isSuspense;
1219
1219
  // Suspense exposes a component-like API, and is treated like a component
1220
1220
  // in the compiler, but internally it's a special built-in type that hooks
@@ -1642,8 +1642,8 @@ function setActiveBranch(suspense, branch) {
1642
1642
  parentComponent.vnode.el = el;
1643
1643
  updateHOCHostEl(parentComponent, el);
1644
1644
  }
1645
- }
1646
-
1645
+ }
1646
+
1647
1647
  function provide(key, value) {
1648
1648
  if (!currentInstance) {
1649
1649
  if ((process.env.NODE_ENV !== 'production')) {
@@ -1692,8 +1692,8 @@ function inject(key, defaultValue, treatDefaultAsFactory = false) {
1692
1692
  else if ((process.env.NODE_ENV !== 'production')) {
1693
1693
  warn(`inject() can only be used inside setup() or functional components.`);
1694
1694
  }
1695
- }
1696
-
1695
+ }
1696
+
1697
1697
  // Simple effect.
1698
1698
  function watchEffect(effect, options) {
1699
1699
  return doWatch(effect, null, options);
@@ -1949,8 +1949,8 @@ function traverse(value, seen) {
1949
1949
  }
1950
1950
  }
1951
1951
  return value;
1952
- }
1953
-
1952
+ }
1953
+
1954
1954
  function useTransitionState() {
1955
1955
  const state = {
1956
1956
  isMounted: false,
@@ -2286,13 +2286,13 @@ function getTransitionRawChildren(children, keepComment = false, parentKey) {
2286
2286
  }
2287
2287
  }
2288
2288
  return ret;
2289
- }
2290
-
2289
+ }
2290
+
2291
2291
  // implementation, close to no-op
2292
2292
  function defineComponent(options) {
2293
2293
  return isFunction(options) ? { setup: options, name: options.name } : options;
2294
- }
2295
-
2294
+ }
2295
+
2296
2296
  const isAsyncWrapper = (i) => !!i.type.__asyncLoader;
2297
2297
  function defineAsyncComponent(source) {
2298
2298
  if (isFunction(source)) {
@@ -2429,8 +2429,8 @@ function createInnerComp(comp, { vnode: { ref, props, children, shapeFlag }, par
2429
2429
  // ensure inner component inherits the async wrapper's ref owner
2430
2430
  vnode.ref = ref;
2431
2431
  return vnode;
2432
- }
2433
-
2432
+ }
2433
+
2434
2434
  const isKeepAlive = (vnode) => vnode.type.__isKeepAlive;
2435
2435
  const KeepAliveImpl = {
2436
2436
  name: `KeepAlive`,
@@ -2714,8 +2714,8 @@ function resetShapeFlag(vnode) {
2714
2714
  }
2715
2715
  function getInnerChild(vnode) {
2716
2716
  return vnode.shapeFlag & 128 /* SUSPENSE */ ? vnode.ssContent : vnode;
2717
- }
2718
-
2717
+ }
2718
+
2719
2719
  function injectHook(type, hook, target = currentInstance, prepend = false) {
2720
2720
  if (target) {
2721
2721
  const hooks = target[type] || (target[type] = []);
@@ -2772,15 +2772,15 @@ const onRenderTriggered = createHook("rtg" /* RENDER_TRIGGERED */);
2772
2772
  const onRenderTracked = createHook("rtc" /* RENDER_TRACKED */);
2773
2773
  function onErrorCaptured(hook, target = currentInstance) {
2774
2774
  injectHook("ec" /* ERROR_CAPTURED */, hook, target);
2775
- }
2776
-
2775
+ }
2776
+
2777
2777
  /**
2778
2778
  Runtime helper for applying directives to a vnode. Example usage:
2779
-
2779
+
2780
2780
  const comp = resolveComponent('comp')
2781
2781
  const foo = resolveDirective('foo')
2782
2782
  const bar = resolveDirective('bar')
2783
-
2783
+
2784
2784
  return withDirectives(h(comp), [
2785
2785
  [foo, this.x],
2786
2786
  [bar, this.y]
@@ -2847,8 +2847,8 @@ function invokeDirectiveHook(vnode, prevVNode, instance, name) {
2847
2847
  resetTracking();
2848
2848
  }
2849
2849
  }
2850
- }
2851
-
2850
+ }
2851
+
2852
2852
  const COMPONENTS = 'components';
2853
2853
  const DIRECTIVES = 'directives';
2854
2854
  /**
@@ -2901,11 +2901,11 @@ function resolveAsset(type, name, warnMissing = true, maybeSelfReference = false
2901
2901
  // fallback to implicit self-reference
2902
2902
  return Component;
2903
2903
  }
2904
- // JsView Modified >>>
2905
- // if ((process.env.NODE_ENV !== 'production') && warnMissing && !res) {
2906
- // 避免掉jsv自定义 element的报错问题
2907
- if ((process.env.NODE_ENV !== 'production') && warnMissing && !res
2908
- && !name.startsWith("jsve-") && !name.startsWith("fdiv")) {
2904
+ // JsView Modified >>>
2905
+ // if ((process.env.NODE_ENV !== 'production') && warnMissing && !res) {
2906
+ // 避免掉jsv自定义 element的报错问题
2907
+ if ((process.env.NODE_ENV !== 'production') && warnMissing && !res
2908
+ && !name.startsWith("jsve-") && !name.startsWith("jsv-") && !name.startsWith("fdiv")) {
2909
2909
  // JsView Modified <<<
2910
2910
  const extra = type === COMPONENTS
2911
2911
  ? `\nIf this is a native custom element, make sure to exclude it from ` +
@@ -2925,8 +2925,8 @@ function resolve(registry, name) {
2925
2925
  (registry[name] ||
2926
2926
  registry[camelize(name)] ||
2927
2927
  registry[capitalize(camelize(name))]));
2928
- }
2929
-
2928
+ }
2929
+
2930
2930
  /**
2931
2931
  * Actual implementation
2932
2932
  */
@@ -2968,8 +2968,8 @@ function renderList(source, renderItem, cache, index) {
2968
2968
  cache[index] = ret;
2969
2969
  }
2970
2970
  return ret;
2971
- }
2972
-
2971
+ }
2972
+
2973
2973
  /**
2974
2974
  * Compiler runtime helper for creating dynamic slots object
2975
2975
  * @private
@@ -2989,8 +2989,8 @@ function createSlots(slots, dynamicSlots) {
2989
2989
  }
2990
2990
  }
2991
2991
  return slots;
2992
- }
2993
-
2992
+ }
2993
+
2994
2994
  /**
2995
2995
  * Compiler runtime helper for rendering `<slot/>`
2996
2996
  * @private
@@ -3045,8 +3045,8 @@ function ensureValidVNode(vnodes) {
3045
3045
  })
3046
3046
  ? vnodes
3047
3047
  : null;
3048
- }
3049
-
3048
+ }
3049
+
3050
3050
  /**
3051
3051
  * For prefixing keys in v-on="obj" with "on"
3052
3052
  * @private
@@ -3061,8 +3061,8 @@ function toHandlers(obj) {
3061
3061
  ret[toHandlerKey(key)] = obj[key];
3062
3062
  }
3063
3063
  return ret;
3064
- }
3065
-
3064
+ }
3065
+
3066
3066
  /**
3067
3067
  * #2437 In Vue 3, functional components do not have a public instance proxy but
3068
3068
  * they exist in the internal parent chain. For code that relies on traversing
@@ -3339,8 +3339,8 @@ function exposeSetupStateOnRenderContext(instance) {
3339
3339
  });
3340
3340
  }
3341
3341
  });
3342
- }
3343
-
3342
+ }
3343
+
3344
3344
  function createDuplicateChecker() {
3345
3345
  const cache = Object.create(null);
3346
3346
  return (type, key) => {
@@ -3760,8 +3760,8 @@ function mergeWatchOptions(to, from) {
3760
3760
  merged[key] = mergeAsArray(to[key], from[key]);
3761
3761
  }
3762
3762
  return merged;
3763
- }
3764
-
3763
+ }
3764
+
3765
3765
  function initProps(instance, rawProps, isStateful, // result of bitwise flag comparison
3766
3766
  isSSR = false) {
3767
3767
  const props = {};
@@ -4197,8 +4197,8 @@ function isExplicable(type) {
4197
4197
  */
4198
4198
  function isBoolean(...args) {
4199
4199
  return args.some(elem => elem.toLowerCase() === 'boolean');
4200
- }
4201
-
4200
+ }
4201
+
4202
4202
  const isInternalKey = (key) => key[0] === '_' || key === '$stable';
4203
4203
  const normalizeSlotValue = (value) => isArray(value)
4204
4204
  ? value.map(normalizeVNode)
@@ -4321,8 +4321,8 @@ const updateSlots = (instance, children, optimized) => {
4321
4321
  }
4322
4322
  }
4323
4323
  }
4324
- };
4325
-
4324
+ };
4325
+
4326
4326
  function createAppContext() {
4327
4327
  return {
4328
4328
  app: null,
@@ -4496,8 +4496,8 @@ function createAppAPI(render, hydrate) {
4496
4496
  });
4497
4497
  return app;
4498
4498
  };
4499
- }
4500
-
4499
+ }
4500
+
4501
4501
  /**
4502
4502
  * Function for handling a template ref
4503
4503
  */
@@ -4595,8 +4595,8 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4595
4595
  warn('Invalid template ref type:', ref, `(${typeof ref})`);
4596
4596
  }
4597
4597
  }
4598
- }
4599
-
4598
+ }
4599
+
4600
4600
  let hasMismatch = false;
4601
4601
  const isSVGContainer = (container) => /svg/.test(container.namespaceURI) && container.tagName !== 'foreignObject';
4602
4602
  const isComment = (node) => node.nodeType === 8 /* COMMENT */;
@@ -4945,8 +4945,8 @@ function createHydrationFunctions(rendererInternals) {
4945
4945
  return node;
4946
4946
  };
4947
4947
  return [hydrate, hydrateNode];
4948
- }
4949
-
4948
+ }
4949
+
4950
4950
  /* eslint-disable no-restricted-globals */
4951
4951
  let supported;
4952
4952
  let perf;
@@ -4983,8 +4983,8 @@ function isSupported() {
4983
4983
  supported = false;
4984
4984
  }
4985
4985
  return supported;
4986
- }
4987
-
4986
+ }
4987
+
4988
4988
  /**
4989
4989
  * This is only called in esm-bundler builds.
4990
4990
  * It is called when a renderer is created, in `baseCreateRenderer` so that
@@ -5010,8 +5010,8 @@ function initFeatureFlags() {
5010
5010
  `production bundle.\n\n` +
5011
5011
  `For more details, see https://link.vuejs.org/feature-flags.`);
5012
5012
  }
5013
- }
5014
-
5013
+ }
5014
+
5015
5015
  const queuePostRenderEffect = queueEffectWithSuspense
5016
5016
  ;
5017
5017
  /**
@@ -5053,27 +5053,27 @@ function baseCreateRenderer(options, createHydrationFns) {
5053
5053
  // Note: functions inside this closure should use `const xxx = () => {}`
5054
5054
  // style in order to prevent being inlined by minifiers.
5055
5055
  const patch = (n1, n2, container, anchor = null, parentComponent = null, parentSuspense = null, isSVG = false, slotScopeIds = null, optimized = (process.env.NODE_ENV !== 'production') && isHmrUpdating ? false : !!n2.dynamicChildren) => {
5056
- // JsView Added >>>
5057
- if (n1 && n1.jsvRenderBreaker?.breaked) {
5058
- // 前一次的patch被打断
5059
-
5060
- // anchor和container要从n1中还原出来
5061
- container = n1.jsvRenderBreaker.patchPack.container;
5062
- anchor = n1.jsvRenderBreaker.patchPack.anchor;
5063
-
5064
- // 释放renderBreak时,创建出来的占位element
5065
- if (n1.el) {
5066
- n1.el.parentElement.removeChild(n1.el);
5067
- n1.el = null;
5068
- }
5069
-
5070
- n1 = null;
5071
- // if (n2 == null) {
5072
- // console.log("QCodeDrop become nothing to draw");
5073
- // }
5074
- }
5075
- // JsView Added <<<
5076
-
5056
+ // JsView Added >>>
5057
+ if (n1 && n1.jsvRenderBreaker?.breaked) {
5058
+ // 前一次的patch被打断
5059
+
5060
+ // anchor和container要从n1中还原出来
5061
+ container = n1.jsvRenderBreaker.patchPack.container;
5062
+ anchor = n1.jsvRenderBreaker.patchPack.anchor;
5063
+
5064
+ // 释放renderBreak时,创建出来的占位element
5065
+ if (n1.el) {
5066
+ n1.el.parentElement.removeChild(n1.el);
5067
+ n1.el = null;
5068
+ }
5069
+
5070
+ n1 = null;
5071
+ // if (n2 == null) {
5072
+ // console.log("QCodeDrop become nothing to draw");
5073
+ // }
5074
+ }
5075
+ // JsView Added <<<
5076
+
5077
5077
  if (n1 === n2) {
5078
5078
  return;
5079
5079
  }
@@ -5087,46 +5087,46 @@ function baseCreateRenderer(options, createHydrationFns) {
5087
5087
  optimized = false;
5088
5088
  n2.dynamicChildren = null;
5089
5089
  }
5090
-
5091
- // JsView Added >>>
5092
- // 有按键打断, 取消patch
5093
- if (n1 == null && n2) {
5094
- if (n2.key == "__QcodeJsviewMetroWidgetSlot" && (jsvPendingForFirstDelayRender || window.JsView?.hasPendingUserInput?.())) {
5095
- // 创建Comment节点, 以解决el释放可能出错问题
5096
- // 同时存储el以便给父节点进行属性链接
5097
- hostInsert((n2.el = hostCreateComment('')), container, anchor)
5098
- n2.anchor = anchor;
5099
-
5100
- n2.jsvRenderBreaker = {
5101
- breaked: true,
5102
- patchPack: {
5103
- container,
5104
- anchor, // 可能获取从fragment提交过来的anchor
5105
- }
5106
- };
5107
-
5108
- if (n2.children[0].key === "__QcodeJsviewMetroWidgetSlot") {
5109
- n2.children[0].anchor = anchor;
5110
- n2.children[0].jsvRenderBreaker = {
5111
- breaked: true,
5112
- patchPack: {
5113
- container,
5114
- anchor, // 可能获取从fragment提交过来的anchor
5115
- }
5116
- };
5117
- }
5118
-
5119
- if (!parentComponent.update.delayToken || parentComponent.update.delayToken != jsvDelayQueueTaskToken) {
5120
- parentComponent.update.delayToken = jsvDelayQueueTaskToken;
5121
- jsvDelayQueue.push(parentComponent.update);
5122
- } else {
5123
- // console.log("QCodeDrop repeat add parentComponent.update for id=" + parentComponent.update.id);
5124
- }
5125
- return;
5126
- }
5127
- }
5128
- // JsView Added <<<
5129
-
5090
+
5091
+ // JsView Added >>>
5092
+ // 有按键打断, 取消patch
5093
+ if (n1 == null && n2) {
5094
+ if (n2.key == "__QcodeJsviewMetroWidgetSlot" && (jsvPendingForFirstDelayRender || window.JsView?.hasPendingUserInput?.())) {
5095
+ // 创建Comment节点, 以解决el释放可能出错问题
5096
+ // 同时存储el以便给父节点进行属性链接
5097
+ hostInsert((n2.el = hostCreateComment('')), container, anchor)
5098
+ n2.anchor = anchor;
5099
+
5100
+ n2.jsvRenderBreaker = {
5101
+ breaked: true,
5102
+ patchPack: {
5103
+ container,
5104
+ anchor, // 可能获取从fragment提交过来的anchor
5105
+ }
5106
+ };
5107
+
5108
+ if (n2.children[0].key === "__QcodeJsviewMetroWidgetSlot") {
5109
+ n2.children[0].anchor = anchor;
5110
+ n2.children[0].jsvRenderBreaker = {
5111
+ breaked: true,
5112
+ patchPack: {
5113
+ container,
5114
+ anchor, // 可能获取从fragment提交过来的anchor
5115
+ }
5116
+ };
5117
+ }
5118
+
5119
+ if (!parentComponent.update.delayToken || parentComponent.update.delayToken != jsvDelayQueueTaskToken) {
5120
+ parentComponent.update.delayToken = jsvDelayQueueTaskToken;
5121
+ jsvDelayQueue.push(parentComponent.update);
5122
+ } else {
5123
+ // console.log("QCodeDrop repeat add parentComponent.update for id=" + parentComponent.update.id);
5124
+ }
5125
+ return;
5126
+ }
5127
+ }
5128
+ // JsView Added <<<
5129
+
5130
5130
  const { type, ref, shapeFlag } = n2;
5131
5131
  switch (type) {
5132
5132
  case Text:
@@ -5167,10 +5167,10 @@ function baseCreateRenderer(options, createHydrationFns) {
5167
5167
  if (ref != null && parentComponent) {
5168
5168
  setRef(ref, n1 && n1.ref, parentSuspense, n2 || n1, !n2);
5169
5169
  }
5170
-
5171
- // JsView Added >>>
5172
- n2.jsvPatchedFlag = true; // 记录是否执行完成patch操作,用于避免unmount处理失效
5173
- // JsView Added <<<
5170
+
5171
+ // JsView Added >>>
5172
+ n2.jsvPatchedFlag = true; // 记录是否执行完成patch操作,用于避免unmount处理失效
5173
+ // JsView Added <<<
5174
5174
  };
5175
5175
  const processText = (n1, n2, container, anchor) => {
5176
5176
  if (n1 == null) {
@@ -5777,45 +5777,45 @@ function baseCreateRenderer(options, createHydrationFns) {
5777
5777
  if ((process.env.NODE_ENV !== 'production')) {
5778
5778
  startMeasure(instance, `patch`);
5779
5779
  }
5780
-
5781
- // JsView Added >>>
5782
- let el_parent_node;
5783
- let next_host_node;
5784
- if (prevTree.jsvRenderBreaker?.breaked) {
5785
- // el_parent_node = hostParentNode(prevTree.el);
5786
- // next_host_node = getNextHostNode(prevTree);
5787
- el_parent_node = prevTree.jsvRenderBreaker.patchPack.container;
5788
- next_host_node = prevTree.jsvRenderBreaker.patchPack.anchor;
5789
-
5790
- if (next_host_node && next_host_node.parent != el_parent_node) {
5791
- // anchor失效了
5792
- // console.warn("QCodeDrop lost anchor for anchor.parent=", next_host_node.parent);
5793
- next_host_node = null;
5794
- }
5795
- } else if (prevTree.jsvPatchedFlag) {
5796
- // if (!prevTree.el) {
5797
- // console.log("QCodeDrop element lost...");
5798
- // }
5799
- el_parent_node = hostParentNode(prevTree.el);
5800
- next_host_node = getNextHostNode(prevTree);
5801
- } else {
5802
- console.warn("QCodeDrop update with no patched item, use default set");
5803
- el_parent_node = container;
5804
- next_host_node = anchor;
5805
- return;
5806
- }
5807
- // JsView Added <<<
5808
-
5780
+
5781
+ // JsView Added >>>
5782
+ let el_parent_node;
5783
+ let next_host_node;
5784
+ if (prevTree.jsvRenderBreaker?.breaked) {
5785
+ // el_parent_node = hostParentNode(prevTree.el);
5786
+ // next_host_node = getNextHostNode(prevTree);
5787
+ el_parent_node = prevTree.jsvRenderBreaker.patchPack.container;
5788
+ next_host_node = prevTree.jsvRenderBreaker.patchPack.anchor;
5789
+
5790
+ if (next_host_node && next_host_node.parent != el_parent_node) {
5791
+ // anchor失效了
5792
+ // console.warn("QCodeDrop lost anchor for anchor.parent=", next_host_node.parent);
5793
+ next_host_node = null;
5794
+ }
5795
+ } else if (prevTree.jsvPatchedFlag) {
5796
+ // if (!prevTree.el) {
5797
+ // console.log("QCodeDrop element lost...");
5798
+ // }
5799
+ el_parent_node = hostParentNode(prevTree.el);
5800
+ next_host_node = getNextHostNode(prevTree);
5801
+ } else {
5802
+ console.warn("QCodeDrop update with no patched item, use default set");
5803
+ el_parent_node = container;
5804
+ next_host_node = anchor;
5805
+ return;
5806
+ }
5807
+ // JsView Added <<<
5808
+
5809
5809
  patch(prevTree, nextTree,
5810
- // JsView Modified >>>
5810
+ // JsView Modified >>>
5811
5811
  // // parent may have changed if it's in a teleport
5812
5812
  // hostParentNode(prevTree.el),
5813
5813
  // // anchor may have changed if it's in a fragment
5814
- // getNextHostNode(prevTree), instance, parentSuspense, isSVG);
5815
- el_parent_node,
5816
- next_host_node,
5814
+ // getNextHostNode(prevTree), instance, parentSuspense, isSVG);
5815
+ el_parent_node,
5816
+ next_host_node,
5817
5817
  instance, parentSuspense, isSVG);
5818
- // JsView Modified <<<
5818
+ // JsView Modified <<<
5819
5819
  if ((process.env.NODE_ENV !== 'production')) {
5820
5820
  endMeasure(instance, `patch`);
5821
5821
  }
@@ -6180,24 +6180,24 @@ function baseCreateRenderer(options, createHydrationFns) {
6180
6180
  }
6181
6181
  };
6182
6182
  const unmount = (vnode, parentComponent, parentSuspense, doRemove = false, optimized = false) => {
6183
- // JsView Added >>>
6184
- if (!vnode.jsvPatchedFlag) {
6185
- // unmount动作要进行的是vnode中的子节点进行unmount,但是vnode本身没有去进行创建,所以也不用去销毁
6186
- // 但是 mount 状态需要进行记录,避免由于RenderBreaker引起子节点未patch因为无法umount状态
6187
-
6188
- if (vnode.jsvRenderBreaker?.breaked) {
6189
- vnode.el.parentElement.removeChild(vnode.el);
6190
- vnode.el = null;
6191
- vnode.anchor = null;
6192
- vnode.jsvRenderBreaker = null;
6193
- }
6194
- return;
6195
- } else {
6196
- // unmount时重置jsvPatchedFlag
6197
- vnode.jsvPatchedFlag = false;
6198
- }
6199
- // JsView Added <<<
6200
-
6183
+ // JsView Added >>>
6184
+ if (!vnode.jsvPatchedFlag) {
6185
+ // unmount动作要进行的是vnode中的子节点进行unmount,但是vnode本身没有去进行创建,所以也不用去销毁
6186
+ // 但是 mount 状态需要进行记录,避免由于RenderBreaker引起子节点未patch因为无法umount状态
6187
+
6188
+ if (vnode.jsvRenderBreaker?.breaked) {
6189
+ vnode.el.parentElement.removeChild(vnode.el);
6190
+ vnode.el = null;
6191
+ vnode.anchor = null;
6192
+ vnode.jsvRenderBreaker = null;
6193
+ }
6194
+ return;
6195
+ } else {
6196
+ // unmount时重置jsvPatchedFlag
6197
+ vnode.jsvPatchedFlag = false;
6198
+ }
6199
+ // JsView Added <<<
6200
+
6201
6201
  const { type, props, ref, children, dynamicChildren, shapeFlag, patchFlag, dirs } = vnode;
6202
6202
  // unset ref
6203
6203
  if (ref != null) {
@@ -6486,8 +6486,8 @@ function getSequence(arr) {
6486
6486
  v = p[v];
6487
6487
  }
6488
6488
  return result;
6489
- }
6490
-
6489
+ }
6490
+
6491
6491
  const isTeleport = (type) => type.__isTeleport;
6492
6492
  const isTeleportDisabled = (props) => props && (props.disabled || props.disabled === '');
6493
6493
  const isTargetSVG = (target) => typeof SVGElement !== 'undefined' && target instanceof SVGElement;
@@ -6693,8 +6693,8 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
6693
6693
  return vnode.anchor && nextSibling(vnode.anchor);
6694
6694
  }
6695
6695
  // Force-casted public typing for h and TSX props inference
6696
- const Teleport = TeleportImpl;
6697
-
6696
+ const Teleport = TeleportImpl;
6697
+
6698
6698
  const Fragment = Symbol((process.env.NODE_ENV !== 'production') ? 'Fragment' : undefined);
6699
6699
  const Text = Symbol((process.env.NODE_ENV !== 'production') ? 'Text' : undefined);
6700
6700
  const Comment = Symbol((process.env.NODE_ENV !== 'production') ? 'Comment' : undefined);
@@ -6843,10 +6843,10 @@ function createBaseVNode(type, props = null, children = null, patchFlag = 0, dyn
6843
6843
  shapeFlag,
6844
6844
  patchFlag,
6845
6845
  dynamicProps,
6846
- dynamicChildren: null,
6847
- // JsView Added >>>
6848
- jsvRenderBreaker: null, //打断处理
6849
- jsvPatchedFlag: false, // 用于记录节点是否完成mount,未完成的可能由于jsvRenderBreaker打断了导致子节点不mount
6846
+ dynamicChildren: null,
6847
+ // JsView Added >>>
6848
+ jsvRenderBreaker: null, //打断处理
6849
+ jsvPatchedFlag: false, // 用于记录节点是否完成mount,未完成的可能由于jsvRenderBreaker打断了导致子节点不mount
6850
6850
  // JsView Added <<<
6851
6851
  appContext: null
6852
6852
  };
@@ -7176,8 +7176,8 @@ function invokeVNodeHook(hook, instance, vnode, prevVNode = null) {
7176
7176
  vnode,
7177
7177
  prevVNode
7178
7178
  ]);
7179
- }
7180
-
7179
+ }
7180
+
7181
7181
  const emptyAppContext = createAppContext();
7182
7182
  let uid$1 = 0;
7183
7183
  function createComponentInstance(vnode, parent, suspense) {
@@ -7538,13 +7538,13 @@ function createSetupContext(instance) {
7538
7538
  }
7539
7539
  }
7540
7540
  function getExposeProxy(instance) {
7541
- // JsView Added >>>
7542
- // 用于确认执行错误问题
7543
- if (!instance) {
7544
- console.error("QCodeDrop lost instance");
7545
- }
7546
- // JsView Added <<<
7547
-
7541
+ // JsView Added >>>
7542
+ // 用于确认执行错误问题
7543
+ if (!instance) {
7544
+ console.error("QCodeDrop lost instance");
7545
+ }
7546
+ // JsView Added <<<
7547
+
7548
7548
  if (instance.exposed) {
7549
7549
  return (instance.exposeProxy ||
7550
7550
  (instance.exposeProxy = new Proxy(proxyRefs(markRaw(instance.exposed)), {
@@ -7592,13 +7592,13 @@ function formatComponentName(instance, Component, isRoot = false) {
7592
7592
  }
7593
7593
  function isClassComponent(value) {
7594
7594
  return isFunction(value) && '__vccOpts' in value;
7595
- }
7596
-
7595
+ }
7596
+
7597
7597
  const computed = ((getterOrOptions, debugOptions) => {
7598
7598
  // @ts-ignore
7599
7599
  return computed$1(getterOrOptions, debugOptions, isInSSRComponentSetup);
7600
- });
7601
-
7600
+ });
7601
+
7602
7602
  // dev only
7603
7603
  const warnRuntimeUsage = (method) => warn(`${method}() is a compiler-hint helper that is only usable inside ` +
7604
7604
  `<script setup> of a single file component. Its arguments should be ` +
@@ -7749,8 +7749,8 @@ function withAsyncContext(getAwaitable) {
7749
7749
  });
7750
7750
  }
7751
7751
  return [awaitable, () => setCurrentInstance(ctx)];
7752
- }
7753
-
7752
+ }
7753
+
7754
7754
  // Actual implementation
7755
7755
  function h(type, propsOrChildren, children) {
7756
7756
  const l = arguments.length;
@@ -7777,8 +7777,8 @@ function h(type, propsOrChildren, children) {
7777
7777
  }
7778
7778
  return createVNode(type, propsOrChildren, children);
7779
7779
  }
7780
- }
7781
-
7780
+ }
7781
+
7782
7782
  const ssrContextKey = Symbol((process.env.NODE_ENV !== 'production') ? `ssrContext` : ``);
7783
7783
  const useSSRContext = () => {
7784
7784
  {
@@ -7789,12 +7789,12 @@ const useSSRContext = () => {
7789
7789
  }
7790
7790
  return ctx;
7791
7791
  }
7792
- };
7793
-
7792
+ };
7793
+
7794
7794
  function isShallow(value) {
7795
7795
  return !!(value && value["__v_isShallow" /* IS_SHALLOW */]);
7796
- }
7797
-
7796
+ }
7797
+
7798
7798
  function initCustomFormatter() {
7799
7799
  /* eslint-disable no-restricted-globals */
7800
7800
  if (!(process.env.NODE_ENV !== 'production') || typeof window === 'undefined') {
@@ -7982,8 +7982,8 @@ function initCustomFormatter() {
7982
7982
  else {
7983
7983
  window.devtoolsFormatters = [formatter];
7984
7984
  }
7985
- }
7986
-
7985
+ }
7986
+
7987
7987
  function withMemo(memo, render, cache, index) {
7988
7988
  const cached = cache[index];
7989
7989
  if (cached && isMemoSame(cached, memo)) {
@@ -8009,8 +8009,8 @@ function isMemoSame(cached, memo) {
8009
8009
  currentBlock.push(cached);
8010
8010
  }
8011
8011
  return true;
8012
- }
8013
-
8012
+ }
8013
+
8014
8014
  // Core API ------------------------------------------------------------------
8015
8015
  const version = "3.2.37";
8016
8016
  const _ssrUtils = {
@@ -8033,6 +8033,6 @@ const resolveFilter = null;
8033
8033
  /**
8034
8034
  * @internal only exposed in compat builds.
8035
8035
  */
8036
- const compatUtils = (null);
8037
-
8038
- export { BaseTransition, Comment, Fragment, KeepAlive, Static, Suspense, Teleport, Text, callWithAsyncErrorHandling, callWithErrorHandling, cloneVNode, compatUtils, computed, createBlock, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createPropsRestProxy, createRenderer, createSlots, createStaticVNode, createTextVNode, createVNode, defineAsyncComponent, defineComponent, defineEmits, defineExpose, defineProps, devtools, getCurrentInstance, getTransitionRawChildren, guardReactiveProps, h, handleError, initCustomFormatter, inject, isMemoSame, isRuntimeOnly, isVNode, mergeDefaults, mergeProps, nextTick, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onServerPrefetch, onUnmounted, onUpdated, openBlock, popScopeId, provide, pushScopeId, queuePostFlushCb, registerRuntimeCompiler, renderList, renderSlot, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolveTransitionHooks, setBlockTracking, setDevtoolsHook, setTransitionHooks, ssrContextKey, ssrUtils, toHandlers, transformVNodeArgs, useAttrs, useSSRContext, useSlots, useTransitionState, version, warn, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withMemo, withScopeId };
8036
+ const compatUtils = (null);
8037
+
8038
+ export { BaseTransition, Comment, Fragment, KeepAlive, Static, Suspense, Teleport, Text, callWithAsyncErrorHandling, callWithErrorHandling, cloneVNode, compatUtils, computed, createBlock, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createPropsRestProxy, createRenderer, createSlots, createStaticVNode, createTextVNode, createVNode, defineAsyncComponent, defineComponent, defineEmits, defineExpose, defineProps, devtools, getCurrentInstance, getTransitionRawChildren, guardReactiveProps, h, handleError, initCustomFormatter, inject, isMemoSame, isRuntimeOnly, isVNode, mergeDefaults, mergeProps, nextTick, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onServerPrefetch, onUnmounted, onUpdated, openBlock, popScopeId, provide, pushScopeId, queuePostFlushCb, registerRuntimeCompiler, renderList, renderSlot, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolveTransitionHooks, setBlockTracking, setDevtoolsHook, setTransitionHooks, ssrContextKey, ssrUtils, toHandlers, transformVNodeArgs, useAttrs, useSSRContext, useSlots, useTransitionState, version, warn, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withMemo, withScopeId };