| <!DOCTYPE html> |
| <html> |
| <meta charset="utf-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0"/> |
| <meta name="apple-mobile-web-app-capable" content="yes"> |
| <meta name="mobile-web-app-capable" content="yes"> |
| |
| <!-- |
| Copyright 2013, 2014 IBM Corp. |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <head> |
| <!--<title>Node-RED</title>--> |
| <title>Directed Graph Builder</title> |
| <link href="bootstrap/css/bootstrap.min.css" rel="stylesheet" media="screen"> |
| <link href="jquery/css/smoothness/jquery-ui-1.10.3.custom.min.css" rel="stylesheet" media="screen"> |
| <link rel="stylesheet" type="text/css" href="font-awesome/css/font-awesome.min.css"/> |
| <link rel="stylesheet" href="style.css"> |
| <link rel="stylesheet" href="ace/ace-styles.css"> |
| <script src="ace/ace.js" type="text/javascript" charset="utf-8"></script> |
| <script src="ace/ace-diff.js"></script> |
| <script src="ace/diff_match_patch.js"></script> |
| <script src="ace/mode-json.js"></script> |
| <!-- <script src="ace/mode-javascript.js"></script> --> |
| <script src="ace/mode-xml.js"></script> |
| <!--<script src="ace/theme-dreamweaver.js"></script> --> |
| <script src="ace/theme-eclipse.js"></script> |
| </head> |
| <body spellcheck="false"> |
| <div id="header"> |
| <!--<span class="logo"><img src="node-red.png"> <span>Node-RED</span></span>--> |
| <!--<span class="logo"><img src="node-red.png"> <span>Directed Graph Builder</span></span>--> |
| <span class="logo"><img src="node-red.png"> <span>Directed Graph Builder</span><span id='processingStatusId' ></span></span> |
| <div class="pull-right"> |
| <span id='releaseId' ></span> |
| <a id="btn-deploy" class="button action-deploy disabled" href="#"><i id="btn-icn-deploy" class="fa fa-download"></i>Save</a> |
| <a id="btn-sidemenu" class="button dropdown-toggle" data-toggle="dropdown" href="#"><i class="fa fa-bars"></i></a> |
| </div> |
| </div> |
| <div id="main-container" class="sidebar-closed"> |
| <div id="palette"> |
| <img src="spin.svg" class="palette-spinner"/> |
| <div id="palette-container" class="palette-scroll"> |
| </div> |
| <div id="palette-search"> |
| <i class="fa fa-search"></i><input id="palette-search-input" type="text" placeholder="filter"><a href="#" id="palette-search-clear"><i class="fa fa-times"></i></a></input> |
| </div> |
| </div><!-- /palette --> |
| |
| <div id="workspace"> |
| <ul id="workspace-tabs"></ul> |
| <div id="workspace-add-tab"><a id="btn-workspace-add-tab" href="#"><i class="fa fa-plus"></i></a></div> |
| <div id="chart"></div> |
| <div id="workspace-toolbar"> |
| <div class="btn-group"> |
| <a class="btn btn-small" href="#"><i class="fa fa-search-minus"></i></a> |
| <a class="btn btn-small" href="#"><i class="fa fa-dot-circle-o"></i></a> |
| <a class="btn btn-small" href="#"><i class="fa fa-search-plus"></i></a> |
| </div> |
| </div> |
| </div> |
| |
| <div id="chart-zoom-controls"> |
| <div class="btn-group"> |
| <a class="btn btn-mini" id="btn-zoom-out" href="#"><i class="fa fa-search-minus"></i></a> |
| <a class="btn btn-mini" id="btn-zoom-zero" href="#"><i class="fa fa-dot-circle-o"></i></a> |
| <a class="btn btn-mini" id="btn-zoom-in" href="#"><i class="fa fa-search-plus"></i></a> |
| </div> |
| </div> |
| |
| <div id="sidebar"> |
| <ul id="sidebar-tabs"></ul> |
| <div id="sidebar-content"></div> |
| </div> |
| |
| <div id="sidebar-separator"></div> |
| |
| </div> |
| |
| <div id="notifications"></div> |
| <div id="dropTarget"><div>Drop the flow here<br/><i class="fa fa-download"></i></div></div> |
| |
| <div id="dialog" class="hide"><form id="dialog-form" class="form-horizontal"></form></div> |
| <div id="node-config-dialog" class="hide"><form id="dialog-config-form" class="form-horizontal"></form><div class="form-tips" id="node-config-dialog-user-count"></div></div> |
| |
| <div id="node-dialog-confirm-deploy" class="hide"> |
| <form class="form-horizontal"> |
| <div id="node-dialog-confirm-deploy-config" style="text-align: center; padding-top: 30px;"> |
| Some of the nodes are not properly configured. Are you sure you want to deploy? |
| </div> |
| <div id="node-dialog-confirm-deploy-unknown" style="text-align: center; padding-top: 10px;"> |
| The workspace contains some unknown node types: |
| <ul style="width: 300px; margin: auto; text-align: left;" id="node-dialog-confirm-deploy-unknown-list"></ul> |
| Are you sure you want to deploy? |
| </div> |
| </form> |
| </div> |
| |
| <div id="node-help" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="node-help-label" aria-hidden="true"> |
| <div class="modal-header"> |
| <h5 id="node-help-label">Keyboard Shortcuts <!-- <span style="float: right;"><a href="http://node-red.github.io/docs" target="_blank">Open help in new window »</a></span> --> |
| </h5> |
| </div> |
| <div class="modal-body"> |
| <table> |
| <tr> |
| <td><span class="help-key">Ctrl</span> <span class="help-key">?</span></td><td>Help</td> |
| <td><span class="help-key">Ctrl</span> <span class="help-key">a</span></td><td>Select all nodes</td> |
| </tr> |
| <tr> |
| <td><span class="help-key">Ctrl</span> <span class="help-key">Space</span></td><td>Toggle sidebar</td> |
| <td><span class="help-key">Shift</span> <span class="help-key">Click</span></td><td>Select all connected nodes</td> |
| </tr> |
| <tr> |
| <td><span class="help-key">Ctrl</span> <span class="help-key">z</span></td><td>Undo</td> |
| <td><span class="help-key">Ctrl</span> <span class="help-key">Click</span></td><td>Add/remove node from selection</td> |
| </tr> |
| <tr> |
| <td><span class="help-key">Ctrl</span> <span class="help-key">m</span></td><td>Toggle Node Palette</td> |
| <td><span class="help-key">Delete</span></td><td>Delete selected nodes or link</td> |
| </tr> |
| <tr> |
| <td><span class="help-key">Ctrl</span> <span class="help-key">x</span></td><td>Cut selected nodes</td> |
| <td><span class="help-key">Ctrl</span> <span class="help-key">b</span></td><td>Find Node</td> |
| </tr> |
| <tr> |
| <td><span class="help-key">Ctrl</span> <span class="help-key">o</span></td><td>RPC Input</td> |
| <td></td> |
| </tr> |
| <tr> |
| <td><span class="help-key">Ctrl</span> <span class="help-key">c</span></td><td>Copy selected nodes</td> |
| <td><span class="help-key">Ctrl</span> <span class="help-key">v</span></td><td>Paste nodes</td> |
| </tr> |
| <tr> |
| <td><span class="help-key">Ctrl</span> <span class="help-key">i</span></td><td>Import nodes</td> |
| <td><span class="help-key">Ctrl</span> <span class="help-key">e</span></td><td>Export selected nodes</td> |
| </tr> |
| <tr> |
| <td colspan="2"></td> |
| </tr> |
| <tr> |
| <td><span class="help-key">Ctrl</span> <span class="help-key">+</span></td><td>Zoom in</td> |
| <td><span class="help-key">Ctrl</span> <span class="help-key">-</span></td><td>Zoom out</td> |
| </tr> |
| </table> |
| </div> |
| <div class="modal-footer"> |
| <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button> |
| </div> |
| </div> |
| |
| <div id="node-dialog-library-save-confirm" class="hide"> |
| <form class="form-horizontal"> |
| <div style="text-align: center; padding-top: 30px;"> |
| A <span id="node-dialog-library-save-type"></span> called <span id="node-dialog-library-save-name"></span> already exists. Overwrite? |
| </div> |
| </form> |
| </div> |
| |
| <div id="node-dialog-library-save" class="hide"> |
| <form class="form-horizontal"> |
| <div class="form-row"> |
| <label for="node-dialog-library-save-folder"><i class="fa fa-folder-open"></i> Folder</label> |
| <input type="text" id="node-dialog-library-save-folder" placeholder="Folder"> |
| </div> |
| <div class="form-row"> |
| <label for="node-dialog-library-save-filename"><i class="fa fa-file"></i> Filename</label> |
| <input type="text" id="node-dialog-library-save-filename" placeholder="Filename"> |
| </div> |
| </form> |
| </div> |
| |
| <div id="node-dialog-library-lookup" class="hide"> |
| <form class="form-horizontal"> |
| <div class="form-row"> |
| <ul id="node-dialog-library-breadcrumbs" class="breadcrumb"> |
| <li class="active"><a href="#">Library</a></li> |
| </ul> |
| </div> |
| <div class="form-row"> |
| <div style="vertical-align: top; display: inline-block; height: 100%; width: 30%; padding-right: 20px;"> |
| <div id="node-select-library" style="border: 1px solid #999; width: 100%; height: 100%; overflow:scroll;"><ul></ul></div> |
| </div> |
| <div style="vertical-align: top; display: inline-block;width: 65%; height: 100%;"> |
| <div style="height: 100%; width: 95%;" class="node-text-editor" id="node-select-library-text" ></div> |
| </div> |
| </div> |
| </form> |
| </div> |
| <div id="node-dialog-rename-workspace" class="hide"> |
| <form class="form-horizontal"> |
| <div class="form-row"> |
| <label for="node-input-workspace-name" ><i class="fa fa-tag"></i> Name:</label> |
| <input type="text" id="node-input-workspace-name"> |
| </div> |
| </form> |
| </div> |
| <div id="node-dialog-delete-workspace" class="hide"> |
| <form class="form-horizontal"> |
| <div style="text-align: center; padding-top: 30px;"> |
| Are you sure you want to delete '<span id="node-dialog-delete-workspace-name"></span>'? |
| </div> |
| </form> |
| </div> |
| <div id="xmldialog" class="hide"></div> |
| <div id="filter-tabs-dialog" class="hide"></div> |
| <div id="loop-detection-dialog" class="hide"></div> |
| <div id="dgnumber-find-dialog" class="hide"></div> |
| <div id="search-text-dialog" class="hide"></div> |
| <div id="dgstart-generate-xml-dialog" class="hide"></div> |
| <div id="update-password-dialog" class="hide"></div> |
| <div id="update-configuration-dialog" class="hide"></div> |
| <div id="dgflow-browser-dialog" class="hide"></div> |
| <div id="codecloud-browser-dialog" class="hide"></div> |
| <div id="gitlocal-browser-dialog" class="hide"></div> |
| <div id="gitcommands-dialog" class="hide"></div> |
| <div id="upload-xml-status-dialog" class="hide"></div> |
| <div id="flow-design-err-dialog" class="hide"></div> |
| <div id="sli-values-dialog" class="hide"></div> |
| <div id="comments-dialog" class="hide"></div> |
| <div id="show-errors-dialog" class="hide"></div> |
| <div id="yang-upload-dialog" class="hide"></div> |
| <div id="yang-modules-browser-dialog" class="hide"></div> |
| <div id="list-yang-browser-dialog" class="hide"></div> |
| <div id="request-input-dialog" class="hide"></div> |
| <div id="test-dg-dialog" class="hide"></div> |
| <div id="ctx-values-dialog" class="hide"></div> |
| <div id="list-input-browser-dialog" class="hide"></div> |
| <div id="diff-browser-dialog" class="hide"></div> |
| |
| <script type="text/x-red" data-template-name="export-clipboard-dialog"> |
| <div class="form-row"> |
| <label for="node-input-export" style="display: block; width:100%;"><i class="fa fa-clipboard"></i> Nodes:</label> |
| <textarea readonly style="font-family: monospace; font-size: 12px; background:rgb(226, 229, 255); padding-left: 0.5em;" class="input-block-level" id="node-input-export" rows="5"></textarea> |
| </div> |
| <div class="form-tips"> |
| Select the text above and copy to the clipboard with Ctrl-A Ctrl-C. |
| </div> |
| </script> |
| <script type="text/x-red" data-template-name="export-library-dialog"> |
| <div class="form-row"> |
| <label for="node-input-filename" ><i class="fa fa-file"></i> Filename:</label> |
| <input type="text" id="node-input-filename" placeholder="Filename"> |
| </div> |
| </script> |
| <script type="text/x-red" data-template-name="import-dialog"> |
| <div class="form-row"> |
| <label for="node-input-import"><i class="fa fa-clipboard"></i> Nodes:</label> |
| <textarea style="font-family: monospace; font-size: 12px; background:rgb(226, 229, 255); padding-left: 0.5em;" class="input-block-level" id="node-input-import" rows="5" placeholder="Paste nodes here"></textarea> |
| </div> |
| </script> |
| |
| <script src="jquery/js/jquery-1.11.1.min.js"></script> |
| <script src="bootstrap/js/bootstrap.min.js"></script> |
| <script src="jquery/js/jquery-ui-1.10.3.custom.min.js"></script> |
| <script src="jquery/js/jquery.ui.touch-punch.min.js"></script> |
| <script src="d3.v3.min.js"></script> |
| |
| <script src="red/main.js"></script> |
| <script src="red/comms.js"></script> |
| <script src="red/ui/state.js"></script> |
| <script src="red/nodes.js"></script> |
| <script src="red/history.js"></script> |
| <script src="red/validators.js"></script> |
| <script src="red/ui/menu.js"></script> |
| <script src="red/ui/keyboard.js"></script> |
| <script src="red/ui/tabs.js"></script> |
| <script src="red/ui/view.js"></script> |
| <script src="red/ui/sidebar.js"></script> |
| <script src="red/ui/palette.js"></script> |
| <script src="red/ui/tab-info.js"></script> |
| <script src="red/ui/tab-config.js"></script> |
| <script src="red/ui/editor.js"></script> |
| <script src="red/ui/library.js"></script> |
| <script src="red/ui/notifications.js"></script> |
| <script src="red/ui/touch/radialMenu.js"></script> |
| |
| |
| <script lang="javascript"> |
| $(function() { |
| RED.keyboard.add(/* M */ 77,{ctrl:true},function(){RED.menu.setSelected("btn-node-panel",!RED.menu.isSelected("btn-node-panel"));d3.event.preventDefault();}); |
| RED.menu.setSelected("btn-node-panel",true); |
| }); |
| var format_xml = "Y"; |
| var format_json = "Y"; |
| var sliValuesObj = {}; |
| var rpcValues = {}; |
| var reqInputValues = {}; |
| $(function(){ |
| $.get("/initialLoadSelectedModules") |
| .done(function( data ) { |
| //console.dir(data); |
| if(data != undefined && data != null){ |
| for(var i=0;i<data.sliValuesObj.length;i++){ |
| var moduleName = data.sliValuesObj[i].moduleName; |
| //console.dir(data.sliValuesObj[i][ moduleName + '_PROPS']); |
| //console.dir(data.sliValuesObj[i][moduleName + '_RPCS']); |
| sliValuesObj[moduleName] = data.sliValuesObj[i][moduleName + '_PROPS']; |
| rpcValues[moduleName] = data.sliValuesObj[i][ moduleName +'_RPCS']; |
| for(var k=0;rpcValues[moduleName] != undefined && k<rpcValues[moduleName].length;k++){ |
| var rpcName = rpcValues[moduleName][k]; |
| reqInputValues[moduleName + "_" + rpcName] = data.sliValuesObj[i][rpcName +"-input"]; |
| } |
| } |
| } |
| |
| }) |
| .fail(function(err) { |
| console.dir(err); |
| }) |
| .always(function() { |
| }); |
| }); |
| |
| </script> |
| <script> |
| $(document).ready(function() { |
| |
| var urlPath="/getRelease"; |
| $.get(urlPath) |
| .done(function( data ) { |
| //console.dir(data); |
| if(data != undefined && data != null){ |
| var release = data.release; |
| //document.title +=" " + release; |
| $("#releaseId").text("Workspace:" + release); |
| $("#releaseId").css({color:'lightgrey'}); |
| |
| } |
| }) |
| .fail(function(err) { |
| }) |
| .always(function() { |
| }); |
| }); |
| |
| $.get("/getCurrentSettings") |
| .done(function( data ) { |
| //console.dir(data); |
| if(data != undefined && data != null){ |
| format_xml = data.formatXML; |
| format_json = data.formatJSON; |
| } |
| }) |
| .fail(function(err) { |
| }) |
| .always(function() { |
| }); |
| |
| </script> |
| </body> |
| </html> |