Skip to content

Commit ceb4bde

Browse files
committed
filter tree nodes data
1 parent ef45227 commit ceb4bde

File tree

3 files changed

+46
-20
lines changed

3 files changed

+46
-20
lines changed

pnpm-lock.yaml

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pnpm-workspace.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ catalog:
1212

1313
'@milaboratory/sdk-ui': ^0.13.0
1414
'@milaboratory/sdk-test': ^1.5.5
15-
"@milaboratory/graph-maker": ^1.0.0
15+
"@milaboratory/graph-maker": ^1.0.2
1616

1717
'@milaboratory/tengo-sdk': ^1.2.4
1818
'@milaboratory/pframes-conv': ^0.4.25

ui/src/TreeNodesTablePage.vue

Lines changed: 39 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { computedAsync } from '@vueuse/core';
55
import { GraphMakerSettings } from "@milaboratory/graph-maker/dist/GraphMaker/types";
66
import { GraphMaker } from '@milaboratory/graph-maker'
77
import { computed } from 'vue';
8-
import { PlBlockPage, PlDropdown } from '@milaboratory/sdk-vue';
8+
import { PlBlockPage, PlDropdown, PlRow, PlSpacer } from '@milaboratory/sdk-vue';
99
import { ref } from "vue";
1010
1111
import "@milaboratory/graph-maker/dist/style.css";
@@ -87,24 +87,50 @@ const treesOptions = computed(() => {
8787
return result
8888
})
8989
90-
const settings = ref({
91-
chartType: "dendro",
92-
template: "dendro",
93-
optionsState: null,
94-
statisticsSettings: null,
95-
axesSettings: null,
96-
layersSettings: null,
97-
dataBindAes: null,
98-
} satisfies GraphMakerSettings);
90+
const settings = computedAsync(async () => {
91+
const columns = await pFrameDriver.listColumns(pframe)
92+
const column = columns[0]
93+
return {
94+
chartType: "dendro",
95+
template: "dendro",
96+
optionsState: null,
97+
statisticsSettings: null,
98+
axesSettings: null,
99+
layersSettings: null,
100+
dataBindAes: null,
101+
fixedOptions: [
102+
{
103+
inputName: 'filters',
104+
selectedSource: {
105+
type: 'axis',
106+
id: column.spec.axesSpec[0]
107+
},
108+
selectedFilterValue: uiState.model.treeSelectionForTreeNodesTable.donor
109+
},
110+
{
111+
inputName: 'filters',
112+
selectedSource: {
113+
type: 'axis',
114+
id: column.spec.axesSpec[1]
115+
},
116+
selectedFilterValue: uiState.model.treeSelectionForTreeNodesTable.treeId
117+
},
118+
]
119+
} satisfies GraphMakerSettings
120+
});
99121
100122
</script>
101123

102124
<template>
103125
<PlBlockPage>
104-
<PlDropdown :options="donorOptions ?? []" v-model="uiState.model.treeSelectionForTreeNodesTable.donor" label="Donor" clearable />
105-
<PlDropdown :options="treesOptions ?? []" v-model="uiState.model.treeSelectionForTreeNodesTable.treeId" label="Tree" clearable />
126+
<PlRow>
127+
<PlDropdown :options="donorOptions ?? []" v-model="uiState.model.treeSelectionForTreeNodesTable.donor" label="Donor" clearable />
128+
<PlSpacer/>
129+
<PlDropdown :options="treesOptions ?? []" v-model="uiState.model.treeSelectionForTreeNodesTable.treeId" label="Tree" clearable />
130+
</PlRow>
106131
<GraphMaker
107-
v-if="app.outputs.treeNodes?.ok && app.outputs.treeNodes.value"
132+
v-if="app.outputs.treeNodes?.ok && app.outputs.treeNodes.value &&
133+
!(uiState.model.treeSelectionForTreeNodesTable.donor === undefined || uiState.model.treeSelectionForTreeNodesTable.treeId === undefined)"
108134
:p-frame-handle="app.outputs.treeNodes.value"
109135
:settings="settings"
110136
:p-frame-driver="platforma.pFrameDriver"

0 commit comments

Comments
 (0)