Skip to content

Commit 7f08c16

Browse files
feat: Apply default select to components
1 parent 6f01317 commit 7f08c16

File tree

4 files changed

+22
-8
lines changed

4 files changed

+22
-8
lines changed

Diff for: packages/client/src/pages/components.vue

+5-2
Original file line numberDiff line numberDiff line change
@@ -77,12 +77,14 @@ function checkComponentInTree(treeNode: ComponentTreeNode[], id: string) {
7777
return treeNode.some(item => checkComponentInTree(item.children || [], id))
7878
}
7979
80+
const { saveParamId, getValidNestedNodeId } = useDefaultSelect()
81+
8082
function initSelectedComponent(treeNode: ComponentTreeNode[]) {
8183
if (!treeNode.length)
8284
return
8385
if (!selectedComponentTree.value) {
84-
selectedComponentTree.value = treeNode?.[0].id
85-
getComponentState(treeNode?.[0].id)
86+
selectedComponentTree.value = getValidNestedNodeId(treeNode) || treeNode?.[0].id
87+
getComponentState(selectedComponentTree.value)
8688
}
8789
else {
8890
// fallback to root if selected component is not in the tree
@@ -185,6 +187,7 @@ function selectComponentTree(id: string) {
185187
clearComponentState()
186188
getComponentState(id)
187189
activeComponentId.value = id
190+
saveParamId(id)
188191
}
189192
190193
watch(selectedComponentTree, (id) => {

Diff for: packages/client/src/pages/pinia.vue

+5-2
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,12 @@ function clearPiniaState() {
2525
state.value = {}
2626
}
2727
28+
const { saveParamId, getValidNodeId } = useDefaultSelect()
29+
2830
watch(selected, () => {
2931
clearPiniaState()
3032
getPiniaState(selected.value)
33+
saveParamId(selected.value)
3134
})
3235
3336
createCollapseContext('inspector-state')
@@ -37,8 +40,8 @@ onDevToolsClientConnected(() => {
3740
const data = parse(_data!)
3841
tree.value = data
3942
if (!selected.value && data.length) {
40-
selected.value = data[0].id
41-
getPiniaState(data[0].id)
43+
selected.value = getValidNodeId(data) || data[0].id
44+
getPiniaState(selected.value)
4245
}
4346
})
4447

Diff for: packages/client/src/pages/router.vue

+5-2
Original file line numberDiff line numberDiff line change
@@ -28,18 +28,21 @@ function clearRouterState() {
2828
state.value = {}
2929
}
3030
31+
const { saveParamId, getValidNodeId } = useDefaultSelect()
32+
3133
watch(selected, () => {
3234
clearRouterState()
3335
getRouterState(selected.value)
36+
saveParamId(selected.value)
3437
})
3538
3639
onDevToolsClientConnected(() => {
3740
getInspectorTree({ inspectorId: inspectorId.value, filter: '' }).then((_data) => {
3841
const data = parse(_data!)
3942
tree.value = data
4043
if (!selected.value && data.length) {
41-
selected.value = data[0].id
42-
getRouterState(data[0].id)
44+
selected.value = getValidNodeId(data) || data[0].id
45+
getRouterState(selected.value)
4346
}
4447
})
4548

Diff for: packages/client/src/pages/timeline.vue

+7-2
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,8 @@ function normalizeGroupInfo(layerId: string, event: TimelineEvent['event']) {
6666
}
6767
}
6868
69+
const { saveParamId, getValidNodeId } = useDefaultSelect()
70+
6971
onDevToolsClientConnected(() => {
7072
getTimelineLayer().then((data) => {
7173
layers.value = data!
@@ -74,7 +76,7 @@ onDevToolsClientConnected(() => {
7476
layer.groups = {}
7577
})
7678
if (!selectedLayer.value)
77-
selectedLayer.value = data?.length ? data[0].id : ''
79+
selectedLayer.value = data?.length ? (getValidNodeId(layers.value) || data[0].id) : ''
7880
})
7981
onAddTimelineEvent((payload) => {
8082
if (!payload)
@@ -99,7 +101,10 @@ watch(() => activeTimelineEvent.value.length, (l) => {
99101
<!-- layer -->
100102
<Pane border="r base" size="20">
101103
<div h-screen select-none overflow-scroll p-2 class="no-scrollbar">
102-
<TimelineLayer v-for="(item) in layers" :key="item.id" v-model="selectedLayer" :data="item" />
104+
<TimelineLayer
105+
v-for="(item) in layers" :key="item.id" v-model="selectedLayer" :data="item"
106+
@update:model-value="saveParamId"
107+
/>
103108
</div>
104109
</Pane>
105110
<!-- event -->

0 commit comments

Comments
 (0)