소스 검색

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 년 전
부모
커밋
33ee9efa7b
2개의 변경된 파일24개의 추가작업 그리고 3개의 파일을 삭제
  1. 1 3
      apps/oozie/src/oozie/templates/editor/control_utils.mako
  2. 23 0
      apps/oozie/src/oozie/templates/editor/edit_workflow.mako

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