removed dependency on built-editor.min.js
[ccsdk/distribution.git] / dgbuilder / public / index.html
1 <!DOCTYPE html>
2 <html>
3 <meta charset="utf-8">
4 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0"/>
5 <meta name="apple-mobile-web-app-capable" content="yes">
6 <meta name="mobile-web-app-capable" content="yes">
7
8 <!--
9   Copyright 2013, 2014 IBM Corp.
10
11   Licensed under the Apache License, Version 2.0 (the "License");
12   you may not use this file except in compliance with the License.
13   You may obtain a copy of the License at
14
15   http://www.apache.org/licenses/LICENSE-2.0
16
17   Unless required by applicable law or agreed to in writing, software
18   distributed under the License is distributed on an "AS IS" BASIS,
19   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20   See the License for the specific language governing permissions and
21   limitations under the License.
22 -->
23 <head>
24 <!--<title>Node-RED</title>-->
25 <title>Directed Graph Builder</title>
26 <link href="bootstrap/css/bootstrap.min.css" rel="stylesheet" media="screen">
27 <link href="jquery/css/smoothness/jquery-ui-1.10.3.custom.min.css" rel="stylesheet" media="screen">
28 <link rel="stylesheet" type="text/css" href="font-awesome/css/font-awesome.min.css"/>
29 <link rel="stylesheet" href="style.css">
30 <link rel="stylesheet" href="ace/ace-styles.css">
31 <script src="ace/ace.js" type="text/javascript" charset="utf-8"></script>
32 <script src="ace/mode-json.js"></script> 
33 </head>
34 <body spellcheck="false">
35 <div id="header">
36     <!--<span class="logo"><img src="node-red.png"> <span>Node-RED</span></span>-->
37     <!--<span class="logo"><img src="node-red.png"> <span>Directed Graph Builder</span></span>-->
38     <span class="logo"><img src="node-red.png"> <span>Directed Graph Builder</span><span id='processingStatusId' ></span></span>
39     <div class="pull-right">
40         <span id='releaseId' ></span>
41         <a id="btn-deploy" class="button action-deploy disabled" href="#"><i id="btn-icn-deploy" class="fa fa-download"></i>Save</a>
42         <a id="btn-sidemenu" class="button dropdown-toggle" data-toggle="dropdown" href="#"><i class="fa fa-bars"></i></a>
43     </div>
44 </div>
45 <div id="main-container" class="sidebar-closed">
46     <div id="palette">
47         <img src="spin.svg" class="palette-spinner"/>
48         <div id="palette-container" class="palette-scroll">
49         </div>
50         <div id="palette-search">
51             <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>
52         </div>
53     </div><!-- /palette -->
54
55     <div id="workspace">
56         <ul id="workspace-tabs"></ul>
57         <div id="workspace-add-tab"><a id="btn-workspace-add-tab" href="#"><i class="fa fa-plus"></i></a></div>
58         <div id="chart"></div>
59         <div id="workspace-toolbar">
60             <div class="btn-group">
61                 <a class="btn btn-small" href="#"><i class="fa fa-search-minus"></i></a>
62                 <a class="btn btn-small" href="#"><i class="fa fa-dot-circle-o"></i></a>
63                 <a class="btn btn-small" href="#"><i class="fa fa-search-plus"></i></a>
64             </div>
65         </div>
66     </div>
67
68     <div id="chart-zoom-controls">
69         <div class="btn-group">
70             <a class="btn btn-mini" id="btn-zoom-out" href="#"><i class="fa fa-search-minus"></i></a>
71             <a class="btn btn-mini" id="btn-zoom-zero" href="#"><i class="fa fa-dot-circle-o"></i></a>
72             <a class="btn btn-mini" id="btn-zoom-in" href="#"><i class="fa fa-search-plus"></i></a>
73         </div>
74     </div>
75
76     <div id="sidebar">
77         <ul id="sidebar-tabs"></ul>
78         <div id="sidebar-content"></div>
79     </div>
80
81     <div id="sidebar-separator"></div>
82
83 </div>
84
85 <div id="notifications"></div>
86 <div id="dropTarget"><div>Drop the flow here<br/><i class="fa fa-download"></i></div></div>
87
88 <div id="dialog" class="hide"><form id="dialog-form" class="form-horizontal"></form></div>
89 <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>
90
91 <div id="node-dialog-confirm-deploy" class="hide">
92     <form class="form-horizontal">
93         <div id="node-dialog-confirm-deploy-config" style="text-align: center; padding-top: 30px;">
94          Some of the nodes are not properly configured. Are you sure you want to deploy?
95         </div>
96         <div id="node-dialog-confirm-deploy-unknown" style="text-align: center; padding-top: 10px;">
97          The workspace contains some unknown node types:
98          <ul style="width: 300px; margin: auto; text-align: left;" id="node-dialog-confirm-deploy-unknown-list"></ul>
99          Are you sure you want to deploy?
100         </div>
101     </form>
102 </div>
103
104 <div id="node-help" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="node-help-label" aria-hidden="true">
105   <div class="modal-header">
106     <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 &raquo;</a></span> -->
107 </h5>
108   </div>
109   <div class="modal-body">
110     <table>
111         <tr>
112           <td><span class="help-key">Ctrl</span> <span class="help-key">?</span></td><td>Help</td>
113           <td><span class="help-key">Ctrl</span> <span class="help-key">a</span></td><td>Select all nodes</td>
114         </tr>
115         <tr>
116           <td><span class="help-key">Ctrl</span> <span class="help-key">Space</span></td><td>Toggle sidebar</td>
117           <td><span class="help-key">Shift</span> <span class="help-key">Click</span></td><td>Select all connected nodes</td>
118         </tr>
119         <tr>
120           <td><span class="help-key">Ctrl</span> <span class="help-key">z</span></td><td>Undo</td>
121           <td><span class="help-key">Ctrl</span> <span class="help-key">Click</span></td><td>Add/remove node from selection</td>
122         </tr>
123         <tr>
124           <td><span class="help-key">Ctrl</span> <span class="help-key">m</span></td><td>Toggle Node Palette</td>
125           <td><span class="help-key">Delete</span></td><td>Delete selected nodes or link</td>
126         </tr>
127         <tr>
128           <td><span class="help-key">Ctrl</span> <span class="help-key">x</span></td><td>Cut selected nodes</td>
129           <td><span class="help-key">Ctrl</span> <span class="help-key">b</span></td><td>Find Node</td>
130         </tr>
131         <tr>
132           <td><span class="help-key">Ctrl</span> <span class="help-key">o</span></td><td>RPC Input</td>
133         <td></td>       
134         </tr>
135         <tr>
136           <td><span class="help-key">Ctrl</span> <span class="help-key">c</span></td><td>Copy selected nodes</td>
137           <td><span class="help-key">Ctrl</span> <span class="help-key">v</span></td><td>Paste nodes</td>
138         </tr>
139         <tr>
140           <td><span class="help-key">Ctrl</span> <span class="help-key">i</span></td><td>Import nodes</td>
141           <td><span class="help-key">Ctrl</span> <span class="help-key">e</span></td><td>Export selected nodes</td>
142         </tr>
143         <tr>
144           <td colspan="2"></td>
145         </tr>
146         <tr>
147           <td><span class="help-key">Ctrl</span> <span class="help-key">+</span></td><td>Zoom in</td>
148           <td><span class="help-key">Ctrl</span> <span class="help-key">-</span></td><td>Zoom out</td>
149         </tr>
150     </table>
151   </div>
152   <div class="modal-footer">
153     <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
154   </div>
155 </div>
156
157 <div id="node-dialog-library-save-confirm" class="hide">
158     <form class="form-horizontal">
159         <div style="text-align: center; padding-top: 30px;">
160          A <span id="node-dialog-library-save-type"></span> called <span id="node-dialog-library-save-name"></span> already exists. Overwrite?
161         </div>
162     </form>
163 </div>
164
165 <div id="node-dialog-library-save" class="hide">
166     <form class="form-horizontal">
167         <div class="form-row">
168             <label for="node-dialog-library-save-folder"><i class="fa fa-folder-open"></i> Folder</label>
169             <input type="text" id="node-dialog-library-save-folder" placeholder="Folder">
170         </div>
171         <div class="form-row">
172             <label for="node-dialog-library-save-filename"><i class="fa fa-file"></i> Filename</label>
173             <input type="text" id="node-dialog-library-save-filename" placeholder="Filename">
174         </div>
175     </form>
176 </div>
177
178 <div id="node-dialog-library-lookup" class="hide">
179     <form class="form-horizontal">
180         <div class="form-row">
181             <ul id="node-dialog-library-breadcrumbs" class="breadcrumb">
182                 <li class="active"><a href="#">Library</a></li>
183             </ul>
184         </div>
185         <div class="form-row">
186             <div style="vertical-align: top; display: inline-block; height: 100%; width: 30%; padding-right: 20px;">
187                 <div id="node-select-library" style="border: 1px solid #999; width: 100%; height: 100%; overflow:scroll;"><ul></ul></div>
188             </div>
189             <div style="vertical-align: top; display: inline-block;width: 65%; height: 100%;">
190                 <div style="height: 100%; width: 95%;" class="node-text-editor" id="node-select-library-text" ></div>
191             </div>
192         </div>
193     </form>
194 </div>
195 <div id="node-dialog-rename-workspace" class="hide">
196     <form class="form-horizontal">
197         <div class="form-row">
198             <label for="node-input-workspace-name" ><i class="fa fa-tag"></i> Name:</label>
199             <input type="text" id="node-input-workspace-name">
200         </div>
201     </form>
202 </div>
203 <div id="node-dialog-delete-workspace" class="hide">
204     <form class="form-horizontal">
205         <div style="text-align: center; padding-top: 30px;">
206          Are you sure you want to delete '<span id="node-dialog-delete-workspace-name"></span>'?
207         </div>
208     </form>
209 </div>
210 <div id="xmldialog" class="hide"></div>
211 <div id="filter-tabs-dialog" class="hide"></div>
212 <div id="loop-detection-dialog" class="hide"></div>
213 <div id="dgnumber-find-dialog" class="hide"></div>
214 <div id="search-text-dialog" class="hide"></div>
215 <div id="dgstart-generate-xml-dialog" class="hide"></div>
216 <div id="update-password-dialog" class="hide"></div>
217 <div id="update-configuration-dialog" class="hide"></div>
218 <div id="dgflow-browser-dialog" class="hide"></div>
219 <div id="codecloud-browser-dialog" class="hide"></div>
220 <div id="gitlocal-browser-dialog" class="hide"></div>
221 <div id="gitcommands-dialog" class="hide"></div>
222 <div id="upload-xml-status-dialog" class="hide"></div>
223 <div id="flow-design-err-dialog" class="hide"></div>
224 <div id="sli-values-dialog" class="hide"></div>
225 <div id="comments-dialog" class="hide"></div>
226 <div id="show-errors-dialog" class="hide"></div>
227 <div id="yang-upload-dialog" class="hide"></div>
228 <div id="yang-modules-browser-dialog" class="hide"></div>
229 <div id="list-yang-browser-dialog" class="hide"></div>
230 <div id="request-input-dialog" class="hide"></div>
231 <div id="test-dg-dialog" class="hide"></div>
232 <div id="ctx-values-dialog" class="hide"></div>
233 <div id="list-input-browser-dialog" class="hide"></div>
234 <div id="diff-browser-dialog" class="hide"></div>
235
236 <script type="text/x-red" data-template-name="export-clipboard-dialog">
237     <div class="form-row">
238         <label for="node-input-export" style="display: block; width:100%;"><i class="fa fa-clipboard"></i> Nodes:</label>
239         <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>
240     </div>
241     <div class="form-tips">
242         Select the text above and copy to the clipboard with Ctrl-A Ctrl-C.
243     </div>
244 </script>
245 <script type="text/x-red" data-template-name="export-library-dialog">
246     <div class="form-row">
247         <label for="node-input-filename" ><i class="fa fa-file"></i> Filename:</label>
248         <input type="text" id="node-input-filename" placeholder="Filename">
249     </div>
250 </script>
251 <script type="text/x-red" data-template-name="import-dialog">
252     <div class="form-row">
253         <label for="node-input-import"><i class="fa fa-clipboard"></i> Nodes:</label>
254         <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>
255     </div>
256 </script>
257
258 <script src="jquery/js/jquery-1.11.1.min.js"></script>
259 <script src="bootstrap/js/bootstrap.min.js"></script>
260 <script src="jquery/js/jquery-ui-1.10.3.custom.min.js"></script>
261 <script src="jquery/js/jquery.ui.touch-punch.min.js"></script>
262 <script src="d3.v3.min.js"></script>
263
264 <script src="red/main.js"></script>
265 <script src="red/comms.js"></script>
266 <script src="red/ui/state.js"></script>
267 <script src="red/nodes.js"></script>
268 <script src="red/history.js"></script>
269 <script src="red/validators.js"></script>
270 <script src="red/ui/menu.js"></script>
271 <script src="red/ui/keyboard.js"></script>
272 <script src="red/ui/tabs.js"></script>
273 <script src="red/ui/view.js"></script>
274 <script src="red/ui/sidebar.js"></script>
275 <script src="red/ui/palette.js"></script>
276 <script src="red/ui/tab-info.js"></script>
277 <script src="red/ui/tab-config.js"></script>
278 <script src="red/ui/editor.js"></script>
279 <script src="red/ui/library.js"></script>
280 <script src="red/ui/notifications.js"></script>
281 <script src="red/ui/touch/radialMenu.js"></script>
282
283
284 <script lang="javascript">
285  $(function() {
286         RED.keyboard.add(/* M */ 77,{ctrl:true},function(){RED.menu.setSelected("btn-node-panel",!RED.menu.isSelected("btn-node-panel"));d3.event.preventDefault();});
287         RED.menu.setSelected("btn-node-panel",true);
288     });
289 var format_xml = "Y";
290 var format_json = "Y";
291 var sliValuesObj = {};
292 var rpcValues = {};
293 var reqInputValues = {};
294 $(function(){
295  $.get("/initialLoadSelectedModules")
296         .done(function( data ) {
297                 //console.dir(data);
298                 if(data != undefined && data != null){
299                       for(var i=0;i<data.sliValuesObj.length;i++){
300                                 var moduleName = data.sliValuesObj[i].moduleName;       
301                                 //console.dir(data.sliValuesObj[i][ moduleName + '_PROPS']);
302                                 //console.dir(data.sliValuesObj[i][moduleName + '_RPCS']);
303                                 sliValuesObj[moduleName] = data.sliValuesObj[i][moduleName + '_PROPS'];
304                                 rpcValues[moduleName] = data.sliValuesObj[i][ moduleName +'_RPCS'];
305                                 for(var k=0;rpcValues[moduleName] != undefined && k<rpcValues[moduleName].length;k++){
306                                         var rpcName = rpcValues[moduleName][k];
307                                         reqInputValues[moduleName + "_" + rpcName] = data.sliValuesObj[i][rpcName +"-input"];
308                                 }
309                         }
310                 }
311
312         })
313         .fail(function(err) {
314                 console.dir(err);
315         })
316         .always(function() {
317         });
318 });
319
320 </script>
321 <script>
322  $(document).ready(function() {
323
324 var urlPath="/getRelease";
325         $.get(urlPath)
326         .done(function( data ) {
327                 //console.dir(data);
328                 if(data != undefined && data != null){
329                         var release = data.release;
330                         //document.title +=" " + release;
331                         $("#releaseId").text("Workspace:" + release);
332                         $("#releaseId").css({color:'lightgrey'});
333                         
334                 }
335         })
336         .fail(function(err) {
337         })
338         .always(function() {
339         });
340 });
341
342 $.get("/getCurrentSettings")
343         .done(function( data ) {
344                 //console.dir(data);
345                 if(data != undefined && data != null){
346                         format_xml = data.formatXML;    
347                         format_json = data.formatJSON;  
348                 }
349         })
350         .fail(function(err) {
351         })
352         .always(function() {
353         });
354
355 </script>
356 </body>
357 </html>