Browse Source

HUE-938 [oozie] Add reference to action names in decision node

Action names should be displayed in decision node when setting conditions.
Links to modal displays for edition the actions are provided as well.
abec 13 years ago
parent
commit
33ee9ef

+ 1 - 3
apps/oozie/src/oozie/templates/editor/control_utils.mako

@@ -106,9 +106,7 @@
                       ${ _('go to') }
                     </td>
                     <td class="right">
-                      % if 'name' in javascript_attrs:
-                        <a class="span3" data-bind="text: ${ javascript_attrs['name'] }"></a>
-                      % endif
+                      <a class="span3 edit-node-link" data-bind="text: $parent.registry.get(child()).name()"></a>
                     </td>
                   </tr>
                   <!-- /ko -->

+ 23 - 0
apps/oozie/src/oozie/templates/editor/edit_workflow.mako

@@ -585,6 +585,8 @@ var modal = new Modal($('#node-modal'));
 workflow.load();
 
 $('#workflow').on('click', '.edit-node-link', function(e) {
+  modal.hide();
+
   var node = ko.contextFor(this).$data;
   var backup = ko.mapping.toJS(node);
   normalize_model_fields(backup);
@@ -613,6 +615,27 @@ $('#workflow').on('click', '.edit-node-link', function(e) {
   modal.el.on('click', '.close', cancel_edit);
   modal.el.on('click', '.cancelButton', cancel_edit);
   modal.el.on('click', '.doneButton', try_save);
+
+  modal.el.on('click', '.edit-node-link', function(e) {
+    // Switch to clicked action
+    cancel_edit();
+
+    var link = ko.contextFor(this).$data;
+    var parent = ko.contextFor(this).$parent;
+    var node = parent.registry.get(link.child());
+    var backup = ko.mapping.toJS(node);
+    normalize_model_fields(backup);
+
+    modal.setTemplate(node.edit_template);
+    modal.show(node);
+    modal.recenter(280, 250);
+    modal.addDecorations();
+
+    $('.modal-backdrop').on('click', cancel_edit);
+    modal.el.on('click', '.close', cancel_edit);
+    modal.el.on('click', '.cancelButton', cancel_edit);
+    modal.el.on('click', '.doneButton', try_save);
+  });
 });
 
 $('#workflow').on('click', '.new-node-link', function(e) {