Quantcast
Channel: Northwoods Software - Latest topics
Viewing all 7377 articles
Browse latest View live

Downloading an image of the diagram

$
0
0

@Doogal wrote:

I'm trying to use makeImageData to generate an image that the user can download. It's working fine in Chrome and FireFox but nothing is happening with IE. I don't think it's a problem with makeImageData, the function returns something that looks kind of sensible, but I'm just wondering the recommended approach for doing this, as I assume it's what makeImageData is primarily for? I'm just assigning the return value to an anchor's href after the user has clicked on it. HTML snippet is

            <li id="model-image">
              <a href="#" download="diagram.png">
                <img src="Content/Images/image.png" /><br />
                Image
              </a>
            </li>

TypeScript snippet

    $("#model-image a").on("click", (e) => {
      var imageData = this.diagram.makeImageData();
      $("#model-image a").attr("href", imageData);
    });

Posts: 7

Participants: 2

Read full topic


Overview Zoom Problem

$
0
0

@Rizwan wrote:

myOverview.Observed = dvDiagram;
myOverview.Stretch = Northwoods.GoXam.StretchPolicy.Uniform;

Or Binding
Observed="{Binding ElementName=myDiagram}"
its not setting the Its not settings the Diagram within Overview bounds.

Posts: 2

Participants: 2

Read full topic

autoScale won't grow above 1

$
0
0

@estesbubba wrote:

I set my diagram to autoScale: go.Diagram.Uniform and it will shrink below 1 but won't grow above 1. Is there another setting I need to do to make it grow past 1 and always fill the canvas? Tried maxScale but that didn't work.

This is GoJS 1.5.2 if that matters.

Posts: 2

Participants: 2

Read full topic

Getting Dynamic Data for nodeDataArray and LinkDataArray

$
0
0

@nadeemparvez.ak wrote:

Hi,

Are there any examples or implementation with non-hardcoded nodeDataArray and LinkDataArray ?

for Examples instead of getting

nodeDataArray: [
	    	              { key: "Record1",
	    	                fields: [
	    	                  { name: "field1", info: "", color: "#F7B84B", figure: "Ellipse" },
	    	                  { name: "field2", info: "the second one", color: "#F25022", figure: "Ellipse" },
	    	                  { name: "fieldThree", info: "3rd", color: "#00BCF2" }
	    	                ],
	    	                loc: "0 0" },
	    	              { key: "Record2",
	    	                fields: [
	    	                  { name: "fieldA", info: "",       color: "#FFB900", figure: "Diamond" },
	    	                  { name: "fieldB", info: "",       color: "#F25022", figure: "Rectangle" },
	    	                  { name: "fieldC", info: "",       color: "#7FBA00", figure: "Diamond" },
	    	                  { name: "fieldD", info: "fourth", color: "#00BCF2",  figure: "Rectangle" }
	    	                ],
	    	                loc: "250 0" }

and

linkDataArray: [
	    	              { from: "Record1", fromPort: "field1", to: "Record2", toPort: "fieldA" },
	    	              { from: "Record1", fromPort: "field2", to: "Record2", toPort: "fieldD" },
	    	              { from: "Record1", fromPort: "fieldThree", to: "Record2", toPort: "fieldB" },
	    	              { from: "Record1", fromPort: "field1", to: "Record2", toPort: "fieldC" }
	    	            ]

Cant we get these from a JSON and use this in our diagram ?

Posts: 3

Participants: 3

Read full topic

Get key of collapsed Subgraph from which link goes out

$
0
0

@Ruslan wrote:

Hi, How I can define Subgraph key from which the link (from default subgraph port) goes out. Depending on expanded subgraph in subgraph hierarchy this key can be different. The link is connecting two nodes located in two different subgraph hierarchies. In other word I want to keep/load as many versions of link route points as diagram may have. In my solution the link should have main FromNode ТоNode definition (nodes), but definetly I should be able to get current From То definitions if links come from subgraph.

Posts: 2

Participants: 2

Read full topic

Removing Link data from the graph

$
0
0

@nuhuda7 wrote:

I'm trying to remove link data from my graph but it isn't working. I have tried both removeLinkData as well as removeLinkDataCollection within the transaction but to no result.

Posts: 5

Participants: 2

Read full topic

Complex Objects with custom TextEditingTool

$
0
0

@ronif wrote:

Hi,
I'm trying to use a custom TextEditingTool of a typeahead/autocomplete nature.
Thing is, when an item is chosen, I need to do more than simply set the text - I also need to set the complex object to my model.
Since i also require the entire node data that has changed, I figured I could have the text edit getValue() would return the complex object, the converter on the two way bind would then use parts of it, and also set the text to the text box.
When I do that however, the converter gets called again..
What i'm looking for is some advise or example on how to work with a complex objects and the text editing tool

Posts: 2

Participants: 2

Read full topic

Multiple shapes into a groupTemplate

$
0
0

@quim96 wrote:

I try to implement two shapes into a group template but the second shape doesn't appear correctly. The size of the second is always fixed. My code is:

        myDiagram.groupTemplateMap.add("OfNodes",
            $(go.Group, "Auto", // the whole node panel
                {
                    selectionAdorned: true,
                    layoutConditions: go.Part.LayoutStandard & ~go.Part.LayoutNodeSized,
                    fromSpot: go.Spot.AllSides,
                    toSpot: go.Spot.AllSides,
                    isShadowed: true,
                    shadowColor: "#C5C1AA",
                    mouseDrop: finishDrop


                },


                go.Panel.Auto, {

                    ungroupable: true,
                    // highlight when dragging into the Group
                    mouseDragEnter: function(e, grp, prev) {
                        highlightGroup(e, grp, true);
                    },
                    mouseDragLeave: function(e, grp, next) {
                        highlightGroup(e, grp, false);
                    },
                    computesBoundsAfterDrag: true,
                    // when the selection is dropped into a Group, add the selected Parts into that Group;
                    // if it fails, cancel the tool, rolling back any changes
                    mouseDrop: finishDrop,
                    contextMenu: partContextMenu,
                    handlesDragDropForMembers: true, // don't need to define handlers on member Nodes and Links
                    // Groups containing Nodes lay out their members vertically
                    layout: $(go.GridLayout, {
                        wrappingColumn: 1,
                        alignment: go.GridLayout.Position,
                        cellSize: new go.Size(1, 1),
                        spacing: new go.Size(1, 1)
                    })
                },
                new go.Binding("background", "isHighlighted", function(h) {
                    return h ? "rgba(255,0,0,0.2)" : "transparent";
                }).ofObject(),



                $(go.Shape, "Rectangle", {
                    parameter1: 0, //Recuadre al voltant d'on es pot crear el vincles
                    fill: "white",
                    stroke: "#756875",
                    strokeWidth: 3,
                    portId: "10", //Això permet multiples punts de sortida
                    fromLinkable: true,
                    fromLinkableSelfNode: true,
                    fromLinkableDuplicates: true,
                    toLinkable: true,
                    toLinkableSelfNode: true,
                    toLinkableDuplicates: true,
                    cursor: "pointer"

                }),
                $(go.Shape, "Rectangle", {
                    parameter1: 0, //Recuadre al voltant d'on es pot crear el vincles
                    fill: "red",
                    stroke: "#756875",
                    strokeWidth: 3,
                    portId: "10", //Això permet multiples punts de sortida
                    cursor: "pointer",
                    margin:5
                }),



                $(go.Panel, go.Panel.Vertical, // title above Placeholder
                    $(go.Panel, go.Panel.Horizontal, // button next to TextBlock
                        {
                            stretch: go.GraphObject.Horizontal,
                            margin: 1
                        },
                        $(go.TextBlock, {
                                alignment: go.Spot.Center,
                                editable: true,
                                isMultiline: false,
                                margin: 5,
                                stroke: "#009900",
                                font: "bold 16px sans-serif",
                                //contextMenu: partContextMenu
                            },

                            new go.Binding("text", "text").makeTwoWay()

                        ),
                        $("SubGraphExpanderButton", {
                            alignment: go.Spot.Right,
                            margin: 5
                        })

                    ), // end Horizontal Panel
                    $(go.Placeholder, {
                        padding: 5,
                        alignment: go.Spot.TopLeft
                    })
                ) // end Vertical Panel
            )); // end Group and call to add to template Map

The result is this:

I want something like this:

I hope that somebody can help me.
Thank you very much

Posts: 2

Participants: 2

Read full topic


Canvas blurriness

$
0
0

@einav wrote:

Hello,

All the elements including font, images are blurry inside the canvas.

What can be the reason?

Posts: 2

Participants: 2

Read full topic

Similar to GoJS Pipes Example in GoXam

Expanding node templates / accessing part.elements

$
0
0

@felix wrote:

Hello,

I want to add a little bit of interface to my nodes. I have a general question of what's a good way to do this, and a specific question I was led to in my first attempt.

My data for one node looks like:
{ "title":"hello", "states":[ {"desc":"A1", "complicated":info1}, {"desc":"A2", "complicated":info2}, {"desc":"A3", "complicated":info3} ]
I want my nodes to essentially have two states, where > and < are buttons/elements with onClick events to toggle between the two:

   State 1                     State 2
-------------             ---------------------------------
|   Title   |             |      Title     |       A2     |
| A1      > |             | A1      >      |  info2a    W |
| A2      > |    or       | A2          <  |  info2b    X |
| A3      > |             | A3      >      |  info2c    Y |
-------------             |                |  info2d    Z |
                          ---------------------------------

I can imagine this is a common pattern.
Question 1. is there already have a sample that implements this, or a hook that I can use?, or could you please give some general design advice for this?

In the meantime, this is what I was thinking:
I have set up the node template with two separate Tables, each with new go.Binding("itemArray","states"). One is vertical, and just contains the "desc" A1, A2, A3, .... The second table is a horizontal table of tables, each of which shows the complicated info for one state (above, example for state A2 with complicated info info2a, info2b, ...); all of these subtables are visible:false by default. When someone clicks on an ">", I can use the onClick event to find out that it was the i-th state which was clicked, then iterate over the components of the node until I find the i-th table (that contains the detailed breakdown for state i) and set visible:true. At the same time, I set visible:false on the expander ">" and visible:true on the collapser "<", and possibly do more.

I actually have a function for the onClick event which comes very close. But it sets visible:true/false on the wrong components in the node. This lead me to the question:
Q2. Is there a convenient way to examine, in JS, the elements in the node, to find out what they consist of?
Currently I access node.elements, but this is a generator not an array, so I go over node.elements.iterator to check each element -- and these then have subelements, so I end up checking X.elements.iterator a few layers deep. But I'm basically blind -- in the debugger, I cannot tell what elements.iterator.value is referring to at all. Are there API functions to access the elements of a node/panel/part conveniently? So I get a list of elements, with a dictionary of their information, like "type":"TableRow" and "column":1 and "text":"info2b", and so on?

Posts: 3

Participants: 2

Read full topic

Expanding a group, then clicking off it messes up the layout

Dynamically change the Sankey diagram link's stroke width

$
0
0

@Kakit wrote:

Hi,

I am working on a project that needs to show the evolution of the Sankey Diagram along with the time.

This means I have a slide bar to control the time spam, and I want to show the width of the link that is changing with animation when I slide the time bar. There are incoming inputs when slide the bar, the input is for the data model.

What I've done is based on the example code that is in here. http://gojs.net/latest/samples/sankey.html

To change the width of the link, I tried used the binding first.
new go.Binding("strokeWidth", "width"),
But this one does't work.

Then I tried to reload the model. So I programmatically changed the JSON that is feed to the model. And reload the model. This one works. But the problem is the position of nodes and the layout of diagram is changed along with the data model with a screen refresh, which makes it is not clear to see which link has been changed.

So I am wondering is there a way to change the width of the link and the height of the node without re-positioning the nodes and refreshing the screen? I want to animate this. E.g, the user can clearly see which link is shrinking or expanding, which node is growing bigger or becoming smaller along with the incoming inputs.

Cheers,

Posts: 1

Participants: 1

Read full topic

Part.locationSpot

$
0
0

@ollikat wrote:

Just out of the curiosity....it seems that Node created via Model.addNodeData() sets the locationSpot to center. IMO it's a bit confusing as Part.locationSpot states that the initial value should be Spot.TopLeft.

I'm quite new with GoJS, so maybe I'm missing something essential.

Thanks.

(GoJS v1.6.5)

Posts: 6

Participants: 2

Read full topic

Idea for having 3rd parameter for go.Binding

$
0
0

@Glidias wrote:

In go.Binding conversion functions, there are 2 parameters for the functions, first parameter is the supplied property value argument, and the second parameter would be Shape/Part/Node object, etc., I was thinking the 3rd parameter could ALWAYS be supplied with the Node's "data" object always. That way, a function can use both the "data" object and "property string reference' object as reference, in situations where the coder needs both references at hand (eg. sometimes, the "reference" object might be null or lack another nested property value...so one can use the "data" object value instead, etc.)

_________-
Performance implications with empty src property name?

As mentioned in the manual for go.Binding

An empty string argument for the sourceprop parameter indicates that the whole data object should be passed to the toLocation function, rather than the value of some property of that data. The return value is used as the new value for the Part.location property. In almost all cases the second argument is not used. For efficiency reasons you should try to avoid using an empty source property name.

Now, i guess "efficiency " reasons is that I infer that when updateTargetBindings is called or bindings are updated, bindings with empty source property names are ALWAYS processed, regardless of what src property is supplied, right? Thus, having lots of these empty src property bindings may clog performance, issit?

I doubt GOJS has any good binding techniques to actually analyse the function expression and determine the property chain dependencies? Is it possible to pass a property chain array of sorts, etc. to reflect the set of nested properties? Most binding frameworks have this sort of functionality (dot syntax, expressions, etc.), but the way GOJS does data-binding, is very basic. eg. My ideal binding dependency checking approach would be tree-based, so updateTargetBindings for "a", would update all descendent target bindings under it for "a.bb, a.cc, a.dd, a.dd.kk, etc.). But I guess, that would need a separate toolset (possibly a virtual dom tree of all these properties and directives to call GOJS updateTargetBindings...), i guess?


Anyway, having a 3rd parameter that points to "data" always might be handy in some situations where root "data" access is still required but I want to avoid empty "src" property name as well.


Posts: 3

Participants: 2

Read full topic


How to create Gantt Chart with Time scale on top?

$
0
0

@Rizwan wrote:

Can you please provide sample for creating timeline chart with time scale on top . as shown in image.

Reagards

Posts: 4

Participants: 2

Read full topic

Picture in front of node

$
0
0

@einav wrote:

Hello, I would like to have the picture in front of the node and not disappear.

This is what I have now :

This is that I want :

Code of the picture :
g(go.Picture, {
maxSize: new go.Size(NaN, 55),
desiredSize: new go.Size(50, NaN),
alignment: new go.Spot(0.5, 0,0,-10),
imageStretch: go.GraphObject.Uniform,
sourceCrossOrigin: () => 'anonymous'
})

Thanks!

Posts: 2

Participants: 2

Read full topic

Hyperlink for any nodes in incremental diagram

Broken port behavior

$
0
0

@SimonBrodtmann wrote:

I used the flow chart example to first create a simple chart output without editing possibilities. The JSON is generated by the server and everything works fine.
After that, I tried to add some editing possibilities again, but failed at the ports so far. New links start with a wrong direction and go through the rectangle. Relinking existing links from the JSON source is not possible at all.
I checked the code a few times but cannot find the problem.

I use GoJS 1.6.7, Firefox 44 on Windows 10.

The first screenshot shows the generated graph. It looks exactly like I want it to:

In the second screenshot, I tried to add two links (top and bottom). The routing is just broken:

The third screenshot shows me trying to relink. I don't get any other proposals than the whole rectangle. The ports are in the middle of all four sides:

The Code (I make some use of jQuery):
var make = go.GraphObject.make;

// Define a function for creating a "port" that is normally transparent.
// The "name" is used as the GraphObject.portId, the "spot" is used to control how links connect
// and where the port is positioned on the node, and the boolean "output" and "input" arguments
// control whether the user can draw links from or to the port.
function makePort(name, spot, output, input) {
    // the port is basically just a small circle that has a white stroke when it is made visible
    return make(go.Shape, "Circle",
        {
            fill: "transparent",
            stroke: null,
            strokeWidth: 1,
            desiredSize: new go.Size(8, 8),
            alignment: spot, alignmentFocus: spot,
            portId: name,
            fromSpot: spot, toSpot: spot,
            fromLinkable: output, toLinkable: input,
            cursor: "pointer"
        }
    );
}

// helper definitions for node templates
function nodeStyle() {
    return [
        // The Node.location comes from the "loc" property of the node data,
        // converted by the Point.parse static method.
        // If the Node.location is changed, it updates the "loc" property of the node data,
        // converting back using the Point.stringify static method.
        new go.Binding("location", "position", go.Point.parse).makeTwoWay(go.Point.stringify),
            {
                // the Node.location is at the center of each node
                locationSpot: go.Spot.Center,
                //isShadowed: true,
                //shadowColor: "#888",
                // handle mouse enter/leave events to show/hide the ports
                mouseEnter: function (e, obj) { showPorts(obj.part, true); },
                mouseLeave: function (e, obj) { showPorts(obj.part, false); }
            }
    ];
}

// Make all ports on a node visible when the mouse is over the node
function showPorts(node, show) {
    var diagram = node.diagram;
    if (!diagram || diagram.isReadOnly || !diagram.allowLink) return;
    node.ports.each(function(port) {
        if (show) {
            port.stroke = "#333333";
            port.fill = "#0078d0";
            port.mouseEnter = function (e, obj) {
                obj.fill = "#e00034";
            };
            port.mouseLeave = function (e, obj) {
                obj.fill = "#0078d0";
            };
        } else {
            port.stroke = null;
            port.fill = null;
            port.mouseEnter = null;
            port.mouseLeave = null;
        }
    });
}

ctx.createDiagram = function(el, graph) {
    var diagram = make(go.Diagram, el, {
        initialContentAlignment: go.Spot.Center,
        allowDrop: true,
        mouseWheelBehavior: go.ToolManager.WheelZoom,
        layout: new go.TreeLayout(),
        "undoManager.isEnabled": true
    });

    diagram.nodeTemplateMap.add("diamond",
        make(go.Node, "Spot", nodeStyle(),
            make(go.Panel, "Auto",
                make(go.Shape, "Diamond", {fill: "transparent", stroke: "black", strokeWidth: 2, desiredSize:  new go.Size(60, 60)})
            ),
            makePort("T", go.Spot.Top, true, true),
            makePort("L", go.Spot.Left, true, false),
            makePort("R", go.Spot.Right, false, true),
            makePort("B", go.Spot.Bottom, true, true)
        )
    );

    diagram.nodeTemplateMap.add("bar",
        make(go.Node, "Spot", nodeStyle(),
            make(go.Panel, "Auto",
                make(go.Shape, "Rectangle", {fill: "black", stroke: null, desiredSize:  new go.Size(15, 80)})
            ),
            makePort("L", go.Spot.Left, true, false),
            makePort("R", go.Spot.Right, false, true)
        )
    );

    diagram.nodeTemplateMap.add("activity",
        make(go.Node, "Spot", nodeStyle(),
            make(go.Panel, "Auto",
                make(go.Shape, "RoundedRectangle", {fill: "transparent", stroke: "black", strokeWidth: 2 }),
                make(go.Panel, "Vertical",
                    make(go.TextBlock,
                        {
                            font: "8pt Lato, sans-serif",
                            stroke: "black",
                            margin: 4,
                            maxSize: new go.Size(160, NaN),
                            wrap: go.TextBlock.WrapFit,
                            editable: false,
                            alignment: go.Spot.Left
                        }, new go.Binding("text", "role")
                    ),
                    make(go.TextBlock,
                        {
                            font: "12pt Lato, sans-serif",
                            stroke: "#0078d0",
                            margin: 4,
                            maxSize: new go.Size(160, NaN),
                            wrap: go.TextBlock.WrapFit,
                            editable: false,
                            alignment: go.Spot.Left,
                            click: function(e, target) {
                                var win = window.open("/testcases.html?activity=" + target.part.data.key, '_blank');
                                win.focus();
                            },
                            cursor: "pointer",
                                mouseEnter: function(e, target) {
                            target.stroke = "#e00034";
                            },
                            mouseLeave: function(e, target) {
                                target.stroke = "#0078d0";
                            }
                        }, new go.Binding("text", "name")
                    ), make(go.TextBlock,
                        {
                            font: "10pt Lato, sans-serif",
                            stroke: "black",
                            margin: 4,
                            maxSize: new go.Size(160, NaN),
                            wrap: go.TextBlock.WrapFit,
                            editable: false,
                            visible: false,
                            name: "description",
                        }, new go.Binding("text", "description", function(text) {
                            return $("<div>").html(text).text();
                        })
                    )
                )
            ),
            makePort("T", go.Spot.Top, true, true),
            makePort("L", go.Spot.Left, true, false),
            makePort("R", go.Spot.Right, false, true),
            makePort("B", go.Spot.Bottom, true, true)
        )
    );

    diagram.nodeTemplateMap.add("start",
        make(go.Node, "Spot", nodeStyle(),
            make(go.Shape, "Circle", {desiredSize: new go.Size(40, 40), fill: "black", stroke: null }),
            makePort("R", go.Spot.Right, true, false)
        )
    );

    diagram.nodeTemplateMap.add("end",
        make(go.Node, "Spot", nodeStyle(),
            make(go.Shape, "Circle", {desiredSize: new go.Size(40, 40), fill: "transparent", stroke: "black", strokeWidth: 2 }),
            make(go.Shape, "Circle", {desiredSize: new go.Size(32, 32), fill: "black", stroke: null }),
            makePort("L", go.Spot.Left, false, true)
        )
    );

    diagram.linkTemplate = make(go.Link, {
            routing: go.Link.AvoidsNodes,
            curve: go.Link.JumpOver,
            corner: 5,
            toShortLength: 4,
            relinkableFrom: true,
            relinkableTo: true,
            reshapable: true,
            resegmentable: true,
            mouseEnter: function(e, link) { link.findObject("HIGHLIGHT").stroke = "rgba(30,144,255,0.2)"; },
             mouseLeave: function(e, link) { link.findObject("HIGHLIGHT").stroke = "transparent"; }
        }, new go.Binding("points").makeTwoWay(),
        make(go.Shape, {isPanelMain: true, strokeWidth: 8, stroke: "transparent", name: "HIGHLIGHT"}),
        make(go.Shape, {isPanelMain: true, stroke: "black", strokeWidth: 2}),
        make(go.Shape, {toArrow: "standard", stroke: null, fill: "black"}),
        make(go.Panel, "Auto", {visible: false, name: "label", segmentIndex: 2, segmentFraction: 0.5},
            make(go.Shape, "RoundedRectangle", {fill: "#F8F8F8", stroke: null}),
            make(go.TextBlock,
                {
                    textAlign: "center",
                    font: "10pt Lato, sans-serif",
                    stroke: "black",
                    editable: false
                },
                new go.Binding("text", "text")
            )
        )
    );

    // temporary links used by LinkingTool and RelinkingTool are also orthogonal:
    diagram.toolManager.linkingTool.temporaryLink.routing = go.Link.Orthogonal;
    diagram.toolManager.relinkingTool.temporaryLink.routing = go.Link.Orthogonal;

    // Nur die Anfangsanimation soll aus
    diagram.animationManager.isEnabled = false;
    diagram.model = go.Model.fromJson(graph);
    diagram.animationManager.isEnabled = true;

    // Show non-empty labels
    var i = diagram.findLinksByExample({text: function(text) {
        return typeof text !== "undefined";
    }});
    while (i.next()) {
        var label = i.value.findObject("label");
        label.visible = true;
    }

    // Show non-empty descriptions
    var i = diagram.findNodesByExample({description: function(description) {
        return typeof description !== "undefined";
    }});
    while (i.next()) {
        var label = i.value.findObject("description");
        label.visible = true;
    }
};

The example graph:
{"nodeDataArray":[{"role":"Controller","name":"Report ETA","description":"<p>The controller reports the ETAs to every involved customers of the tour.</p>","category":"activity","key":257628},{"role":"Controller","name":"Plan route","description":"<p>The controller plans the route considering additional orders that can be combined with this one.</p>","category":"activity","key":257626},{"role":"Controller","name":"Replan open tour parts","category":"activity","key":257657},{"role":"Controller","name":"Receive order","category":"activity","key":257616},{"role":"Controller","name":"Check tour / stall fee","category":"activity","key":257664},{"role":"Controller","name":"Send tour","description":"<p>The controller sends the tour to the vehicle.</p>","category":"activity","key":257630},{"role":"Controller","name":"Approve tour for invoice processing","category":"activity","key":257668},{"role":"Driver","name":"Receive tour","category":"activity","key":257652},{"role":"Driver","name":"Drive tour","category":"activity","key":257654},{"role":"Controller","name":"Plan tour","description":"<p>The controller creates a tour containing the order and assigns it to a vehicle/driver.</p>","category":"activity","key":257621},{"category":"diamond","key":257660},{"category":"bar","key":258057},{"category":"bar","key":258061},{"category":"diamond","key":257624},{"category":"start","key":-1},{"category":"end","key":-2}],"linkDataArray":[{"from":257660,"to":257657,"text":"Disturbances occur"},{"from":257657,"to":257624},{"from":257654,"to":257660},{"from":257660,"to":257664,"text":"No disturbances occur"},{"from":257621,"to":258057},{"from":257664,"to":257668},{"from":257628,"to":258061},{"from":257626,"to":257621},{"from":258057,"to":257630},{"from":258057,"to":257628},{"from":257624,"to":257626},{"from":258061,"to":257654},{"from":257630,"to":257652},{"from":257616,"to":257624},{"from":257652,"to":258061},{"from":-1,"to":257616},{"from":257668,"to":-2}],"class":"go.GraphLinksModel","linkFromPortIdProperty":"fromPort","linkToPortIdProperty":"toPort"}

Can you please help me fix those two problems?

Thanks.

Posts: 2

Participants: 2

Read full topic

Mapping field of records

$
0
0

@nadeemparvez.ak wrote:

Hi,

I am looking to represent a tree structure of data on the fields of records. are there any options available for the same ?

for example i would like to represent the below as part of record1

list user {
leaf name {
type string;
}
}

Posts: 2

Participants: 2

Read full topic

Viewing all 7377 articles
Browse latest View live