Przeglądaj źródła

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 lat temu
rodzic
commit
33ee9efa7b

+ 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) {