Quantcast
Channel: Internet Explorer Web Development forum
Viewing all articles
Browse latest Browse all 3527

edge browser can not show state diagram with go.js with VS2013 after upgrade to window 10

$
0
0

edge browser can not show state diagram with go.js with VS2013 after upgrade to window 10 

<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head><title></title><link href="./css/goSamples.css" rel="stylesheet" type="text/css" /><script src="./js/go.js"></script><script id="code">
        function init() {
            if (window.goSamples) goSamples();  // init for these samples -- you don't need to call this
            var $ = go.GraphObject.make;  // for conciseness in defining templates

            myDiagram =
              $(go.Diagram, "myDiagram",  // must name or refer to the DIV HTML element
                {
                    // start everything in the middle of the viewport
                    initialContentAlignment: go.Spot.Center,
                    // have mouse wheel events zoom in and out instead of scroll up and down"toolManager.mouseWheelBehavior": go.ToolManager.WheelZoom,
                    // support double-click in background creating a new node"clickCreatingTool.archetypeNodeData": { text: "new node" },
                    // enable undo & redo"undoManager.isEnabled": true
                });

            // when the document is modified, add a "*" to the title and enable the "Save" button
            myDiagram.addDiagramListener("Modified", function (e) {
                var button = document.getElementById("SaveButton");
                if (button) button.disabled = !myDiagram.isModified;
                var idx = document.title.indexOf("*");
                if (myDiagram.isModified) {
                    if (idx < 0) document.title += "*";
                } else {
                    if (idx >= 0) document.title = document.title.substr(0, idx);
                }
            });

            // define the Node template
            myDiagram.nodeTemplate =
              $(go.Node, "Auto",
                new go.Binding("location", "loc", go.Point.parse).makeTwoWay(go.Point.stringify),
                // define the node's outer shape, which will surround the TextBlock
                $(go.Shape, "RoundedRectangle",
                  {
                      parameter1: 20,  // the corner has a large radius
                      fill: $(go.Brush, "Linear", { 0: "rgb(254, 201, 0)", 1: "rgb(254, 162, 0)" }),
                      stroke: "black",
                      portId: "",
                      fromLinkable: true,
                      fromLinkableSelfNode: true,
                      fromLinkableDuplicates: true,
                      toLinkable: true,
                      toLinkableSelfNode: true,
                      toLinkableDuplicates: true,
                      cursor: "pointer"
                  }),
                $(go.TextBlock,
                  {
                      font: "bold 11pt helvetica, bold arial, sans-serif",
                      editable: true  // editing the text automatically updates the model data
                  },
                  new go.Binding("text", "text").makeTwoWay())
              );

            // unlike the normal selection Adornment, this one includes a Button
            myDiagram.nodeTemplate.selectionAdornmentTemplate =
              $(go.Adornment, "Spot",
                $(go.Panel, "Auto",
                  $(go.Shape, { fill: null, stroke: "blue", strokeWidth: 2 }),
                  $(go.Placeholder)  // this represents the selected Node
                ),
                // the button to create a "next" node, at the top-right corner
                $("Button",
                  {
                      alignment: go.Spot.TopRight,
                      click: addNodeAndLink  // this function is defined below
                  },
                  $(go.Shape, "PlusLine", { desiredSize: new go.Size(6, 6) })
                ) // end button
              ); // end Adornment

            // clicking the button inserts a new node to the right of the selected node,
            // and adds a link to that new node
            function addNodeAndLink(e, obj) {
                var adorn = obj.part;
                e.handled = true;
                var diagram = adorn.diagram;
                diagram.startTransaction("Add State");

                // get the node data for which the user clicked the button
                var fromNode = adorn.adornedPart;
                var fromData = fromNode.data;
                // create a new "State" data object, positioned off to the right of the adorned Node
                var toData = { text: "new" };
                var p = fromNode.location.copy();
                p.x += 200;
                toData.loc = go.Point.stringify(p);  // the "loc" property is a string, not a Point object
                // add the new node data to the model
                var model = diagram.model;
                model.addNodeData(toData);

                // create a link data from the old node data to the new node data
                var linkdata = {
                    from: model.getKeyForNodeData(fromData),  // or just: fromData.id
                    to: model.getKeyForNodeData(toData),
                    text: "transition"
                };
                // and add the link data to the model
                model.addLinkData(linkdata);

                // select the new Node
                var newnode = diagram.findNodeForData(toData);
                diagram.select(newnode);

                diagram.commitTransaction("Add State");

                // if the new node is off-screen, scroll the diagram to show the new node
                diagram.scrollToRect(newnode.actualBounds);
            }

            // replace the default Link template in the linkTemplateMap
            myDiagram.linkTemplate =
              $(go.Link,  // the whole link panel
                { curve: go.Link.Bezier, adjusting: go.Link.Stretch, reshapable: true },
                new go.Binding("curviness", "curviness"),
                new go.Binding("points").makeTwoWay(),
                $(go.Shape,  // the link shape
                  { strokeWidth: 1.5 }),
                $(go.Shape,  // the arrowhead
                  { toArrow: "standard", stroke: null }),
                $(go.Panel, "Auto",
                  $(go.Shape,  // the link shape
                    {
                        fill: $(go.Brush, "Radial",
                                { 0: "rgb(240, 240, 240)", 0.3: "rgb(240, 240, 240)", 1: "rgba(240, 240, 240, 0)" }),
                        stroke: null
                    }),
                  $(go.TextBlock, "transition",  // the label
                    {
                        textAlign: "center",
                        font: "10pt helvetica, arial, sans-serif",
                        stroke: "black",
                        margin: 4,
                        editable: true  // editing the text automatically updates the model data
                    },
                    new go.Binding("text", "text").makeTwoWay())
                )
              );

            // read in the JSON-format data from the "mySavedModel" element
            load();
        }

        // Show the diagram's model in JSON format
        function save() {
            document.getElementById("mySavedModel").value = myDiagram.model.toJson();
            myDiagram.isModified = false;
        }
        function load() {
            myDiagram.model = go.Model.fromJson(document.getElementById("mySavedModel").value);
        }</script></head><body><div id="sample"><div id="myDiagram" style="background-color: whitesmoke; border: solid 1px black; width: 100%; height: 400px"></div><p>
            This sample creates state charts.
            The text is editable for both the nodes and the links.
            The user can draw as many links from one node to another node as desired,
            and the links can be reshaped or deleted when selected.</p><p>
            This sample customizes the <a>Part.selectionAdornmentTemplate</a>
            of the node to a template that contains a button
            The button is positioned to be at the Top-Right corner of the node by
            being in a Spot Panel with its <a>GraphObject.alignment</a> property set to Spot.TopRight.</p><p>
            The Button's <a>GraphObject.click</a> method creates a new node data,
            adds it to the model, and creates a link from the original node data to the new node data.
            All of this is done inside a transaction, so that it can be undone by the user
            (Ctrl+Z and Ctrl+Y will undo and redo transactions).</p><button id="SaveButton" onclick="save()">Save</button><button onclick="load()">Load</button>
        Diagram Model saved in JSON format:<br><textarea id="mySavedModel" style="width:100%;height:300px">
            { "nodeKeyProperty": "id","nodeDataArray": [
            { "id": 0, "loc": "120 120", "text": "Initial" },
            { "id": 1, "loc": "330 120", "text": "First down" },
            { "id": 2, "loc": "226 376", "text": "First up" },
            { "id": 3, "loc": "60 276", "text": "Second down" },
            { "id": 4, "loc": "226 226", "text": "Wait" }
            ],"linkDataArray": [
            { "from": 0, "to": 0, "text": "up or timer", "curviness": -20 },
            { "from": 0, "to": 1, "text": "down", "curviness": 20 },
            { "from": 1, "to": 0, "text": "up (moved)\nPOST", "curviness": 20 },
            { "from": 1, "to": 1, "text": "down", "curviness": -20 },
            { "from": 1, "to": 2, "text": "up (no move)" },
            { "from": 1, "to": 4, "text": "timer" },
            { "from": 2, "to": 0, "text": "timer\nPOST" },
            { "from": 2, "to": 3, "text": "down" },
            { "from": 3, "to": 0, "text": "up\nPOST\n(dblclick\nif no move)" },
            { "from": 3, "to": 3, "text": "down or timer", "curviness": 20 },
            { "from": 4, "to": 0, "text": "up\nPOST" },
            { "from": 4, "to": 4, "text": "down" }
            ]
            }</textarea></div></body></html>


心地好好想你有, 留住處男笑笑口


Viewing all articles
Browse latest Browse all 3527

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>