nativescript-vue 3.0.0-beta.0 → 3.0.0-beta.10
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/LICENSE +21 -0
- package/README.md +59 -0
- package/devtools.js +33 -0
- package/dist/compiler.d.ts +1 -1
- package/dist/compiler.js +1 -1
- package/dist/compiler.js.map +1 -1
- package/dist/components/ActionBar.d.ts +1 -1
- package/dist/components/ActionBar.js +6 -5
- package/dist/components/ActionBar.js.map +1 -1
- package/dist/components/ListView.d.ts +2 -2
- package/dist/components/ListView.js +11 -12
- package/dist/components/ListView.js.map +1 -1
- package/dist/components/index.d.ts +6 -2
- package/dist/components/index.js +3 -2
- package/dist/components/index.js.map +1 -1
- package/dist/directives/vModel.d.ts +8 -0
- package/dist/directives/vModel.js +38 -0
- package/dist/directives/vModel.js.map +1 -0
- package/dist/directives/vShow.d.ts +2 -2
- package/dist/directives/vShow.js +4 -4
- package/dist/dom/index.d.ts +1 -1
- package/dist/dom/index.js +7 -8
- package/dist/dom/index.js.map +1 -1
- package/dist/index.d.ts +19 -10
- package/dist/index.js +50 -15
- package/dist/index.js.map +1 -1
- package/dist/nativescript/elements.js +56 -53
- package/dist/nativescript/elements.js.map +1 -1
- package/dist/nativescript/index.d.ts +3 -3
- package/dist/nativescript/index.js +3 -4
- package/dist/nativescript/index.js.map +1 -1
- package/dist/plugins/modals.d.ts +9 -5
- package/dist/plugins/modals.js +50 -32
- package/dist/plugins/modals.js.map +1 -1
- package/dist/plugins/navigation.d.ts +7 -7
- package/dist/plugins/navigation.js +59 -78
- package/dist/plugins/navigation.js.map +1 -1
- package/dist/plugins/templates.d.ts +10 -0
- package/dist/plugins/templates.js +12 -0
- package/dist/plugins/templates.js.map +1 -0
- package/dist/registry/index.d.ts +3 -3
- package/dist/registry/index.js +2 -2
- package/dist/registry/index.js.map +1 -1
- package/dist/renderer/index.js +3 -3
- package/dist/renderer/modules/attrs.d.ts +1 -1
- package/dist/renderer/modules/attrs.js +3 -3
- package/dist/renderer/modules/class.d.ts +1 -1
- package/dist/renderer/modules/class.js +2 -2
- package/dist/renderer/modules/events.d.ts +3 -3
- package/dist/renderer/modules/events.js +8 -2
- package/dist/renderer/modules/events.js.map +1 -1
- package/dist/renderer/modules/style.d.ts +3 -2
- package/dist/renderer/modules/style.js +66 -20
- package/dist/renderer/modules/style.js.map +1 -1
- package/dist/renderer/nodeOps.d.ts +3 -2
- package/dist/renderer/nodeOps.js +7 -4
- package/dist/renderer/nodeOps.js.map +1 -1
- package/dist/renderer/patchProp.d.ts +1 -1
- package/dist/renderer/patchProp.js +27 -10
- package/dist/renderer/patchProp.js.map +1 -1
- package/dist/runtimeHelpers.d.ts +26 -0
- package/dist/runtimeHelpers.js +42 -3
- package/dist/runtimeHelpers.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/withCompiler.js +1 -1
- package/dist/withCompiler.js.map +1 -1
- package/nativescript.webpack.js +122 -12
- package/package.json +35 -12
- package/dist/components/ListView.working.d.ts +0 -44
- package/dist/components/ListView.working.js +0 -126
- package/dist/components/ListView.working.js.map +0 -1
- package/dist/index.mjs.map +0 -7
package/nativescript.webpack.js
CHANGED
|
@@ -1,19 +1,118 @@
|
|
|
1
|
-
const { VueLoaderPlugin } = require(
|
|
1
|
+
const { VueLoaderPlugin } = require('vue-loader');
|
|
2
|
+
const spawn = require('cross-spawn');
|
|
3
|
+
|
|
4
|
+
function findFreePort(startingPort = 8098) {
|
|
5
|
+
let found = false;
|
|
6
|
+
let port = startingPort;
|
|
7
|
+
|
|
8
|
+
const isPortFree = (port) =>
|
|
9
|
+
new Promise((resolve) => {
|
|
10
|
+
const server = require('http')
|
|
11
|
+
.createServer()
|
|
12
|
+
.listen(port, '0.0.0.0', () => {
|
|
13
|
+
server.close();
|
|
14
|
+
resolve(true);
|
|
15
|
+
})
|
|
16
|
+
.on('error', () => {
|
|
17
|
+
resolve(false);
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
const findFreePort = () => {
|
|
22
|
+
isPortFree(port).then((isFree) => {
|
|
23
|
+
if (!isFree) {
|
|
24
|
+
port++;
|
|
25
|
+
return findFreePort();
|
|
26
|
+
}
|
|
27
|
+
found = true;
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
findFreePort();
|
|
32
|
+
|
|
33
|
+
while (!found) {
|
|
34
|
+
process._tickCallback();
|
|
35
|
+
const start = Date.now();
|
|
36
|
+
while (Date.now() - start < 100) {
|
|
37
|
+
// busy wait... not ideal, but we need to find a port synchronously...
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return port;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function startVueDevtools(port, isAndroid = false) {
|
|
45
|
+
console.log(`[VueDevtools] Starting standalone Vue Devtools on port ${port}`);
|
|
46
|
+
if (isAndroid) {
|
|
47
|
+
console.log(
|
|
48
|
+
`[VueDevtools] If the app doesn't automatically connect, check if http traffic is allowed. (e.g. on Android, you may need to set android:usesCleartextTraffic="true" in AndroidManifest.xml)`,
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
spawn(require.resolve('@vue/devtools/bin.js'), [], {
|
|
52
|
+
stdio: 'ignore',
|
|
53
|
+
env: {
|
|
54
|
+
...process.env,
|
|
55
|
+
PORT: port,
|
|
56
|
+
},
|
|
57
|
+
});
|
|
58
|
+
}
|
|
2
59
|
|
|
3
60
|
/**
|
|
4
61
|
* @param {typeof import("@nativescript/webpack")} webpack
|
|
5
62
|
*/
|
|
6
63
|
module.exports = (webpack) => {
|
|
7
|
-
webpack.useConfig(
|
|
64
|
+
webpack.useConfig('vue');
|
|
65
|
+
|
|
66
|
+
webpack.chainWebpack((config, env) => {
|
|
67
|
+
const additionalDefines = {
|
|
68
|
+
__VUE_PROD_DEVTOOLS__: false,
|
|
69
|
+
};
|
|
8
70
|
|
|
9
|
-
|
|
10
|
-
|
|
71
|
+
// todo: support configuring the devtools host/port from the nativescript.config.ts...
|
|
72
|
+
if (!!env.vueDevtools) {
|
|
73
|
+
// find a free port for the devtools
|
|
74
|
+
const vueDevtoolsPort = findFreePort(8098);
|
|
75
|
+
const isAndroid = webpack.Utils.platform.getPlatformName() === 'android';
|
|
11
76
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
77
|
+
// on android simulators, localhost is not the host machine...
|
|
78
|
+
const vueDevtoolsHost = isAndroid
|
|
79
|
+
? 'http://10.0.2.2'
|
|
80
|
+
: 'http://localhost';
|
|
81
|
+
|
|
82
|
+
additionalDefines['__VUE_PROD_DEVTOOLS__'] = true;
|
|
83
|
+
additionalDefines['__NS_VUE_DEVTOOLS_HOST__'] =
|
|
84
|
+
JSON.stringify(vueDevtoolsHost);
|
|
85
|
+
additionalDefines['__NS_VUE_DEVTOOLS_PORT__'] = vueDevtoolsPort;
|
|
86
|
+
|
|
87
|
+
const devtoolsEntryPath = require.resolve('./devtools.js');
|
|
88
|
+
const entryPath = webpack.Utils.platform.getEntryPath();
|
|
89
|
+
const paths = config.entry('bundle').values();
|
|
90
|
+
const entryIndex = paths.indexOf(entryPath);
|
|
91
|
+
|
|
92
|
+
if (entryIndex === -1) {
|
|
93
|
+
// if the app entry is not found, add the devtools entry at the beginning - generally should not happen, but just in case.
|
|
94
|
+
paths.unshift(entryPath);
|
|
95
|
+
} else {
|
|
96
|
+
// insert devtools entry before the app entry, but after globals etc.
|
|
97
|
+
paths.splice(entryIndex, 0, devtoolsEntryPath);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
config.entry('bundle').clear().merge(paths);
|
|
101
|
+
|
|
102
|
+
// start the devtools...
|
|
103
|
+
startVueDevtools(vueDevtoolsPort, isAndroid);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
// resolve any imports from "vue" to "nativescript-vue"
|
|
107
|
+
config.resolve.alias.set('vue', 'nativescript-vue');
|
|
108
|
+
|
|
109
|
+
config.plugins.get('VueLoaderPlugin').use(VueLoaderPlugin);
|
|
110
|
+
|
|
111
|
+
// use "vue-loader" from "nativescript-vue" deps rather than the one from @nativescript/webpack
|
|
112
|
+
config.module.rules
|
|
113
|
+
.get('vue')
|
|
114
|
+
.uses.get('vue-loader')
|
|
115
|
+
.loader(require.resolve('vue-loader'))
|
|
17
116
|
.tap((options) => {
|
|
18
117
|
return {
|
|
19
118
|
...options,
|
|
@@ -25,17 +124,27 @@ module.exports = (webpack) => {
|
|
|
25
124
|
};
|
|
26
125
|
});
|
|
27
126
|
|
|
28
|
-
config.
|
|
127
|
+
config.module.rules
|
|
128
|
+
.get('css')
|
|
129
|
+
.uses.get('vue-css-loader')
|
|
130
|
+
.loader(require.resolve('vue-loader/dist/stylePostLoader.js'));
|
|
131
|
+
|
|
132
|
+
config.module.rules
|
|
133
|
+
.get('scss')
|
|
134
|
+
.uses.get('vue-css-loader')
|
|
135
|
+
.loader(require.resolve('vue-loader/dist/stylePostLoader.js'));
|
|
136
|
+
|
|
137
|
+
config.plugin('DefinePlugin').tap((args) => {
|
|
29
138
|
Object.assign(args[0], {
|
|
30
139
|
__VUE_OPTIONS_API__: true,
|
|
31
|
-
|
|
140
|
+
...additionalDefines,
|
|
32
141
|
});
|
|
33
142
|
|
|
34
143
|
return args;
|
|
35
144
|
});
|
|
36
145
|
|
|
37
146
|
// disable vue fork ts checker, as it doesn't work with vue3 yet?
|
|
38
|
-
config.plugin(
|
|
147
|
+
config.plugin('ForkTsCheckerWebpackPlugin').tap((args) => {
|
|
39
148
|
args[0] = webpack.merge(args[0], {
|
|
40
149
|
typescript: {
|
|
41
150
|
extensions: {
|
|
@@ -45,6 +154,7 @@ module.exports = (webpack) => {
|
|
|
45
154
|
},
|
|
46
155
|
},
|
|
47
156
|
});
|
|
157
|
+
|
|
48
158
|
return args;
|
|
49
159
|
});
|
|
50
160
|
});
|
package/package.json
CHANGED
|
@@ -1,29 +1,52 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nativescript-vue",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.10",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist/",
|
|
7
|
+
"devtools.js",
|
|
7
8
|
"nativescript.webpack.js"
|
|
8
9
|
],
|
|
9
10
|
"license": "MIT",
|
|
10
11
|
"scripts": {
|
|
11
12
|
"build": "tsc",
|
|
12
|
-
"
|
|
13
|
+
"format": "prettier --write .",
|
|
14
|
+
"format:check": "prettier --check .",
|
|
15
|
+
"prepare": "simple-git-hooks",
|
|
16
|
+
"pack:template": "npm pack ./packages/template-blank",
|
|
17
|
+
"prepack": "npm run build && npm run pack:template"
|
|
13
18
|
},
|
|
14
19
|
"dependencies": {
|
|
15
|
-
"@vue/compiler-
|
|
16
|
-
"@vue/
|
|
17
|
-
"@vue/
|
|
20
|
+
"@vue/compiler-sfc": "^3.3.4",
|
|
21
|
+
"@vue/devtools": "^6.5.0",
|
|
22
|
+
"@vue/runtime-core": "^3.3.4",
|
|
23
|
+
"@vue/shared": "^3.3.4",
|
|
24
|
+
"cross-spawn": "^7.0.3",
|
|
18
25
|
"set-value": "^4.1.0",
|
|
19
|
-
"vue-loader": "^17.
|
|
26
|
+
"vue-loader": "^17.2.2"
|
|
20
27
|
},
|
|
21
28
|
"devDependencies": {
|
|
22
|
-
"@
|
|
23
|
-
"@
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
29
|
+
"@commitlint/cli": "^17.7.1",
|
|
30
|
+
"@commitlint/config-conventional": "^17.7.0",
|
|
31
|
+
"@nativescript/core": "~8.5.9",
|
|
32
|
+
"@nativescript/webpack": "~5.0.17",
|
|
33
|
+
"esbuild": "^0.19.2",
|
|
34
|
+
"lint-staged": "^14.0.1",
|
|
35
|
+
"prettier": "^3.0.3",
|
|
36
|
+
"simple-git-hooks": "^2.9.0",
|
|
37
|
+
"typescript": "^5.2.2"
|
|
38
|
+
},
|
|
39
|
+
"simple-git-hooks": {
|
|
40
|
+
"pre-commit": "npx --no-install lint-staged --config=package.json",
|
|
41
|
+
"commit-msg": "npx --no-install commitlint --edit"
|
|
42
|
+
},
|
|
43
|
+
"lint-staged": {
|
|
44
|
+
"*": [
|
|
45
|
+
"prettier --ignore-unknown --write"
|
|
46
|
+
]
|
|
47
|
+
},
|
|
48
|
+
"prettier": {
|
|
49
|
+
"useTabs": false,
|
|
50
|
+
"singleQuote": true
|
|
28
51
|
}
|
|
29
52
|
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { VNode } from "..";
|
|
2
|
-
declare global {
|
|
3
|
-
interface ListItem<T = any> {
|
|
4
|
-
item: T;
|
|
5
|
-
index: number;
|
|
6
|
-
even: boolean;
|
|
7
|
-
odd: boolean;
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
export declare const ListView: import("@vue/runtime-core").DefineComponent<{
|
|
11
|
-
items: {
|
|
12
|
-
(arrayLength: number): any[];
|
|
13
|
-
(...items: any[]): any[];
|
|
14
|
-
new (arrayLength: number): any[];
|
|
15
|
-
new (...items: any[]): any[];
|
|
16
|
-
isArray(arg: any): arg is any[];
|
|
17
|
-
readonly prototype: any[];
|
|
18
|
-
from<T>(arrayLike: ArrayLike<T>): T[];
|
|
19
|
-
from<T_1, U>(arrayLike: ArrayLike<T_1>, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[];
|
|
20
|
-
from<T_2>(iterable: Iterable<T_2> | ArrayLike<T_2>): T_2[];
|
|
21
|
-
from<T_3, U_1>(iterable: Iterable<T_3> | ArrayLike<T_3>, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[];
|
|
22
|
-
of<T_4>(...items: T_4[]): T_4[];
|
|
23
|
-
readonly [Symbol.species]: ArrayConstructor;
|
|
24
|
-
};
|
|
25
|
-
itemTemplateSelector: FunctionConstructor;
|
|
26
|
-
}, () => VNode<import("@vue/runtime-core").RendererNode, import("@vue/runtime-core").RendererElement, {
|
|
27
|
-
[key: string]: any;
|
|
28
|
-
}>, unknown, {}, {}, import("@vue/runtime-core").ComponentOptionsMixin, import("@vue/runtime-core").ComponentOptionsMixin, {}, string, import("@vue/runtime-core").VNodeProps & import("@vue/runtime-core").AllowedComponentProps & import("@vue/runtime-core").ComponentCustomProps, Readonly<import("@vue/runtime-core").ExtractPropTypes<{
|
|
29
|
-
items: {
|
|
30
|
-
(arrayLength: number): any[];
|
|
31
|
-
(...items: any[]): any[];
|
|
32
|
-
new (arrayLength: number): any[];
|
|
33
|
-
new (...items: any[]): any[];
|
|
34
|
-
isArray(arg: any): arg is any[];
|
|
35
|
-
readonly prototype: any[];
|
|
36
|
-
from<T>(arrayLike: ArrayLike<T>): T[];
|
|
37
|
-
from<T_1, U>(arrayLike: ArrayLike<T_1>, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[];
|
|
38
|
-
from<T_2>(iterable: Iterable<T_2> | ArrayLike<T_2>): T_2[];
|
|
39
|
-
from<T_3, U_1>(iterable: Iterable<T_3> | ArrayLike<T_3>, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[];
|
|
40
|
-
of<T_4>(...items: T_4[]): T_4[];
|
|
41
|
-
readonly [Symbol.species]: ArrayConstructor;
|
|
42
|
-
};
|
|
43
|
-
itemTemplateSelector: FunctionConstructor;
|
|
44
|
-
}>>, {}>;
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
import { defineComponent, h, warn } from "@vue/runtime-core";
|
|
2
|
-
import { ListView as NSCListView, ObservableArray, StackLayout, } from "@nativescript/core";
|
|
3
|
-
import { getCurrentInstance, ref, watch, onBeforeUpdate, onUpdated, } from "..";
|
|
4
|
-
import { registerElement } from "../registry";
|
|
5
|
-
import { ELEMENT_REF } from "../runtimeHelpers";
|
|
6
|
-
registerElement("NSCListView", () => NSCListView, {
|
|
7
|
-
viewFlags: 8 /* NSVViewFlags.NO_CHILDREN */,
|
|
8
|
-
});
|
|
9
|
-
registerElement("NSCListViewDummyHolder", () => StackLayout);
|
|
10
|
-
function getListItem(item, index) {
|
|
11
|
-
return {
|
|
12
|
-
item,
|
|
13
|
-
index,
|
|
14
|
-
even: index % 2 === 0,
|
|
15
|
-
odd: index % 2 !== 0,
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
const LIST_CELL_ID = Symbol("list_cell_id");
|
|
19
|
-
export const ListView = /*#__PURE__*/ defineComponent({
|
|
20
|
-
props: {
|
|
21
|
-
items: (Array),
|
|
22
|
-
itemTemplateSelector: Function,
|
|
23
|
-
},
|
|
24
|
-
setup(props, ctx) {
|
|
25
|
-
const itemTemplates = Object.keys(ctx.slots).map((slotName) => {
|
|
26
|
-
return {
|
|
27
|
-
key: slotName,
|
|
28
|
-
createView() {
|
|
29
|
-
// no need to return anything here
|
|
30
|
-
},
|
|
31
|
-
};
|
|
32
|
-
});
|
|
33
|
-
const getSlotName = (itemCtx) => props.itemTemplateSelector?.(itemCtx) ?? "default";
|
|
34
|
-
const listView = ref(null);
|
|
35
|
-
const vm = getCurrentInstance();
|
|
36
|
-
watch(props, () => {
|
|
37
|
-
console.log("props changed?");
|
|
38
|
-
try {
|
|
39
|
-
const lv = listView.value?.nativeView;
|
|
40
|
-
lv?.refresh();
|
|
41
|
-
}
|
|
42
|
-
catch (err) {
|
|
43
|
-
console.log(err);
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
let cellId = 0;
|
|
47
|
-
const cells = ref({});
|
|
48
|
-
function onitemLoading(event) {
|
|
49
|
-
const el = event.view?.[ELEMENT_REF];
|
|
50
|
-
const id = el?.nativeView[LIST_CELL_ID] ?? `LIST_CELL_${cellId++}`;
|
|
51
|
-
const itemCtx = getListItem(props.items instanceof ObservableArray
|
|
52
|
-
? props.items.getItem(event.index)
|
|
53
|
-
: props.items[event.index], event.index);
|
|
54
|
-
// update the cell data with the current row
|
|
55
|
-
cells.value[id] = {
|
|
56
|
-
itemCtx,
|
|
57
|
-
slotName: getSlotName(itemCtx),
|
|
58
|
-
};
|
|
59
|
-
// trigger an update!
|
|
60
|
-
vm.update();
|
|
61
|
-
// find the vnode rendering this cell
|
|
62
|
-
const vnode = vm.subTree.children.find((vnode) => {
|
|
63
|
-
return vnode.key === id;
|
|
64
|
-
});
|
|
65
|
-
// store the cell id on the Element itself so we can retrieve it when recycling kicks in
|
|
66
|
-
const cellEl = vnode.el.nativeView;
|
|
67
|
-
cellEl[LIST_CELL_ID] = id;
|
|
68
|
-
// finally, set the event.view to the rendered cellEl
|
|
69
|
-
event.view = cellEl;
|
|
70
|
-
// event.view = new Label();
|
|
71
|
-
}
|
|
72
|
-
function itemTemplateSelector(item, index) {
|
|
73
|
-
// pass on the template selector call with the ListItem context
|
|
74
|
-
return getSlotName(getListItem(item, index));
|
|
75
|
-
}
|
|
76
|
-
onBeforeUpdate(() => {
|
|
77
|
-
console.time("update");
|
|
78
|
-
});
|
|
79
|
-
onUpdated(() => {
|
|
80
|
-
console.timeEnd("update");
|
|
81
|
-
});
|
|
82
|
-
return () => {
|
|
83
|
-
console.log("RENDER");
|
|
84
|
-
// return h("StackLayout", [
|
|
85
|
-
// h("NSCListView", {
|
|
86
|
-
// ref: listView,
|
|
87
|
-
// items: props.items,
|
|
88
|
-
// itemTemplates,
|
|
89
|
-
// itemTemplateSelector,
|
|
90
|
-
// onitemLoading,
|
|
91
|
-
// }),
|
|
92
|
-
// ...Object.entries(cells.value).map(([id, child]) => {
|
|
93
|
-
// const vnodes: VNode[] = ctx.slots[child.slotName](child.itemCtx);
|
|
94
|
-
// if (vnodes.length > 1) {
|
|
95
|
-
// warn(
|
|
96
|
-
// `ListView template must contain a single root element. Found: ${vnodes.length}. Only the first one will be used.`
|
|
97
|
-
// );
|
|
98
|
-
// }
|
|
99
|
-
// const vnode: VNode = vnodes[0];
|
|
100
|
-
// // set the key to the list cell id, so we can find this cell later...
|
|
101
|
-
// vnode.key = id;
|
|
102
|
-
// return vnode;
|
|
103
|
-
// }),
|
|
104
|
-
// ]);
|
|
105
|
-
return h("NSCListView", {
|
|
106
|
-
ref: listView,
|
|
107
|
-
items: props.items,
|
|
108
|
-
itemTemplates,
|
|
109
|
-
itemTemplateSelector,
|
|
110
|
-
onitemLoading,
|
|
111
|
-
},
|
|
112
|
-
// render all realized templates as children
|
|
113
|
-
Object.entries(cells.value).map(([id, child]) => {
|
|
114
|
-
const vnodes = ctx.slots[child.slotName](child.itemCtx);
|
|
115
|
-
if (vnodes.length > 1) {
|
|
116
|
-
warn(`ListView template must contain a single root element. Found: ${vnodes.length}. Only the first one will be used.`);
|
|
117
|
-
}
|
|
118
|
-
const vnode = vnodes[0];
|
|
119
|
-
// set the key to the list cell id, so we can find this cell later...
|
|
120
|
-
vnode.key = id;
|
|
121
|
-
return vnode;
|
|
122
|
-
}));
|
|
123
|
-
};
|
|
124
|
-
},
|
|
125
|
-
});
|
|
126
|
-
//# sourceMappingURL=ListView.working.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ListView.working.js","sourceRoot":"","sources":["../../src/components/ListView.working.ts"],"names":[],"mappings":"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"}
|