ソースを参照

[oozie] Cleaning up the UI

Removing unused buttons
Moving toggle for now into Settings and do not persist its state
Adding links to script files when possible
Romain Rigaux 11 年 前
コミット
8660e83c6b

+ 13 - 19
apps/oozie/src/oozie/templates/editor/workflow_editor.mako

@@ -142,20 +142,7 @@ ${ commonheader(_("Workflow Editor"), "Oozie", user, "40px") | n,unicode }
 
 <div class="search-bar">
   <div class="pull-right" style="padding-right:50px">
-    [
-    <a title="${ _('Gen XML') }" rel="tooltip" data-placement="bottom" data-bind="click: gen_xml, css: {'btn': true}">
-      <i class="fa fa-fw fa-file-code-o"></i>
-    </a>
-    <a title="${ _('Import workflows') }" rel="tooltip" data-placement="bottom" data-bind="click: import_workflows, css: {'btn': true}">
-      <i class="fa fa-fw fa-download"></i>
-    </a>
-    <a title="${ _('Toggle arrows') }" rel="tooltip" data-placement="bottom" data-bind="click: toggleArrows, css: {'btn': true, 'btn-inverse': hasArrows}">
-      <i class="fa fa-fw fa-long-arrow-down"></i>
-    </a>
-    ]
 
-    &nbsp;&nbsp;&nbsp;
-    
     <a title="${ _('Submit') }" rel="tooltip" data-placement="bottom" data-bind="click: showSubmitPopup, css: {'btn': true}">
       <i class="fa fa-fw fa-play"></i>
     </a>
@@ -329,8 +316,10 @@ ${ commonheader(_("Workflow Editor"), "Oozie", user, "40px") | n,unicode }
 </script>
 
 <script type="text/html" id="widget-template">
-  <div data-bind="attr: {'id': 'wdg_'+ id(),}, css: klass() + (ooziePropertiesExpanded()?' expanded-widget':''), draggable: {data: $data, isEnabled: true, options: {'handle': '.move-widget', 'opacity': 0.7, 'refreshPositions': true, 'start': function(event, ui){ $root.setCurrentlyDraggedWidget($data, event.toElement); }, 'stop': function(event, ui){ $root.enableSideDrop($data); }, 'helper': function(event){lastWindowScrollPosition = $(window).scrollTop();  var _par = $('<div>');_par.addClass('card card-widget');var _title = $('<h2>');_title.addClass('card-heading simple');_title.text($(event.currentTarget).find('h2').text());_title.appendTo(_par);_par.css('minHeight', '10px');_par.width(120);return _par;}}}">
-    <h2 class="card-heading simple" data-bind="visible: widgetType() != 'start-widget' && widgetType() != 'end-widget'  && id() != '17c9c895-5a16-7443-bb81-f34b30b21548'">
+  <div data-bind="attr: {'id': 'wdg_'+ id(),}, css: klass() + (ooziePropertiesExpanded()?' expanded-widget':''),
+      draggable: {data: $data, isEnabled: true, options: {'handle': '.move-widget', 'opacity': 0.7, 'refreshPositions': true, 'start': function(event, ui){ $root.setCurrentlyDraggedWidget($data, event.toElement); }, 'stop': function(event, ui){ $root.enableSideDrop($data); }, 'helper': function(event){lastWindowScrollPosition = $(window).scrollTop();  var _par = $('<div>');_par.addClass('card card-widget');var _title = $('<h2>');_title.addClass('card-heading simple');_title.text($(event.currentTarget).find('h2').text());_title.appendTo(_par);_par.css('minHeight', '10px');_par.width(120);return _par;}}}">
+    <h2 class="card-heading simple" data-bind="visible: widgetType() != 'start-widget' && widgetType() != 'end-widget' && 
+        id() != '17c9c895-5a16-7443-bb81-f34b30b21548' && (['fork-widget', 'join-widget', 'decision-widget'].indexOf(widgetType()) == -1 || $root.isEditing())">
       
       <span data-bind="visible: $root.isEditing() && oozieMovable() && ! oozieExpanded() && ! ooziePropertiesExpanded() && $root.newAction() == null">
         <a href="javascript:void(0)" class="move-widget"><i class="fa fa-arrows"></i></a>
@@ -429,7 +418,7 @@ ${ commonheader(_("Workflow Editor"), "Oozie", user, "40px") | n,unicode }
   <!-- ko if: $root.workflow.getNodeById(id()) -->
   <div class="row-fluid" data-bind="with: $root.workflow.getNodeById(id())" style="min-height: 40px">
     <div class="big-icon"><i class="fa fa-sitemap"></i></div>
-    <div data-bind="visible: $root.isEditing" style="padding: 10px">
+    <div data-bind="visible: $root.isEditing" style="padding-left: 10px; padding-bottom: 10px">
       <a class="pointer" data-bind="click: function() { $root.convertToDecision($parent, $data) }">${_('Convert to Decision')} <i class="fa fa-wrench"></i></a>
     </div>
   </div>
@@ -472,7 +461,7 @@ ${ commonheader(_("Workflow Editor"), "Oozie", user, "40px") | n,unicode }
 <script type="text/html" id="kill-widget">
   <!-- ko if: $root.workflow.getNodeById(id()) -->
   <div class="row-fluid" data-bind="with: $root.workflow.getNodeById(id())" style="min-height: 40px">
-    <div class="big-icon" data-bind="visible: id() == '17c9c895-5a16-7443-bb81-f34b30b21548'"><i class="fa fa-stop"></i></div>
+    <div class="big-icon" data-bind="visible: id() == '17c9c895-5a16-7443-bb81-f34b30b21548'" title="${ _('It is where we finish if failure!') }"><i class="fa fa-stop"></i></div>
 
     <div data-bind="visible: $root.isEditing">
       <div data-bind="visible: $parent.ooziePropertiesExpanded">
@@ -488,7 +477,7 @@ ${ commonheader(_("Workflow Editor"), "Oozie", user, "40px") | n,unicode }
 <script type="text/html" id="start-widget">
   <!-- ko if: $root.workflow.getNodeById(id()) -->
   <div class="row-fluid" data-bind="with: $root.workflow.getNodeById(id())" style="min-height: 40px;">
-    <div class="big-icon"><i class="fa fa-flag-checkered"></i></div>
+    <div class="big-icon" title="${ _('It is where we start!') }"><i class="fa fa-flag-checkered"></i></div>
   </div>
   <!-- /ko -->
 </script>
@@ -497,7 +486,7 @@ ${ commonheader(_("Workflow Editor"), "Oozie", user, "40px") | n,unicode }
 <script type="text/html" id="end-widget">
   <!-- ko if: $root.workflow.getNodeById(id()) -->
   <div class="row-fluid" data-bind="with: $root.workflow.getNodeById(id())" style="min-height: 40px">
-    <div class="big-icon"><i class="fa fa-dot-circle-o"></i></div>
+    <div class="big-icon" title="${ _('It is where we successfully finish!') }"><i class="fa fa-dot-circle-o"></i></div>
   </div>
   <!-- /ko -->
 </script>
@@ -1553,6 +1542,11 @@ ${ commonheader(_("Workflow Editor"), "Oozie", user, "40px") | n,unicode }
         <i class="fa fa-plus"></i> ${ _('Add property') }
       </a>
 
+      <h4>${ _("Toggle arrows") }</h4>
+      <a title="${ _('Toggle arrow showing') }" rel="tooltip" data-placement="bottom" data-bind="click: toggleArrows, css: {'btn': true, 'btn-inverse': hasArrows}">
+        <i class="fa fa-fw fa-long-arrow-down"></i>
+      </a>
+
       <h4>${ _("Job XML") }</h4>
       <input type="text" class="input-xlarge filechooser-input" data-bind="filechooser: $root.workflow.properties.job_xml"/>
 

+ 0 - 1
apps/oozie/src/oozie/urls.py

@@ -80,7 +80,6 @@ urlpatterns += patterns(
   url(r'^editor/workflow/parameters/$', 'workflow_parameters', name='workflow_parameters'),
   url(r'^editor/workflow/action/parameters/$', 'action_parameters', name='action_parameters'),
   url(r'^editor/workflow/gen_xml/$', 'gen_xml_workflow', name='gen_xml_workflow'), # Temporary
-  url(r'^editor/workflow/import_workflows/$', 'import_hue_3_7_workflows', name='import_hue_3_7_workflows'), # Temporary
   
   url(r'^editor/coordinator/list/$', 'list_editor_coordinators', name='list_editor_coordinators'),
   url(r'^editor/coordinator/edit/$', 'edit_coordinator', name='edit_coordinator'),

+ 0 - 13
apps/oozie/src/oozie/views/editor2.py

@@ -267,19 +267,6 @@ def _submit_workflow(user, fs, jt, workflow, mapping):
   return redirect(reverse('oozie:list_oozie_workflow', kwargs={'job_id': job_id}))
 
 
-def import_hue_3_7_workflows(request):
-  response = {'status': -1}
-
-  try:
-    response['status'] = 0
-    response['json'] = import_workflows_from_hue_3_7().to_xml()
-  except Exception, e:
-    response['message'] = str(e)
-    
-  return HttpResponse(json.dumps(response), mimetype="application/json") 
-
-
-
 def list_editor_coordinators(request):
   coordinators = Document2.objects.filter(type='oozie-coordinator2', owner=request.user)
 

+ 4 - 16
apps/oozie/static/js/workflow-editor.ko.js

@@ -218,7 +218,9 @@ var Workflow = function (vm, workflow) {
       success: function (data) {
         if (data.status == 0) {
           viewModel.addActionProperties(data.properties);
-          viewModel.addActionWorkflows(data.workflows);
+          if (data.workflows.length > 0) {
+            viewModel.addActionWorkflows(data.workflows);
+          }
           if (callback) {
             callback(widget);
           }
@@ -435,7 +437,7 @@ var WorkflowEditorViewModel = function (layout_json, workflow_json, credentials_
     }
   });
   self.toggleArrows = function () {
-    self.hasArrows(!self.hasArrows());
+    self.hasArrows(! self.hasArrows());
   };
 
   self.newAction = ko.observable();
@@ -994,20 +996,6 @@ var WorkflowEditorViewModel = function (layout_json, workflow_json, credentials_
     });
   };
 
-  self.import_workflows = function () {
-    $.post("/oozie/editor/workflow/import_workflows/", {
-    }, function (data) {
-      if (data.status == 0) {
-        console.log(data.json);
-      }
-      else {
-        $(document).trigger("error", data.message);
-      }
-    }).fail(function (xhr, textStatus, errorThrown) {
-      $(document).trigger("error", xhr.responseText);
-    });
-  };
-
   self.showSubmitPopup = function () {
     // If self.workflow.id() == null, need to save wf for now