浏览代码

HUE-936 [oozie] Add back help when editing an action

Added css classes and fixed popover display
Enrico Berti 13 年之前
父节点
当前提交
ca28110

+ 5 - 5
apps/oozie/src/oozie/templates/editor/action_utils.mako

@@ -200,7 +200,7 @@
         <tbody data-bind="foreach: ${ javascript_attrs['name'] }">
           <tr>
             <td>
-              <input type="text" class="span5 required"data-bind="fileChooser: $data, value: name, uniqueName: false" />
+              <input type="text" class="span5 required pathChooserKo" data-bind="fileChooser: $data, value: name, uniqueName: false" />
             </td>
             <td>
               % if 'remove' in javascript_attrs:
@@ -228,7 +228,7 @@
         <tbody data-bind="foreach: ${ javascript_attrs['name'] }">
           <tr>
             <td>
-              <input type="text" class="span5 required"data-bind="fileChooser: $data, value: name, uniqueName: false" />
+              <input type="text" class="span5 required pathChooserKo" data-bind="fileChooser: $data, value: name, uniqueName: false" />
             </td>
             <td>
               % if 'remove' in javascript_attrs:
@@ -263,7 +263,7 @@
         <tbody data-bind="foreach: ${ javascript_attrs['name'] }">
           <tr>
             <td><input type="text" class="span4 required propKey" data-bind="value: name, uniqueName: false" /></td>
-            <td><input type="text" class="span4 required" data-bind="fileChooser: $data, value: value, uniqueName: false" /></td>
+            <td><input type="text" class="span4 required pathChooserKo" data-bind="fileChooser: $data, value: value, uniqueName: false" /></td>
             <td>
             % if 'remove' in javascript_attrs:
               <a class="btn" href="#" data-bind="click: ${ javascript_attrs['remove'] }">${ _('Delete') }</a>
@@ -300,7 +300,7 @@
               <span class="span4 required" data-bind="text: type" />
             </td>
             <td>
-              <input type="text" class="input span4 required" data-bind="fileChooser: $data, value: value, uniqueName: false" />
+              <input type="text" class="input span4 required pathChooserKo" data-bind="fileChooser: $data, value: value, uniqueName: false" />
             </td>
             <td>
             % if 'remove' in javascript_attrs:
@@ -340,7 +340,7 @@
               <span class="span4 required" data-bind="text: type" />
             </td>
             <td>
-              <input type="text" class="input span4 required" data-bind="fileChooser: $data, value: value, uniqueName: false" />
+              <input type="text" class="input span4 required pathChooserKo" data-bind="fileChooser: $data, value: value, uniqueName: false" />
             </td>
             <td>
               % if 'remove' in javascript_attrs:

+ 27 - 28
apps/oozie/src/oozie/templates/editor/edit_workflow.mako

@@ -294,6 +294,7 @@ ${ layout.menubar(section='workflows') }
 
 .popover {
   z-index: 2060 !important;
+  margin-left: 166px!important;
 }
 
 
@@ -595,6 +596,20 @@ var ModalModule = function($, ko) {
     self.modal.css({top: top +'px', left:  left+'px'});
   };
 
+  module.prototype.addDecorations = function () {
+    $(".popover").remove();
+
+    $("input[name='job_xml']").addClass("pathChooser").after(getFileBrowseButton($("input[name='job_xml']")));
+    $("input[name='jar_path']").addClass("pathChooser").after(getFileBrowseButton($("input[name='jar_path']")));
+    $("input[name='script_path']").addClass("pathChooser").after(getFileBrowseButton($("input[name='script_path']")));
+    $("input[name='command']").addClass("pathChooser").after(getFileBrowseButton($("input[name='command']")));
+
+    $("*[rel=popover]").popover({
+      placement:'left',
+      trigger:'hover'
+    });
+  }
+
   return module;
 };
 var Modal = ModalModule($, ko);
@@ -1936,19 +1951,10 @@ var WorkflowModule = function($, NodeModelChooser, Node, ForkNode, DecisionNode,
       modal.setTemplate(template);
       modal.show(new_node);
       modal.recenter(280, 250);
-
-      $(".pathChooser").each(function(){
-        var self = $(this);
-        self.after(getFileBrowseButton(self));
-      });
+      modal.addDecorations();
 
       // $(".propKey").each(addAutoComplete);
 
-      $("*[rel=popover]").popover({
-        placement: 'right',
-        trigger: 'hover'
-      }).css('z-index', 9999);
-
       workflow.model.is_dirty = true;
     },
 
@@ -2073,7 +2079,9 @@ var WorkflowModule = function($, NodeModelChooser, Node, ForkNode, DecisionNode,
 
       var methodChooser = function(node, collection, skip_parents_check) {
         if (count++ >= maximum) {
-          console.error('Hit maximum number of node recursion: ' + maximum);
+          if (window.error) {
+            console.error('Hit maximum number of node recursion: ' + maximum);
+          }
           return null;
         }
 
@@ -2458,28 +2466,12 @@ var workflow = new Workflow({
 var modal = new Modal("#node-modal");
 workflow.load();
 
-$('#node-modal').on('shown', function() {
-  $(".pathChooser").each(function(){
-    var self = $(this);
-    self.after(getFileBrowseButton(self));
-  });
-
-  // $(".propKey").each(addAutoComplete);
-
-  $("*[rel=popover]").popover({
-    placement: 'right',
-    trigger: 'hover'
-  }).css('z-index', 9999);
-});
-
 $('#workflow').on('click', '.edit-node-link', function(e) {
   var context = ko.contextFor(this).$data;
   modal.setTemplate(context.edit_template);
   modal.show(context);
   modal.recenter(280, 250);
-
-  $("input[name='job_xml']").addClass("pathChooser").after(getFileBrowseButton($("input[name='job_xml']")));
-  $("input[name='jar_path']").addClass("pathChooser").after(getFileBrowseButton($("input[name='jar_path']")));
+  modal.addDecorations();
 
   workflow.model.is_dirty = true;
 });
@@ -2503,6 +2495,7 @@ $('#workflow').on('click', '.new-node-link', function(e) {
   modal.setTemplate(template);
   modal.show(node);
   modal.recenter(280, 250);
+  modal.addDecorations();
 
   workflow.model.is_dirty = true;
 });
@@ -2562,6 +2555,12 @@ window.onbeforeunload = function (e) {
   return message;
 };
 
+window.onresize = function () {
+  if (modal) {
+    modal.recenter(280, 250);
+  }
+};
+
 $(document).ready(function () {
   window.setTimeout(checkModelDirtiness, 500);
 });