Giter Club home page Giter Club logo

Comments (4)

markus-ebner avatar markus-ebner commented on June 15, 2024 1

Thank you very much. It works as expected.

from v-network-graph.

dash14 avatar dash14 commented on June 15, 2024

Hi @markus-ebner,

Thank you for your report.
First, is it possible to use UserConfigs as an alias for RecursivePartial<Configs> ? I think UserConfigs has already been exported.

import { UserConfigs } from 'v-network-graph'
...
const mainConfig: UnwrapNestedRefs<UserConfigs> = reactive({})

If you have a case where you want to use RecursivePartial for something other than Configs, please let me know again so I will modify it to export.

Best regards,

from v-network-graph.

markus-ebner avatar markus-ebner commented on June 15, 2024

Thanks for the fast response @dash14!
Yes, I tried it but I get the following problems with UserConfigs:

const mainConfig: UnwrapNestedRefs<UserConfigs> = reactive({
    view: {
      // TS2322: Type 'false' is not assignable to type 'true'. Shouldn't this be a boolean type? 
      panEnabled: false,
      // TS2322: Type 'false' is not assignable to type 'true'. Shouldn't this be a boolean type? 
      zoomEnabled: false,
      ...
    },
   edge: {
      summarized: {
          shape: {
            // TS2322: Type '(edge: any) => number' is not assignable to type 'string | number'. 
            // Type '(edge: any) => number' is not assignable to type 'number'. Somehow the function isn't working here? 
            strokeDasharray: edge => edge.config.dashDensity as number ?? 0
           ...
         }
     ... 
     }
  }
}

from v-network-graph.

dash14 avatar dash14 commented on June 15, 2024

Hi @markus-ebner,
Thank you very much for your reply and report!
This was a bug...
The type definition was such that false could not be specified for view.{panEnabled, zoomEnabled}.

edge.summarized.* config did not support specifying a function, but this has been implemented along with the bug fix.
Note that edge.summarized.* are the configs when multiple edges are merged into one, so the specified function's argument is not 'edge' but 'edges' ({ edgeId: edge } object).

const mainConfig = reactive<UserConfigs>({
   ...
   edge: {
      summarized: {
          shape: {
            strokeDasharray: edges => Object.values(edges)[0].someParameterOfEdge as number ?? 0
           ...
         }
     ... 
     }
  }
}

I just released a new version (v0.3.2), please check it.

from v-network-graph.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.