@tarojs/runtime 4.0.6 → 4.0.7-alpha.0
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/constants/index.d.ts +2 -1
- package/dist/constants/index.js +2 -1
- package/dist/constants/index.js.map +1 -1
- package/dist/current.d.ts +1 -1
- package/dist/dom/element.js +8 -8
- package/dist/dom/element.js.map +1 -1
- package/dist/dom/event-source.js +1 -1
- package/dist/dom/event-source.js.map +1 -1
- package/dist/dom/event-target.d.ts +1 -0
- package/dist/dom/event-target.js +5 -0
- package/dist/dom/event-target.js.map +1 -1
- package/dist/dom/event.js +5 -5
- package/dist/dom/event.js.map +1 -1
- package/dist/dom/node.d.ts +2 -1
- package/dist/dom/node.js +7 -7
- package/dist/dom/node.js.map +1 -1
- package/dist/dom/root.d.ts +1 -0
- package/dist/dom/root.js +23 -9
- package/dist/dom/root.js.map +1 -1
- package/dist/dom-external/mutation-observer/implements.d.ts +1 -1
- package/dist/dom-external/mutation-observer/implements.js +2 -2
- package/dist/dom-external/mutation-observer/implements.js.map +1 -1
- package/dist/dom-external/mutation-observer/index.d.ts +1 -1
- package/dist/dsl/common.d.ts +1 -1
- package/dist/dsl/common.js +3 -3
- package/dist/dsl/common.js.map +1 -1
- package/dist/hydrate.js +18 -15
- package/dist/hydrate.js.map +1 -1
- package/dist/index-26658829.d.ts +1 -1
- package/dist/index.cjs.d.ts +6 -3
- package/dist/index.cjs.js +73 -49
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/runtime.esm.d.ts +6 -3
- package/dist/runtime.esm.js +73 -50
- package/dist/runtime.esm.js.map +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/utils/index.js.map +1 -1
- package/package.json +2 -2
- /package/dist/{instance-4c64b022.d.ts → instance-3211dc5e.d.ts} +0 -0
- /package/dist/{options-4c64b022.d.ts → options-3211dc5e.d.ts} +0 -0
- /package/dist/{record-32b054d8.d.ts → record-6d0833e0.d.ts} +0 -0
package/dist/index.d.ts
CHANGED
|
@@ -29,6 +29,6 @@ export { nextTick } from "./next-tick.js";
|
|
|
29
29
|
export { options } from "./options.js";
|
|
30
30
|
export * from "./perf.js";
|
|
31
31
|
export * from "./utils/index.js";
|
|
32
|
-
export * from "./instance-
|
|
32
|
+
export * from "./instance-3211dc5e.js";
|
|
33
33
|
export * from "./index-26658829.js";
|
|
34
34
|
export * from "./polyfill/index.js";
|
package/dist/index.js
CHANGED
|
@@ -19,7 +19,7 @@ export { Style } from './dom/style.js';
|
|
|
19
19
|
export { SVGElement } from './dom/svg.js';
|
|
20
20
|
export { TaroText } from './dom/text.js';
|
|
21
21
|
export { MutationObserver } from './dom-external/mutation-observer/index.js';
|
|
22
|
-
export { A, APP, BEHAVIORS, BODY, CATCHMOVE, CATCH_VIEW, CHANGE, CLASS, COMMENT, COMPILE_MODE, CONFIRM, CONTAINER, CONTEXT_ACTIONS, CURRENT_TARGET, CUSTOM_WRAPPER, DATASET, DATE, DOCUMENT_ELEMENT_NAME, DOCUMENT_FRAGMENT, EVENT_CALLBACK_RESULT, EXTERNAL_CLASSES, FOCUS, HEAD, HOOKS_APP_ID, HTML, ID, INPUT, KEY_CODE, OBJECT, ON_HIDE, ON_LOAD, ON_READY, ON_SHOW, OPTIONS, PAGE_INIT, PROPERTY_THRESHOLD, PROPS, PURE_VIEW, ROOT_STR, SET_DATA, SET_TIMEOUT, STATIC_VIEW, STYLE, TARGET, TARO_RUNTIME, TIME_STAMP, TOUCHMOVE, TYPE, UID, VALUE, VIEW } from './constants/index.js';
|
|
22
|
+
export { A, APP, BEHAVIORS, BODY, CATCHMOVE, CATCH_VIEW, CHANGE, CLASS, CLICK_VIEW, COMMENT, COMPILE_MODE, CONFIRM, CONTAINER, CONTEXT_ACTIONS, CURRENT_TARGET, CUSTOM_WRAPPER, DATASET, DATE, DOCUMENT_ELEMENT_NAME, DOCUMENT_FRAGMENT, EVENT_CALLBACK_RESULT, EXTERNAL_CLASSES, FOCUS, HEAD, HOOKS_APP_ID, HTML, ID, INPUT, KEY_CODE, OBJECT, ON_HIDE, ON_LOAD, ON_READY, ON_SHOW, OPTIONS, PAGE_INIT, PROPERTY_THRESHOLD, PROPS, PURE_VIEW, ROOT_STR, SET_DATA, SET_TIMEOUT, STATIC_VIEW, STYLE, TARGET, TARO_RUNTIME, TIME_STAMP, TOUCHMOVE, TYPE, UID, VALUE, VIEW } from './constants/index.js';
|
|
23
23
|
export { Current, getCurrentInstance } from './current.js';
|
|
24
24
|
export { eventSource } from './dom/event-source.js';
|
|
25
25
|
export { createComponentConfig, createPageConfig, createRecursiveComponentConfig, getOnHideEventKey, getOnReadyEventKey, getOnShowEventKey, getPageInstance, getPath, injectPageInstance, removePageInstance, safeExecute, stringify } from './dsl/common.js';
|
package/dist/runtime.esm.d.ts
CHANGED
|
@@ -68,7 +68,7 @@ interface MiniElementData {
|
|
|
68
68
|
[Shortcuts.Class]?: string;
|
|
69
69
|
[Shortcuts.Style]?: string;
|
|
70
70
|
uid?: string;
|
|
71
|
-
|
|
71
|
+
[Shortcuts.Sid]: string;
|
|
72
72
|
[key: string]: unknown;
|
|
73
73
|
}
|
|
74
74
|
interface MiniTextData {
|
|
@@ -141,6 +141,7 @@ declare class TaroEventTarget {
|
|
|
141
141
|
addEventListener(type: string, handler: EventHandler, options?: boolean | AddEventListenerOptions): void;
|
|
142
142
|
removeEventListener(type: string, handler: EventHandler): void;
|
|
143
143
|
isAnyEventBinded(): boolean;
|
|
144
|
+
isOnlyClickBinded(): boolean;
|
|
144
145
|
}
|
|
145
146
|
declare class TaroRootElement extends TaroElement {
|
|
146
147
|
private updatePayloads;
|
|
@@ -150,6 +151,7 @@ declare class TaroRootElement extends TaroElement {
|
|
|
150
151
|
constructor();
|
|
151
152
|
get _path(): string;
|
|
152
153
|
get _root(): TaroRootElement;
|
|
154
|
+
scheduleTask(fn: TFunc): void;
|
|
153
155
|
enqueueUpdate(payload: UpdatePayload): void;
|
|
154
156
|
performUpdate(initRender?: boolean, prerender?: TFunc): void;
|
|
155
157
|
enqueueUpdateCallback(cb: TFunc, ctx?: Record<string, any>): void;
|
|
@@ -161,7 +163,7 @@ interface RemoveChildOptions {
|
|
|
161
163
|
}
|
|
162
164
|
declare class TaroNode extends TaroEventTarget {
|
|
163
165
|
uid: string;
|
|
164
|
-
|
|
166
|
+
[Shortcuts.Sid]: string;
|
|
165
167
|
nodeType: NodeType;
|
|
166
168
|
nodeName: string;
|
|
167
169
|
parentNode: TaroNode | null;
|
|
@@ -626,6 +628,7 @@ declare const SET_TIMEOUT = "setTimeout";
|
|
|
626
628
|
declare const COMPILE_MODE = "compileMode";
|
|
627
629
|
declare const CATCHMOVE = "catchMove";
|
|
628
630
|
declare const CATCH_VIEW = "catch-view";
|
|
631
|
+
declare const CLICK_VIEW = "click-view";
|
|
629
632
|
declare const COMMENT = "comment";
|
|
630
633
|
declare const ON_LOAD = "onLoad";
|
|
631
634
|
declare const ON_READY = "onReady";
|
|
@@ -807,4 +810,4 @@ declare const getHomePage: (path?: string, basename?: string, customRoutes?: Rec
|
|
|
807
810
|
declare const getCurrentPage: (routerMode?: string, basename?: string) => string;
|
|
808
811
|
declare function handlePolyfill(): void;
|
|
809
812
|
export { hooks } from '@tarojs/shared';
|
|
810
|
-
export { taroDocumentProvider as document, taroGetComputedStyleProvider as getComputedStyle, History, Location, nav as navigator, _caf as cancelAnimationFrame, now, _raf as requestAnimationFrame, parseUrl, TaroURLProvider as URL, URLSearchParams, taroHistoryProvider as history, taroLocationProvider as location, taroWindowProvider as window, TaroElement, createEvent, eventHandler, TaroEvent, FormElement, TaroNode, TaroRootElement, Style, SVGElement, TaroText, MutationObserver, env, PROPERTY_THRESHOLD, TARO_RUNTIME, HOOKS_APP_ID, SET_DATA, PAGE_INIT, ROOT_STR, HTML, HEAD, BODY, APP, CONTAINER, DOCUMENT_ELEMENT_NAME, DOCUMENT_FRAGMENT, ID, UID, CLASS, STYLE, FOCUS, VIEW, STATIC_VIEW, PURE_VIEW, PROPS, DATASET, OBJECT, VALUE, INPUT, CHANGE, CUSTOM_WRAPPER, TARGET, CURRENT_TARGET, TYPE, CONFIRM, TIME_STAMP, KEY_CODE, TOUCHMOVE, DATE, SET_TIMEOUT, COMPILE_MODE, CATCHMOVE, CATCH_VIEW, COMMENT, ON_LOAD, ON_READY, ON_SHOW, ON_HIDE, OPTIONS, EXTERNAL_CLASSES, EVENT_CALLBACK_RESULT, BEHAVIORS, A, CONTEXT_ACTIONS, Current, getCurrentInstance, eventSource, createComponentConfig, createPageConfig, createRecursiveComponentConfig, getOnHideEventKey, getOnReadyEventKey, getOnShowEventKey, getPageInstance, getPath, injectPageInstance, removePageInstance, safeExecute, stringify, EventsType, eventCenter, Events, hydrate, nextTick, options, perf, incrementId, isElement, isText, isComment, isHasExtractProp, isParentBinded, shortcutAttr, customWrapperCache, extend, getComponentsAlias, convertNumber2PX, throttle, debounce, addLeadingSlash, hasBasename, stripBasename, stripTrailing, stripSuffix, getHomePage, getCurrentPage, Instance, PageProps, ReactPageComponent, ReactPageInstance, ReactAppInstance, PageLifeCycle, PageInstance, AppInstance, Attributes, EventOptions, MpEvent, EventListenerOptions, AddEventListenerOptions, EventHandler, MpInstance, MiniElementData, MiniTextData, MiniData, HydratedData, UpdatePayloadValue, DataTree, UpdatePayload, Options$1 as Options, TFunc, PageConfig, handlePolyfill };
|
|
813
|
+
export { taroDocumentProvider as document, taroGetComputedStyleProvider as getComputedStyle, History, Location, nav as navigator, _caf as cancelAnimationFrame, now, _raf as requestAnimationFrame, parseUrl, TaroURLProvider as URL, URLSearchParams, taroHistoryProvider as history, taroLocationProvider as location, taroWindowProvider as window, TaroElement, createEvent, eventHandler, TaroEvent, FormElement, TaroNode, TaroRootElement, Style, SVGElement, TaroText, MutationObserver, env, PROPERTY_THRESHOLD, TARO_RUNTIME, HOOKS_APP_ID, SET_DATA, PAGE_INIT, ROOT_STR, HTML, HEAD, BODY, APP, CONTAINER, DOCUMENT_ELEMENT_NAME, DOCUMENT_FRAGMENT, ID, UID, CLASS, STYLE, FOCUS, VIEW, STATIC_VIEW, PURE_VIEW, PROPS, DATASET, OBJECT, VALUE, INPUT, CHANGE, CUSTOM_WRAPPER, TARGET, CURRENT_TARGET, TYPE, CONFIRM, TIME_STAMP, KEY_CODE, TOUCHMOVE, DATE, SET_TIMEOUT, COMPILE_MODE, CATCHMOVE, CATCH_VIEW, CLICK_VIEW, COMMENT, ON_LOAD, ON_READY, ON_SHOW, ON_HIDE, OPTIONS, EXTERNAL_CLASSES, EVENT_CALLBACK_RESULT, BEHAVIORS, A, CONTEXT_ACTIONS, Current, getCurrentInstance, eventSource, createComponentConfig, createPageConfig, createRecursiveComponentConfig, getOnHideEventKey, getOnReadyEventKey, getOnShowEventKey, getPageInstance, getPath, injectPageInstance, removePageInstance, safeExecute, stringify, EventsType, eventCenter, Events, hydrate, nextTick, options, perf, incrementId, isElement, isText, isComment, isHasExtractProp, isParentBinded, shortcutAttr, customWrapperCache, extend, getComponentsAlias, convertNumber2PX, throttle, debounce, addLeadingSlash, hasBasename, stripBasename, stripTrailing, stripSuffix, getHomePage, getCurrentPage, Instance, PageProps, ReactPageComponent, ReactPageInstance, ReactAppInstance, PageLifeCycle, PageInstance, AppInstance, Attributes, EventOptions, MpEvent, EventListenerOptions, AddEventListenerOptions, EventHandler, MpInstance, MiniElementData, MiniTextData, MiniData, HydratedData, UpdatePayloadValue, DataTree, UpdatePayload, Options$1 as Options, TFunc, PageConfig, handlePolyfill };
|
package/dist/runtime.esm.js
CHANGED
|
@@ -42,6 +42,7 @@ const SET_TIMEOUT = 'setTimeout';
|
|
|
42
42
|
const COMPILE_MODE = 'compileMode';
|
|
43
43
|
const CATCHMOVE = 'catchMove';
|
|
44
44
|
const CATCH_VIEW = 'catch-view';
|
|
45
|
+
const CLICK_VIEW = 'click-view';
|
|
45
46
|
const COMMENT = 'comment';
|
|
46
47
|
const ON_LOAD = 'onLoad';
|
|
47
48
|
const ON_READY = 'onReady';
|
|
@@ -112,9 +113,9 @@ class MutationObserverImpl {
|
|
|
112
113
|
return this.records.splice(0, this.records.length);
|
|
113
114
|
}
|
|
114
115
|
}
|
|
115
|
-
/** Match two TaroNodes by
|
|
116
|
+
/** Match two TaroNodes by [Shortcuts.Sid]. */
|
|
116
117
|
const sidMatches = (observerTarget, target) => {
|
|
117
|
-
return !!observerTarget && observerTarget.
|
|
118
|
+
return !!observerTarget && observerTarget["s" /* Shortcuts.Sid */] === (target === null || target === void 0 ? void 0 : target["s" /* Shortcuts.Sid */]);
|
|
118
119
|
};
|
|
119
120
|
const isConcerned = (record, options) => {
|
|
120
121
|
const { characterData, characterDataOldValue, attributes, attributeOldValue, childList } = options;
|
|
@@ -1174,7 +1175,7 @@ function shortcutAttr(key) {
|
|
|
1174
1175
|
case ID:
|
|
1175
1176
|
return UID;
|
|
1176
1177
|
case CLASS:
|
|
1177
|
-
return "
|
|
1178
|
+
return "l" /* Shortcuts.Class */;
|
|
1178
1179
|
default:
|
|
1179
1180
|
return key;
|
|
1180
1181
|
}
|
|
@@ -1291,7 +1292,7 @@ class ClassList {
|
|
|
1291
1292
|
|
|
1292
1293
|
class EventSource extends Map {
|
|
1293
1294
|
removeNode(child) {
|
|
1294
|
-
const { sid, uid } = child;
|
|
1295
|
+
const { ["s" /* Shortcuts.Sid */]: sid, uid } = child;
|
|
1295
1296
|
this.delete(sid);
|
|
1296
1297
|
if (uid !== sid && uid)
|
|
1297
1298
|
this.delete(uid);
|
|
@@ -1322,24 +1323,27 @@ function hydrate(node) {
|
|
|
1322
1323
|
let compileModeName = null;
|
|
1323
1324
|
if (isText(node)) {
|
|
1324
1325
|
return {
|
|
1325
|
-
|
|
1326
|
+
["s" /* Shortcuts.Sid */]: node["s" /* Shortcuts.Sid */],
|
|
1326
1327
|
["v" /* Shortcuts.Text */]: node.nodeValue,
|
|
1327
|
-
["
|
|
1328
|
+
["n" /* Shortcuts.NodeName */]: ((_a = componentsAlias[nodeName]) === null || _a === void 0 ? void 0 : _a._num) || '8'
|
|
1328
1329
|
};
|
|
1329
1330
|
}
|
|
1330
1331
|
const data = {
|
|
1331
|
-
["
|
|
1332
|
-
|
|
1332
|
+
["n" /* Shortcuts.NodeName */]: nodeName,
|
|
1333
|
+
["s" /* Shortcuts.Sid */]: node["s" /* Shortcuts.Sid */]
|
|
1333
1334
|
};
|
|
1334
|
-
if (node.uid !== node.
|
|
1335
|
+
if (node.uid !== node["s" /* Shortcuts.Sid */]) {
|
|
1335
1336
|
data.uid = node.uid;
|
|
1336
1337
|
}
|
|
1337
1338
|
if (!node.isAnyEventBinded() && SPECIAL_NODES.indexOf(nodeName) > -1) {
|
|
1338
|
-
data["
|
|
1339
|
+
data["n" /* Shortcuts.NodeName */] = `static-${nodeName}`;
|
|
1339
1340
|
if (nodeName === VIEW && !isHasExtractProp(node)) {
|
|
1340
|
-
data["
|
|
1341
|
+
data["n" /* Shortcuts.NodeName */] = PURE_VIEW;
|
|
1341
1342
|
}
|
|
1342
1343
|
}
|
|
1344
|
+
if (nodeName === VIEW && node.isOnlyClickBinded()) {
|
|
1345
|
+
data["n" /* Shortcuts.NodeName */] = CLICK_VIEW;
|
|
1346
|
+
}
|
|
1343
1347
|
const { props } = node;
|
|
1344
1348
|
for (const prop in props) {
|
|
1345
1349
|
const propInCamelCase = toCamelCase(prop);
|
|
@@ -1355,26 +1359,26 @@ function hydrate(node) {
|
|
|
1355
1359
|
nodeName === VIEW &&
|
|
1356
1360
|
propInCamelCase === CATCHMOVE &&
|
|
1357
1361
|
props[prop] !== false) {
|
|
1358
|
-
data["
|
|
1362
|
+
data["n" /* Shortcuts.NodeName */] = CATCH_VIEW;
|
|
1359
1363
|
}
|
|
1360
1364
|
if (propInCamelCase === COMPILE_MODE) {
|
|
1361
1365
|
compileModeName = props[prop];
|
|
1362
1366
|
}
|
|
1363
1367
|
}
|
|
1364
1368
|
// Children
|
|
1365
|
-
data["
|
|
1369
|
+
data["c" /* Shortcuts.Childnodes */] = node.childNodes.filter(node => !isComment(node)).map(hydrate);
|
|
1366
1370
|
if (node.className !== '') {
|
|
1367
|
-
data["
|
|
1371
|
+
data["l" /* Shortcuts.Class */] = node.className;
|
|
1368
1372
|
}
|
|
1369
1373
|
const cssText = node.cssText;
|
|
1370
1374
|
if (cssText !== '' && nodeName !== 'swiper-item') {
|
|
1371
1375
|
data["st" /* Shortcuts.Style */] = cssText;
|
|
1372
1376
|
}
|
|
1373
1377
|
hooks.call('modifyHydrateData', data, node);
|
|
1374
|
-
const
|
|
1375
|
-
const componentAlias = componentsAlias[
|
|
1378
|
+
const n = data["n" /* Shortcuts.NodeName */];
|
|
1379
|
+
const componentAlias = componentsAlias[n];
|
|
1376
1380
|
if (componentAlias) {
|
|
1377
|
-
data["
|
|
1381
|
+
data["n" /* Shortcuts.NodeName */] = componentAlias._num;
|
|
1378
1382
|
for (const prop in data) {
|
|
1379
1383
|
if (prop in componentAlias) {
|
|
1380
1384
|
data[componentAlias[prop]] = data[prop];
|
|
@@ -1383,7 +1387,7 @@ function hydrate(node) {
|
|
|
1383
1387
|
}
|
|
1384
1388
|
}
|
|
1385
1389
|
if (compileModeName !== null) {
|
|
1386
|
-
data["
|
|
1390
|
+
data["n" /* Shortcuts.NodeName */] = compileModeName;
|
|
1387
1391
|
}
|
|
1388
1392
|
const resData = hooks.call('transferHydrateData', data, node, componentAlias);
|
|
1389
1393
|
return resData || data;
|
|
@@ -1461,9 +1465,14 @@ class TaroEventTarget {
|
|
|
1461
1465
|
const isAnyEventBinded = Object.keys(handlers).find(key => handlers[key].length);
|
|
1462
1466
|
return Boolean(isAnyEventBinded);
|
|
1463
1467
|
}
|
|
1468
|
+
isOnlyClickBinded() {
|
|
1469
|
+
const handlers = this.__handlers;
|
|
1470
|
+
const isOnlyClickBinded = handlers.tap && Object.keys(handlers).length === 1;
|
|
1471
|
+
return Boolean(isOnlyClickBinded);
|
|
1472
|
+
}
|
|
1464
1473
|
}
|
|
1465
1474
|
|
|
1466
|
-
const CHILDNODES = "
|
|
1475
|
+
const CHILDNODES = "c" /* Shortcuts.Childnodes */;
|
|
1467
1476
|
const nodeId = incrementId();
|
|
1468
1477
|
class TaroNode extends TaroEventTarget {
|
|
1469
1478
|
constructor() {
|
|
@@ -1472,8 +1481,8 @@ class TaroNode extends TaroEventTarget {
|
|
|
1472
1481
|
this.childNodes = [];
|
|
1473
1482
|
this.hydrate = (node) => () => hydrate(node);
|
|
1474
1483
|
this.uid = '_' + nodeId(); // dom 节点 id,开发者可修改
|
|
1475
|
-
this.
|
|
1476
|
-
eventSource.set(this.
|
|
1484
|
+
this["s" /* Shortcuts.Sid */] = this.uid; // dom 节点全局唯一 id,不可被修改
|
|
1485
|
+
eventSource.set(this["s" /* Shortcuts.Sid */], this);
|
|
1477
1486
|
}
|
|
1478
1487
|
updateChildNodes(isClean) {
|
|
1479
1488
|
const cleanChildNodes = () => [];
|
|
@@ -1628,13 +1637,13 @@ class TaroNode extends TaroEventTarget {
|
|
|
1628
1637
|
// insertBefore 有两种更新模式
|
|
1629
1638
|
// 比方说有 A B C 三个节点,现在要在 C 前插入 D
|
|
1630
1639
|
// 1. 插入 D,然后更新整个父节点的 childNodes 数组
|
|
1631
|
-
// setData({
|
|
1640
|
+
// setData({ c: [A, B, D, C] })
|
|
1632
1641
|
// 2. 插入 D,然后更新 D 以及 D 之后每个节点的数据
|
|
1633
1642
|
// setData ({
|
|
1634
|
-
//
|
|
1635
|
-
//
|
|
1643
|
+
// c.[2]: D,
|
|
1644
|
+
// c.[3]: C,
|
|
1636
1645
|
// })
|
|
1637
|
-
// 由于微信解析 ’
|
|
1646
|
+
// 由于微信解析 ’c.[2]‘ 这些路径的时候也需要消耗时间,
|
|
1638
1647
|
// 所以根据 insertBefore 插入的位置来做不同的处理
|
|
1639
1648
|
const mark = childNodesLength * 2 / 3;
|
|
1640
1649
|
if (mark > index) {
|
|
@@ -2222,8 +2231,8 @@ class TaroElement extends TaroNode {
|
|
|
2222
2231
|
this.style.cssText = value;
|
|
2223
2232
|
break;
|
|
2224
2233
|
case ID:
|
|
2225
|
-
if (this.uid !== this.
|
|
2226
|
-
// eventSource[
|
|
2234
|
+
if (this.uid !== this["s" /* Shortcuts.Sid */]) {
|
|
2235
|
+
// eventSource[Shortcuts.Sid] 永远保留,直到组件卸载
|
|
2227
2236
|
// eventSource[uid] 可变
|
|
2228
2237
|
eventSource.delete(this.uid);
|
|
2229
2238
|
}
|
|
@@ -2267,14 +2276,14 @@ class TaroElement extends TaroNode {
|
|
|
2267
2276
|
// catchMove = true: catch-view
|
|
2268
2277
|
// catchMove = false: view or static-view
|
|
2269
2278
|
this.enqueueUpdate({
|
|
2270
|
-
path: `${_path}.${"
|
|
2279
|
+
path: `${_path}.${"n" /* Shortcuts.NodeName */}`,
|
|
2271
2280
|
value: value ? catchViewAlias : (this.isAnyEventBinded() ? viewAlias : staticViewAlias)
|
|
2272
2281
|
});
|
|
2273
2282
|
}
|
|
2274
2283
|
else if (isPureView && isHasExtractProp(this)) {
|
|
2275
2284
|
// pure-view => static-view
|
|
2276
2285
|
this.enqueueUpdate({
|
|
2277
|
-
path: `${_path}.${"
|
|
2286
|
+
path: `${_path}.${"n" /* Shortcuts.NodeName */}`,
|
|
2278
2287
|
value: staticViewAlias
|
|
2279
2288
|
});
|
|
2280
2289
|
}
|
|
@@ -2326,14 +2335,14 @@ class TaroElement extends TaroNode {
|
|
|
2326
2335
|
if (qualifiedNameInCamelCase === CATCHMOVE) {
|
|
2327
2336
|
// catch-view => view or static-view or pure-view
|
|
2328
2337
|
this.enqueueUpdate({
|
|
2329
|
-
path: `${_path}.${"
|
|
2338
|
+
path: `${_path}.${"n" /* Shortcuts.NodeName */}`,
|
|
2330
2339
|
value: this.isAnyEventBinded() ? viewAlias : (isHasExtractProp(this) ? staticViewAlias : pureViewAlias)
|
|
2331
2340
|
});
|
|
2332
2341
|
}
|
|
2333
2342
|
else if (isStaticView && !isHasExtractProp(this)) {
|
|
2334
2343
|
// static-view => pure-view
|
|
2335
2344
|
this.enqueueUpdate({
|
|
2336
|
-
path: `${_path}.${"
|
|
2345
|
+
path: `${_path}.${"n" /* Shortcuts.NodeName */}`,
|
|
2337
2346
|
value: pureViewAlias
|
|
2338
2347
|
});
|
|
2339
2348
|
}
|
|
@@ -2402,7 +2411,7 @@ class TaroElement extends TaroNode {
|
|
|
2402
2411
|
const componentsAlias = getComponentsAlias();
|
|
2403
2412
|
const alias = componentsAlias[name]._num;
|
|
2404
2413
|
this.enqueueUpdate({
|
|
2405
|
-
path: `${this._path}.${"
|
|
2414
|
+
path: `${this._path}.${"n" /* Shortcuts.NodeName */}`,
|
|
2406
2415
|
value: alias
|
|
2407
2416
|
});
|
|
2408
2417
|
}
|
|
@@ -2418,7 +2427,7 @@ class TaroElement extends TaroNode {
|
|
|
2418
2427
|
const value = isHasExtractProp(this) ? `static-${name}` : `pure-${name}`;
|
|
2419
2428
|
const valueAlias = componentsAlias[value]._num;
|
|
2420
2429
|
this.enqueueUpdate({
|
|
2421
|
-
path: `${this._path}.${"
|
|
2430
|
+
path: `${this._path}.${"n" /* Shortcuts.NodeName */}`,
|
|
2422
2431
|
value: valueAlias
|
|
2423
2432
|
});
|
|
2424
2433
|
}
|
|
@@ -3382,9 +3391,9 @@ class TaroEvent {
|
|
|
3382
3391
|
const cacheTarget = this.cacheTarget;
|
|
3383
3392
|
if (!cacheTarget) {
|
|
3384
3393
|
const target = Object.create(((_a = this.mpEvent) === null || _a === void 0 ? void 0 : _a.target) || null);
|
|
3385
|
-
const currentEle = env.document.getElementById(((_b = target.dataset) === null || _b === void 0 ? void 0 : _b.
|
|
3394
|
+
const currentEle = env.document.getElementById(((_b = target.dataset) === null || _b === void 0 ? void 0 : _b["s" /* Shortcuts.Sid */]) || target.id || null);
|
|
3386
3395
|
// Note:优先判断冒泡场景alipay的targetDataset的sid, 不然冒泡场景target属性吐出不对,其余拿取当前绑定id
|
|
3387
|
-
const element = env.document.getElementById(((_c = target.targetDataset) === null || _c === void 0 ? void 0 : _c.
|
|
3396
|
+
const element = env.document.getElementById(((_c = target.targetDataset) === null || _c === void 0 ? void 0 : _c["s" /* Shortcuts.Sid */]) || ((_d = target.dataset) === null || _d === void 0 ? void 0 : _d["s" /* Shortcuts.Sid */]) || target.id || null);
|
|
3388
3397
|
target.dataset = Object.assign(Object.assign({}, (currentEle !== null ? currentEle.dataset : EMPTY_OBJ)), (element !== null ? element.dataset : EMPTY_OBJ));
|
|
3389
3398
|
for (const key in (_e = this.mpEvent) === null || _e === void 0 ? void 0 : _e.detail) {
|
|
3390
3399
|
target[key] = this.mpEvent.detail[key];
|
|
@@ -3402,8 +3411,8 @@ class TaroEvent {
|
|
|
3402
3411
|
if (!cacheCurrentTarget) {
|
|
3403
3412
|
const doc = env.document;
|
|
3404
3413
|
const currentTarget = Object.create(((_a = this.mpEvent) === null || _a === void 0 ? void 0 : _a.currentTarget) || null);
|
|
3405
|
-
const element = doc.getElementById(((_b = currentTarget.dataset) === null || _b === void 0 ? void 0 : _b.
|
|
3406
|
-
const targetElement = doc.getElementById(((_e = (_d = (_c = this.mpEvent) === null || _c === void 0 ? void 0 : _c.target) === null || _d === void 0 ? void 0 : _d.dataset) === null || _e === void 0 ? void 0 : _e.
|
|
3414
|
+
const element = doc.getElementById(((_b = currentTarget.dataset) === null || _b === void 0 ? void 0 : _b["s" /* Shortcuts.Sid */]) || currentTarget.id || null);
|
|
3415
|
+
const targetElement = doc.getElementById(((_e = (_d = (_c = this.mpEvent) === null || _c === void 0 ? void 0 : _c.target) === null || _d === void 0 ? void 0 : _d.dataset) === null || _e === void 0 ? void 0 : _e["s" /* Shortcuts.Sid */]) || ((_g = (_f = this.mpEvent) === null || _f === void 0 ? void 0 : _f.target) === null || _g === void 0 ? void 0 : _g.id) || null);
|
|
3407
3416
|
if (element === null || (element && element === targetElement)) {
|
|
3408
3417
|
this.cacheCurrentTarget = this.target;
|
|
3409
3418
|
return this.target;
|
|
@@ -3461,7 +3470,7 @@ function eventHandler(event) {
|
|
|
3461
3470
|
event.currentTarget = event.currentTarget || event.target || Object.assign({}, event);
|
|
3462
3471
|
hooks.call('modifyMpEventImpl', event);
|
|
3463
3472
|
const currentTarget = event.currentTarget;
|
|
3464
|
-
const id = ((_a = currentTarget.dataset) === null || _a === void 0 ? void 0 : _a.
|
|
3473
|
+
const id = ((_a = currentTarget.dataset) === null || _a === void 0 ? void 0 : _a["s" /* Shortcuts.Sid */] /** sid */) || currentTarget.id /** uid */ || ((_b = event.detail) === null || _b === void 0 ? void 0 : _b.id) || '';
|
|
3465
3474
|
const node = env.document.getElementById(id);
|
|
3466
3475
|
if (node) {
|
|
3467
3476
|
const dispatch = () => {
|
|
@@ -3571,7 +3580,7 @@ _Performance_instances = new WeakSet(), _Performance_parseTime = function _Perfo
|
|
|
3571
3580
|
const perf = new Performance();
|
|
3572
3581
|
|
|
3573
3582
|
function findCustomWrapper(root, dataPathArr) {
|
|
3574
|
-
// ['root', '
|
|
3583
|
+
// ['root', 'c', '[0]'] remove 'root' => ['c', '[0]']
|
|
3575
3584
|
const list = dataPathArr.slice(1);
|
|
3576
3585
|
let currentData = root;
|
|
3577
3586
|
let customWrapper;
|
|
@@ -3580,8 +3589,8 @@ function findCustomWrapper(root, dataPathArr) {
|
|
|
3580
3589
|
const key = item
|
|
3581
3590
|
// '[0]' => '0'
|
|
3582
3591
|
.replace(/^\[(.+)\]$/, '$1')
|
|
3583
|
-
// '
|
|
3584
|
-
.replace(/\
|
|
3592
|
+
// 'c' => 'Shortcuts.Childnodes'
|
|
3593
|
+
.replace(/\bc\b/g, 'childNodes');
|
|
3585
3594
|
currentData = currentData[key];
|
|
3586
3595
|
if (isArray(currentData)) {
|
|
3587
3596
|
currentData = currentData.filter(el => !isComment(el));
|
|
@@ -3589,7 +3598,7 @@ function findCustomWrapper(root, dataPathArr) {
|
|
|
3589
3598
|
if (isUndefined(currentData))
|
|
3590
3599
|
return true;
|
|
3591
3600
|
if (currentData.nodeName === CUSTOM_WRAPPER) {
|
|
3592
|
-
const res = customWrapperCache.get(currentData.
|
|
3601
|
+
const res = customWrapperCache.get(currentData["s" /* Shortcuts.Sid */]);
|
|
3593
3602
|
if (res) {
|
|
3594
3603
|
customWrapper = res;
|
|
3595
3604
|
splitedPath = dataPathArr.slice(i + 2).join('.');
|
|
@@ -3619,6 +3628,20 @@ class TaroRootElement extends TaroElement {
|
|
|
3619
3628
|
get _root() {
|
|
3620
3629
|
return this;
|
|
3621
3630
|
}
|
|
3631
|
+
scheduleTask(fn) {
|
|
3632
|
+
if (isFunction(Promise)) {
|
|
3633
|
+
Promise.resolve()
|
|
3634
|
+
.then(fn)
|
|
3635
|
+
.catch((error) => {
|
|
3636
|
+
setTimeout(() => {
|
|
3637
|
+
throw error;
|
|
3638
|
+
});
|
|
3639
|
+
});
|
|
3640
|
+
}
|
|
3641
|
+
else {
|
|
3642
|
+
setTimeout(fn);
|
|
3643
|
+
}
|
|
3644
|
+
}
|
|
3622
3645
|
enqueueUpdate(payload) {
|
|
3623
3646
|
this.updatePayloads.push(payload);
|
|
3624
3647
|
if (!this.pendingUpdate && this.ctx) {
|
|
@@ -3628,16 +3651,16 @@ class TaroRootElement extends TaroElement {
|
|
|
3628
3651
|
performUpdate(initRender = false, prerender) {
|
|
3629
3652
|
this.pendingUpdate = true;
|
|
3630
3653
|
const ctx = hooks.call('proxyToRaw', this.ctx);
|
|
3631
|
-
|
|
3654
|
+
this.scheduleTask(() => {
|
|
3632
3655
|
const setDataMark = `${SET_DATA} 开始时间戳 ${Date.now()}`;
|
|
3633
3656
|
perf.start(setDataMark);
|
|
3634
3657
|
const data = Object.create(null);
|
|
3635
3658
|
const resetPaths = new Set(initRender
|
|
3636
|
-
? [
|
|
3659
|
+
? [`root.${"c" /* Shortcuts.Childnodes */}.[0]`, `root.${"c" /* Shortcuts.Childnodes */}[0]`]
|
|
3637
3660
|
: []);
|
|
3638
3661
|
while (this.updatePayloads.length > 0) {
|
|
3639
3662
|
const { path, value } = this.updatePayloads.shift();
|
|
3640
|
-
if (path.endsWith("
|
|
3663
|
+
if (path.endsWith("c" /* Shortcuts.Childnodes */)) {
|
|
3641
3664
|
resetPaths.add(path);
|
|
3642
3665
|
}
|
|
3643
3666
|
data[path] = value;
|
|
@@ -3711,7 +3734,7 @@ class TaroRootElement extends TaroElement {
|
|
|
3711
3734
|
}
|
|
3712
3735
|
ctx.setData(normalUpdate, cb);
|
|
3713
3736
|
}
|
|
3714
|
-
}
|
|
3737
|
+
});
|
|
3715
3738
|
}
|
|
3716
3739
|
enqueueUpdateCallback(cb, ctx) {
|
|
3717
3740
|
this.updateCallbacks.push(() => {
|
|
@@ -4212,7 +4235,7 @@ function createRecursiveComponentConfig(componentName) {
|
|
|
4212
4235
|
? {
|
|
4213
4236
|
[ATTACHED]() {
|
|
4214
4237
|
var _a, _b;
|
|
4215
|
-
const componentId = ((_a = this.data.i) === null || _a === void 0 ? void 0 : _a.
|
|
4238
|
+
const componentId = ((_a = this.data.i) === null || _a === void 0 ? void 0 : _a["s" /* Shortcuts.Sid */]) || ((_b = this.props.i) === null || _b === void 0 ? void 0 : _b["s" /* Shortcuts.Sid */]);
|
|
4216
4239
|
if (isString(componentId)) {
|
|
4217
4240
|
customWrapperCache.set(componentId, this);
|
|
4218
4241
|
const el = env.document.getElementById(componentId);
|
|
@@ -4223,7 +4246,7 @@ function createRecursiveComponentConfig(componentName) {
|
|
|
4223
4246
|
},
|
|
4224
4247
|
[DETACHED]() {
|
|
4225
4248
|
var _a, _b;
|
|
4226
|
-
const componentId = ((_a = this.data.i) === null || _a === void 0 ? void 0 : _a.
|
|
4249
|
+
const componentId = ((_a = this.data.i) === null || _a === void 0 ? void 0 : _a["s" /* Shortcuts.Sid */]) || ((_b = this.props.i) === null || _b === void 0 ? void 0 : _b["s" /* Shortcuts.Sid */]);
|
|
4227
4250
|
if (isString(componentId)) {
|
|
4228
4251
|
customWrapperCache.delete(componentId);
|
|
4229
4252
|
const el = env.document.getElementById(componentId);
|
|
@@ -4238,7 +4261,7 @@ function createRecursiveComponentConfig(componentName) {
|
|
|
4238
4261
|
i: {
|
|
4239
4262
|
type: Object,
|
|
4240
4263
|
value: {
|
|
4241
|
-
["
|
|
4264
|
+
["n" /* Shortcuts.NodeName */]: getComponentsAlias$1(internalComponents)[VIEW]._num
|
|
4242
4265
|
}
|
|
4243
4266
|
},
|
|
4244
4267
|
l: {
|
|
@@ -5065,5 +5088,5 @@ if (process.env.SUPPORT_TARO_POLYFILL !== 'disabled' && process.env.TARO_PLATFOR
|
|
|
5065
5088
|
handlePolyfill();
|
|
5066
5089
|
}
|
|
5067
5090
|
|
|
5068
|
-
export { A, APP, BEHAVIORS, BODY, CATCHMOVE, CATCH_VIEW, CHANGE, CLASS, COMMENT, COMPILE_MODE, CONFIRM, CONTAINER, CONTEXT_ACTIONS, CURRENT_TARGET, CUSTOM_WRAPPER, Current, DATASET, DATE, DOCUMENT_ELEMENT_NAME, DOCUMENT_FRAGMENT, EVENT_CALLBACK_RESULT, EXTERNAL_CLASSES, FOCUS, FormElement, HEAD, HOOKS_APP_ID, HTML, History, ID, INPUT, KEY_CODE, Location, MutationObserver$1 as MutationObserver, OBJECT, ON_HIDE, ON_LOAD, ON_READY, ON_SHOW, OPTIONS, PAGE_INIT, PROPERTY_THRESHOLD, PROPS, PURE_VIEW, ROOT_STR, SET_DATA, SET_TIMEOUT, STATIC_VIEW, STYLE, SVGElement, Style, TARGET, TARO_RUNTIME, TIME_STAMP, TOUCHMOVE, TYPE, TaroElement, TaroEvent, TaroNode, TaroRootElement, TaroText, UID, TaroURLProvider as URL, URLSearchParams, VALUE, VIEW, addLeadingSlash, _caf as cancelAnimationFrame, convertNumber2PX, createComponentConfig, createEvent, createPageConfig, createRecursiveComponentConfig, customWrapperCache, debounce, taroDocumentProvider as document, env, eventCenter, eventHandler, eventSource, extend, getComponentsAlias, taroGetComputedStyleProvider as getComputedStyle, getCurrentInstance, getCurrentPage, getHomePage, getOnHideEventKey, getOnReadyEventKey, getOnShowEventKey, getPageInstance, getPath, handlePolyfill, hasBasename, taroHistoryProvider as history, hydrate, incrementId, injectPageInstance, isComment, isElement, isHasExtractProp, isParentBinded, isText, taroLocationProvider as location, nav as navigator, nextTick, now, options, parseUrl, perf, removePageInstance, _raf as requestAnimationFrame, safeExecute, shortcutAttr, stringify, stripBasename, stripSuffix, stripTrailing, throttle, taroWindowProvider as window };
|
|
5091
|
+
export { A, APP, BEHAVIORS, BODY, CATCHMOVE, CATCH_VIEW, CHANGE, CLASS, CLICK_VIEW, COMMENT, COMPILE_MODE, CONFIRM, CONTAINER, CONTEXT_ACTIONS, CURRENT_TARGET, CUSTOM_WRAPPER, Current, DATASET, DATE, DOCUMENT_ELEMENT_NAME, DOCUMENT_FRAGMENT, EVENT_CALLBACK_RESULT, EXTERNAL_CLASSES, FOCUS, FormElement, HEAD, HOOKS_APP_ID, HTML, History, ID, INPUT, KEY_CODE, Location, MutationObserver$1 as MutationObserver, OBJECT, ON_HIDE, ON_LOAD, ON_READY, ON_SHOW, OPTIONS, PAGE_INIT, PROPERTY_THRESHOLD, PROPS, PURE_VIEW, ROOT_STR, SET_DATA, SET_TIMEOUT, STATIC_VIEW, STYLE, SVGElement, Style, TARGET, TARO_RUNTIME, TIME_STAMP, TOUCHMOVE, TYPE, TaroElement, TaroEvent, TaroNode, TaroRootElement, TaroText, UID, TaroURLProvider as URL, URLSearchParams, VALUE, VIEW, addLeadingSlash, _caf as cancelAnimationFrame, convertNumber2PX, createComponentConfig, createEvent, createPageConfig, createRecursiveComponentConfig, customWrapperCache, debounce, taroDocumentProvider as document, env, eventCenter, eventHandler, eventSource, extend, getComponentsAlias, taroGetComputedStyleProvider as getComputedStyle, getCurrentInstance, getCurrentPage, getHomePage, getOnHideEventKey, getOnReadyEventKey, getOnShowEventKey, getPageInstance, getPath, handlePolyfill, hasBasename, taroHistoryProvider as history, hydrate, incrementId, injectPageInstance, isComment, isElement, isHasExtractProp, isParentBinded, isText, taroLocationProvider as location, nav as navigator, nextTick, now, options, parseUrl, perf, removePageInstance, _raf as requestAnimationFrame, safeExecute, shortcutAttr, stringify, stripBasename, stripSuffix, stripTrailing, throttle, taroWindowProvider as window };
|
|
5069
5092
|
//# sourceMappingURL=runtime.esm.js.map
|