Procházet zdrojové kódy

[oozie] Hide extra dropping target right after fork and before join

Enrico Berti před 11 roky
rodič
revize
3eb1ed1

+ 2 - 2
apps/oozie/src/oozie/templates/editor/workflow_editor.mako

@@ -213,10 +213,10 @@ ${ commonheader(_("Workflow Editor"), "Oozie", user) | n,unicode }
 
 <script type="text/html" id="internal-row-template">
   <div class="container-fluid">
-    <div class="row-fluid" data-bind="visible: $index() > 0 && $root.isEditing()" style="margin-bottom: 10px">
+    <div class="row-fluid" data-bind="visible: $index() > 0 && $root.isEditing() && ! $root.isRowBeforeJoin($data) && ! $root.isRowAfterFork($data)" style="margin-bottom: 10px">
       <div data-bind="css: {'span1': true, 'readonly': ! $root.isEditing()}"></div>
       <div data-bind="css: {'span10': true, 'readonly': ! $root.isEditing()}">
-        <div data-bind="visible: $root.isEditing(), css: {'drop-target': true, 'is-editing': $root.isEditing}, droppable: {enabled: $root.isEditing, onDrop: function(){ var _w = $root.addDraggedWidget($data, true); widgetDraggedAdditionalHandler(_w); } }"></div>
+        <div style="text-align: left" data-bind="visible: $root.isEditing(), css: {'drop-target': true, 'is-editing': $root.isEditing}, droppable: {enabled: $root.isEditing, onDrop: function(){ var _w = $root.addDraggedWidget($data, true); widgetDraggedAdditionalHandler(_w); } }"></div>
       </div>
       <div data-bind="css: {'span1': true, 'readonly': ! $root.isEditing()}"></div>
     </div>

+ 20 - 0
apps/oozie/static/js/workflow-editor.ko.js

@@ -615,6 +615,26 @@ var WorkflowEditorViewModel = function (layout_json, workflow_json, credentials_
     return self.getWidgetRelative(widget_id, false);
   }
 
+  self.isRowAfterFork = function (row) {
+    var _parentColumn = self.getRowParentColumn(row.id());
+    var _prevRow = null;
+    for (var i = 0; i < _parentColumn.rows().length; i++) {
+      var _currentRow = _parentColumn.rows()[i];
+      if (_currentRow.id() == row.id()){
+        break;
+      }
+      _prevRow = _currentRow;
+    }
+    if (_prevRow != null){
+      return _prevRow.widgets().length > 0 && _prevRow.widgets()[0].widgetType() == "fork-widget";
+    }
+    return false;
+  }
+
+  self.isRowBeforeJoin = function (row) {
+    return row.widgets().length > 0 && row.widgets()[0].widgetType() == "join-widget";
+  }
+
   self.getWidgetParentRow = function (widget_id) {
     var _row = null;
     for (var i = 0; i < self.columns().length; i++) {