Skip to content

Releases: bcakmakoglu/vue-flow

v1.33.1

23 Feb 07:50
Compare
Choose a tag to compare

What's Changed

Patch Changes

Full Changelog: v1.33.0...v1.33.1

v1.33.0

21 Feb 22:28
Compare
Choose a tag to compare

What's Changed

Minor Changes

  • #1323 ed4ccf4 Thanks @bcakmakoglu! - Add node id and node type to return of useNodesData.

    鈿狅笍This is a small breaking change from the previous implementation!

    Previously you would only receive the data object back, now you will receive an object with the data and the node id and type.

    const nodesData = useNodesData(nodeIds);
    
    // Previously
    nodesData.forEach((data) => {
      // ...
    });
    
    // Now
    nodesData.forEach(({ id, type, data }) => {
      // ...
    });

Patch Changes

New Contributors

Full Changelog: v1.32.1...v1.33.0

v1.32.1

15 Feb 21:05
Compare
Choose a tag to compare

What's Changed

Patch Changes

Full Changelog: v1.32.0...v1.32.1

v1.32.0

15 Feb 16:48
Compare
Choose a tag to compare

What's Changed

Minor Changes

Patch Changes

New Contributors

Full Changelog: v1.31.0...v1.32.0

@vue-flow/background@1.3.0

15 Feb 16:48
Compare
Choose a tag to compare
chore: update CHANGELOG.md

v1.31.0

05 Feb 06:58
Compare
Choose a tag to compare

What's Changed

Minor Changes

  • #1271 1e60944 Thanks @github-actions! - Add useNodeId composable

    馃 Example

    const nodeId = useNodeId();
    
    console.log("nodeId", nodeId); // '1'
  • #1271 299408f Thanks @github-actions! - Add updateNode action

    馃 Example

    const { updateNode } = useVueFlow();
    
    updateNode("1", { position: { x: 100, y: 100 } });
    
    // or using a function to update the node
    updateNode("1", (node) => ({ ...node, position: { x: 100, y: 100 } }));
    
    // passing options - `replace` will replace the node instead of merging it
    updateNode(
      "1",
      { id: "1", label: "Node 1", position: { x: 100, y: 100 } },
      { replace: true }
    );
  • #1271 eae2118 Thanks @github-actions! - Call onNodesInitialized whenever areNodesInitialized is true instead of only once

  • #1271 36ffa3f Thanks @github-actions! - Omit events in nodes and edges when returning them from toObject

  • #1271 85536ed Thanks @github-actions! - Add useHandleConnections composable

    馃 Example

    const connections = useHandleConnections({
      // type of the handle you are looking for - accepts a `MaybeRefOrGetter<string>`
      type: "source",
    
      // the id of the handle you are looking for - accepts a `MaybeRefOrGetter<string | undefined> | undefined` [OPTIONAL]
      id: "a",
    
      // if not provided, the node id from the NodeIdContext is used - accepts a `MaybeRefOrGetter<string | undefined> | undefined`
      nodeId: "1",
    
      // a cb that is called when a new connection is added
      onConnect: (params) => {
        console.log("onConnect", params);
      },
    
      // a cb that is called when a connection is removed
      onDisconnect: (params) => {
        console.log("onDisconnect", params);
      },
    });
    
    watch(
      connections,
      (next) => {
        console.log("connections", next);
      },
      { immediate: true }
    );
  • #1271 4bce8c9 Thanks @github-actions! - Find handle by id regardless of number of handles that exist

  • #1271 85536ed Thanks @github-actions! - Add connectionLookup to state

  • #1271 3b02809 Thanks @github-actions! - Add onInit hook and deprecate onPaneReady

  • #1271 299408f Thanks @github-actions! - Add updateNodeData action

    馃 Example

    const { updateNodeData } = useVueFlow();
    
    updateNodeData("1", { foo: "bar" });
    
    // or using a function to update the data
    updateNodeData("1", (data) => ({ ...data, foo: "bar" }));
    
    // passing options - `replace` will replace the data instead of merging it
    updateNodeData("1", { foo: "bar" }, { replace: true });
  • #1271 823956e Thanks @github-actions! - Add useNodesData composable

    馃 Example

    Single node id

    const nodeId = "1";
    
    const data = useNodesData(nodeId);
    
    console.log(data.value); // '[{ /* ... */ }]

    Array of node ids

    const nodeIds = ["1", "2", "3"];
    
    const data = useNodesData(nodeIds);
    
    console.log(data.value); // '[{ /* ... */ }]

    Asserting data type

    import type { Node } from "@vue-flow/core";
    
    interface Data {
      foo: string;
      bar: string;
    }
    
    type MyNode = Node<CustomNodeData>;
    
    const nodeId = "1";
    
    const data = useNodesData([nodeId], (node): node is MyNode => {
      return "foo" in node.data && "bar" in node.data;
    });
    
    console.log(data.value); // '[{ /* foo: string; bar: string */ }]
  • #1271 99fa4fd Thanks @github-actions! - Call fitViewOnInit when initial node dimensions are available

  • #1271 9f8607f Thanks @github-actions! - Deprecate events property on nodes and edges

  • #1278 ecff6f6 Thanks @bcakmakoglu! - Add error args to VueFlowError

  • #1271 3f60a80 Thanks @github-actions! - Replace Array.forEach loops with for...of

  • #1278 ecff6f6 Thanks @bcakmakoglu! - Export isErrorOfType typeguard to narrow the type of a VueFlowError and infer it's args

Patch Changes

  • #1295 4a5aa14 Thanks @bcakmakoglu! - When updating nodes or edges by overwriting the original array, update the nodes and edges in the state by using them as the target for Object.assign. This keeps reference in-tact and ensures reactivity when these objects are changed/updated

  • #1271 bbee266 Thanks @github-actions! - Update node dimensions on next tick

Full Changelog: v1.30.1...v1.31.0

v1.30.1

30 Jan 07:59
Compare
Choose a tag to compare

What's Changed

Patch Changes

  • #1266 c571dde Thanks @bcakmakoglu! - Check if values are numeric in isRect instead of checking for truthiness of values

Full Changelog: v1.30.0...v1.30.1

v1.30.0

29 Jan 20:58
Compare
Choose a tag to compare

What's Changed

Minor Changes

  • #1261 427bfac Thanks @bcakmakoglu! - Hide viewport until fitViewOnInitDone is true (if fitViewOnInit is not used, this value will automatically become true the first time node dimensions are set

  • #1261 427bfac Thanks @bcakmakoglu! - Emit paneReady event after 1ms timeout

Full Changelog: v1.29.2...v1.30.0

@vue-flow/controls@1.1.1

29 Jan 20:58
Compare
Choose a tag to compare

What's Changed

Patch Changes

v1.29.2

25 Jan 07:59
Compare
Choose a tag to compare

What's Changed

Patch Changes

  • #1257 31817d3 Thanks @bcakmakoglu! - Check if event.key or event.code exists before trying to match keyfilter against keys

Full Changelog: v1.29.1...v1.29.2