1
0
mirror of https://github.com/lana-k/sqliteviz.git synced 2026-05-06 20:09:18 +08:00

#136 save seedLayout settings

This commit is contained in:
lana-k
2026-04-06 20:31:51 +02:00
parent c0d972c2ab
commit 4cc6ec86ea
7 changed files with 32 additions and 17 deletions

View File

@@ -5,7 +5,7 @@
:value="modelValue.initialAlgorithm" :value="modelValue.initialAlgorithm"
:clearable="false" :clearable="false"
className="test_fa2_initial_layout_algorithm_select" className="test_fa2_initial_layout_algorithm_select"
@change="update('initialAlgorithm', $event)" @change="updateInitialAlgorithm"
/> />
</Field> </Field>
@@ -51,14 +51,34 @@ export default {
layoutSettingsComponentMap: markRaw({ layoutSettingsComponentMap: markRaw({
random: RandomLayoutSettings, random: RandomLayoutSettings,
circlepack: CirclePackLayoutSettings circlepack: CirclePackLayoutSettings
}) }),
defaultSeedLayoutSettings: {
circular: { initialAlgorithm: 'circular' },
random: { initialAlgorithm: 'random', seedValue: 1 },
circlepack: {
initialAlgorithm: 'circlepack',
hierarchyAttributes: [],
seedValue: 1
}
}
} }
}, },
methods: { methods: {
update(attributeName, value) { updateInitialAlgorithm(newAlgorithm) {
const newSettings = {
...this.modelValue
}
const prevAlgorithmSettings =
this.defaultSeedLayoutSettings[this.modelValue.initialAlgorithm]
Object.keys(prevAlgorithmSettings).forEach(key => {
delete newSettings[key]
prevAlgorithmSettings[key] = this.modelValue[key]
})
this.$emit('update:modelValue', { this.$emit('update:modelValue', {
...this.modelValue, ...newSettings,
[attributeName]: value ...this.defaultSeedLayoutSettings[newAlgorithm]
}) })
} }
} }

View File

@@ -791,7 +791,6 @@ export default {
const sensibleSettings = forceAtlas2.default.inferSettings(this.graph) const sensibleSettings = forceAtlas2.default.inferSettings(this.graph)
this.settings.layout.options = { this.settings.layout.options = {
initialAlgorithm: 'circular', initialAlgorithm: 'circular',
seedValue: 1,
initialIterationsAmount: 50, initialIterationsAmount: 50,
adjustSizes: false, adjustSizes: false,
barnesHutOptimize: false, barnesHutOptimize: false,

View File

@@ -24,7 +24,6 @@ export default {
inquiry.viewOptions.layout.type === 'forceAtlas2' inquiry.viewOptions.layout.type === 'forceAtlas2'
) { ) {
inquiry.viewOptions.layout.options.initialAlgorithm = 'circular' inquiry.viewOptions.layout.options.initialAlgorithm = 'circular'
inquiry.viewOptions.layout.options.seedValue = 1
} }
}) })
} }

View File

@@ -1350,7 +1350,6 @@ describe('GraphEditor', () => {
type: 'forceAtlas2', type: 'forceAtlas2',
options: { options: {
initialAlgorithm: 'circular', initialAlgorithm: 'circular',
seedValue: 1,
initialIterationsAmount: 55, initialIterationsAmount: 55,
gravity: 1.5, gravity: 1.5,
scalingRatio: 1.2, scalingRatio: 1.2,
@@ -1543,7 +1542,6 @@ describe('GraphEditor', () => {
expect(startSpy.callCount).to.equal(2) expect(startSpy.callCount).to.equal(2)
expect(wrapper.vm.settings.layout.options).to.eql({ expect(wrapper.vm.settings.layout.options).to.eql({
initialAlgorithm: 'circular', initialAlgorithm: 'circular',
seedValue: 1,
initialIterationsAmount: 55, initialIterationsAmount: 55,
gravity: 1.5, gravity: 1.5,
scalingRatio: 1.2, scalingRatio: 1.2,
@@ -1590,7 +1588,6 @@ describe('GraphEditor', () => {
type: 'forceAtlas2', type: 'forceAtlas2',
options: { options: {
initialAlgorithm: 'circular', initialAlgorithm: 'circular',
seedValue: 1,
initialIterationsAmount: 55, initialIterationsAmount: 55,
gravity: 1.5, gravity: 1.5,
scalingRatio: 1.2, scalingRatio: 1.2,
@@ -1949,6 +1946,7 @@ describe('GraphEditor', () => {
layout: { layout: {
type: 'forceAtlas2', type: 'forceAtlas2',
options: { options: {
initialAlgorithm: 'circular',
initialIterationsAmount: 50, initialIterationsAmount: 50,
gravity: 1.5, gravity: 1.5,
scalingRatio: 1.2, scalingRatio: 1.2,

View File

@@ -2248,13 +2248,17 @@ describe('graphHelper.js', () => {
{ {
key: '1', key: '1',
attributes: { attributes: {
data: { type: 0, node_id: 1, label: 'cat' } data: { type: 0, node_id: 1, label: 'cat' },
x: undefined,
y: undefined
} }
}, },
{ {
key: '2', key: '2',
attributes: { attributes: {
data: { type: 0, node_id: 2, label: 'dog' } data: { type: 0, node_id: 2, label: 'dog' },
x: undefined,
y: undefined
} }
} }
]) ])

View File

@@ -149,7 +149,6 @@ describe('_migrations.js', () => {
type: 'forceAtlas2', type: 'forceAtlas2',
options: { options: {
initialAlgorithm: 'circular', initialAlgorithm: 'circular',
seedValue: 1,
initialIterationsAmount: 50, initialIterationsAmount: 50,
adjustSizes: false, adjustSizes: false,
barnesHutOptimize: false, barnesHutOptimize: false,
@@ -280,7 +279,6 @@ describe('_migrations.js', () => {
type: 'forceAtlas2', type: 'forceAtlas2',
options: { options: {
initialAlgorithm: 'circular', initialAlgorithm: 'circular',
seedValue: 1,
initialIterationsAmount: 50, initialIterationsAmount: 50,
adjustSizes: false, adjustSizes: false,
barnesHutOptimize: false, barnesHutOptimize: false,

View File

@@ -164,7 +164,6 @@ describe('storedInquiries.js', () => {
type: 'forceAtlas2', type: 'forceAtlas2',
options: { options: {
initialAlgorithm: 'circular', initialAlgorithm: 'circular',
seedValue: 1,
initialIterationsAmount: 50, initialIterationsAmount: 50,
adjustSizes: false, adjustSizes: false,
barnesHutOptimize: false, barnesHutOptimize: false,
@@ -442,7 +441,6 @@ describe('storedInquiries.js', () => {
type: 'forceAtlas2', type: 'forceAtlas2',
options: { options: {
initialAlgorithm: 'circular', initialAlgorithm: 'circular',
seedValue: 1,
initialIterationsAmount: 50, initialIterationsAmount: 50,
adjustSizes: false, adjustSizes: false,
barnesHutOptimize: false, barnesHutOptimize: false,
@@ -715,7 +713,6 @@ describe('storedInquiries.js', () => {
type: 'forceAtlas2', type: 'forceAtlas2',
options: { options: {
initialAlgorithm: 'circular', initialAlgorithm: 'circular',
seedValue: 1,
initialIterationsAmount: 50, initialIterationsAmount: 50,
adjustSizes: false, adjustSizes: false,
barnesHutOptimize: false, barnesHutOptimize: false,