removed dependency on built-editor.min.js
[ccsdk/distribution.git] / dgbuilder / nodes / dge / dgelogic / delete.html
1 <!--
2   Copyright 2013 IBM Corp.
3
4   Licensed under the Apache License, Version 2.0 (the "License");
5   you may not use this file except in compliance with the License.
6   You may obtain a copy of the License at
7
8   http://www.apache.org/licenses/LICENSE-2.0
9
10   Unless required by applicable law or agreed to in writing, software
11   distributed under the License is distributed on an "AS IS" BASIS,
12   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   See the License for the specific language governing permissions and
14   limitations under the License.
15 -->
16
17 <script type="text/x-red" data-template-name="delete">
18     <div class="form-row">
19         <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
20         <input type="text" id="node-input-name" placeholder="Name">
21     </div>
22     <div class="form-row">
23         <label for="node-input-xml"><i class="fa fa-wrench"></i> Node XML</label>
24         <input type="hidden" id="node-input-xml" autofocus="autofocus">
25         <div style="height: 450px;" class="node-text-editor" id="node-input-xml-editor" onkeyup="resetStatus()" ></div>
26     </div>
27     <div class="form-row">
28     <a href="#" class="btn btn-mini" id="node-input-validate" style="margin-top: 4px;"><b>Validate XML</b></a>
29     <a href="#" class="btn btn-mini" id="node-input-show-sli-values" style="margin-top: 4px;"><b>Show Values</b></a> 
30     <input type="hidden" id="node-input-comments">
31     <a href="#" class="btn btn-mini" id="node-input-btnComments" style="margin-top: 4px;"><b>Add Comments</b></a>
32     <div id="node-validate-result" class="form-tips" style="float:right;font-size:10px"></div>
33     </div>
34     <div class="form-tips">See the Info tab for help using this node.</div>
35 </script>
36
37 <script type="text/x-red" data-help-name="delete">
38         <p>A delete node.</p>
39         <p>Name can be anything.</p>
40         <p>Do not include closing tag - it will be automatically generated.</p>
41
42 <div class="section">
43 <h4><a name="Delete_node"></a>Delete node</h4>
44 <div class="section">
45 <h5><a name="Description"></a>Description</h5>
46 <p>A <b>delete</b> node is used to delete a resource from the local resource inventory.</p></div>
47 <div class="section">
48 <h5><a name="Attributes"></a>Attributes</h5>
49 <table border="1" class="table table-striped">
50 <tr class="a">
51 <td align="center"><b>plugin</b></td>
52 <td align="left">Fully qualified Java class of resource adaptor to be used</td></tr>
53 <tr class="b">
54 <td align="center"><b>resource</b></td>
55 <td align="left">Type of resource to delete</td></tr>
56 <tr class="a">
57 <td align="center"><b>key</b></td>
58 <td align="left">SQL-like string specifying key to delete</td></tr></table></div>
59 <div class="section">
60 <h5><a name="Parameters"></a>Parameters</h5>
61 <p>None</p></div>
62 <div class="section">
63 <h5><a name="Outcomes"></a>Outcomes</h5>
64 <table border="1" class="table table-striped">
65 <tr class="a">
66 <td align="center"><b>success</b></td>
67 <td align="left">Resource specified deleted successfully.</td></tr>
68 <tr class="b">
69 <td align="center"><i>failure</i>&gt;</td>
70 <td align="left">Resource specified was not deleted</td></tr></table></div>
71 <div class="section">
72 <h5><a name="Example"></a>Example</h5>
73 <div class="source">
74 <pre>&lt;delete plugin=&quot;org.onap.ccsdk.sli.resource.samplesvc.SampleServiceResource&quot;
75         resource=&quot;ase-port&quot;
76         key=&quot;uni_circuit_id == $uni-circuit-id&quot;&gt;
77   &lt;outcome value=&quot;true&quot;&gt;
78     &lt;return status=&quot;success&quot;/&gt;
79   &lt;/outcome&gt;
80   &lt;outcome value=&quot;false&quot;&gt;
81     &lt;return status=&quot;failure&quot;/&gt;
82   &lt;/outcome&gt;
83 &lt;/delete&gt;</pre></div></div></div>
84         
85
86 </script>
87
88
89 <script type="text/javascript">
90     RED.nodes.registerType('delete',{
91         color:"#fdd0a2",
92         category: 'DGElogic',
93         defaults: {
94             name: {value:"delete"},
95             xml: {value:"<delete plugin='' resource='' key=''>\n"},
96             comments:{value:""},        
97             outputs: {value:1}
98         },
99         inputs:1,
100         outputs:1,
101         icon: "arrow-in.png",
102         label: function() {
103             return this.name;
104         },
105         oneditprepare: function() {
106             var that = this;
107             $( "#node-input-outputs" ).spinner({
108                 min:1
109             });
110              var comments = $( "#node-input-comments").val();
111              if(comments != null){
112                 comments = comments.trim();
113                 if(comments != ''){
114                         $("#node-input-btnComments").html("<span style='color:blue;'><b>View Comments</b></span>");
115                 }
116              }
117
118             function functionDialogResize() {
119                 var rows = $("#dialog-form>div:not(.node-text-editor-row)");
120                 var height = $("#dialog-form").height();
121                 for (var i=0;i<rows.size();i++) {
122                     height -= $(rows[i]).outerHeight(true);
123                 }
124                 var editorRow = $("#dialog-form>div.node-text-editor-row");
125                 height -= (parseInt(editorRow.css("marginTop"))+parseInt(editorRow.css("marginBottom")));
126                 $(".node-text-editor").css("height",height+"px");
127                 that.editor.resize();
128             };
129             $( "#dialog" ).on("dialogresize", functionDialogResize);
130             $( "#dialog" ).one("dialogopen", function(ev) {
131                 var size = $( "#dialog" ).dialog('option','sizeCache-function');
132                 if (size) {
133                     $("#dialog").dialog('option','width',size.width);
134                     $("#dialog").dialog('option','height',size.height);
135                     functionDialogResize();
136                 }
137             });
138             $( "#dialog" ).one("dialogclose", function(ev,ui) {
139                 var height = $( "#dialog" ).dialog('option','height');
140                 $( "#dialog" ).off("dialogresize",functionDialogResize);
141             });
142
143             this.editor = RED.editor.createEditor({
144                 id: 'node-input-xml-editor',
145                 mode: 'ace/mode/html'
146             });
147             this.editor.setValue($("#node-input-xml").val(),-1);
148         /*      
149             RED.library.create({
150                 url:"functions", // where to get the data from
151                 type:"function", // the type of object the library is for
152                 editor:this.editor, // the field name the main text body goes to
153                 mode:"ace/mode/html",
154                 fields:['name','outputs']
155             });
156         */
157             this.editor.focus();
158             /* close dialog when ESC is pressed and released */ 
159             $( "#node-input-xml-editor" ).keyup(function(event){
160                 if(event.which == 27 ) {
161                         $("#node-dialog-cancel").click();
162                 }
163             }); 
164                 $("#node-input-validate").click(function(){
165                                 console.log("validate clicked.");
166                                 //console.dir(that.editor);
167                                 //console.log("getText:" + that.editor.getText());
168                                 var val = that.editor.getValue();
169                                 validateXML(val); 
170                 });
171                 $("#node-input-show-sli-values").click(function(){
172                         //console.log("show Values clicked.");
173                         showValuesBox(that.editor,sliValuesObj);
174                 });
175             //for click of add comments button
176             $("#node-input-btnComments").click(function(e){
177                         showCommentsBox();
178             }); 
179         },
180         oneditsave: function() {
181             $("#node-input-xml").val(this.editor.getValue());
182                 var resp=validateXML(this.editor.getValue());
183                 if(resp){
184                         this.status = {fill:"green",shape:"dot",text:"OK"};
185                 }else{
186                         this.status = {fill:"red",shape:"dot",text:"ERROR"};
187                 }       
188                 delete this.editor;
189         }
190     });
191 </script>