Эх сурвалжийг харах

HUE-4116 [editor] Converted coordinator ko to Require

Enrico Berti 9 жил өмнө
parent
commit
8ef5003

+ 24 - 3
apps/oozie/src/oozie/static/oozie/js/coordinator-editor.ko.js

@@ -14,6 +14,18 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
+(function (root, factory) {
+  if(typeof define === "function" && define.amd) {
+    define([
+      'knockout',
+      'knockout-mapping',
+      'ko.charts'
+    ], factory);
+  } else {
+    root.CoordinatorEditorViewModel = factory(ko);
+  }
+}(this, function (ko) {
+
 var Coordinator = function (vm, coordinator) {
 
   var self = this;
@@ -29,10 +41,14 @@ var Coordinator = function (vm, coordinator) {
   self.showAdvancedFrequencyUI = ko.observable(typeof coordinator.showAdvancedFrequencyUI != "undefined" && coordinator.showAdvancedFrequencyUI != null ? coordinator.showAdvancedFrequencyUI : false);
   self.workflowParameters = ko.mapping.fromJS(typeof coordinator.workflowParameters != "undefined" && coordinator.workflowParameters != null ? coordinator.workflowParameters : []);
 
-  self.tracker = new ChangeTracker(self);  // from ko.common-dashboard.js
+  self.tracker = null;
+
+  if (typeof ChangeTracker !== 'undefined'){
+    self.tracker = new ChangeTracker(self);
+  }
 
   self.isDirty = ko.computed(function () {
-    return self.tracker().somethingHasChanged();
+    return self.tracker != null ? self.tracker().somethingHasChanged() : false;
   });
 
   self._get_parameter = function (name) {
@@ -212,7 +228,9 @@ var CoordinatorEditorViewModel = function (coordinator_json, credentials_json, w
       }, function (data) {
         if (data.status == 0) {
           self.coordinator.id(data.id);
-          self.coordinator.tracker().markCurrentStateAsClean();
+          if (self.coordinator.tracker != null){
+            self.coordinator.tracker().markCurrentStateAsClean();
+          }
           if (cb) {
             cb(data);
           } else {
@@ -272,3 +290,6 @@ function logGA(page) {
     trackOnGA('oozie/editor/coordinator/' + page);
   }
 }
+
+  return CoordinatorEditorViewModel;
+}));

+ 3 - 2
desktop/libs/notebook/src/notebook/static/notebook/js/notebook.ko.js

@@ -20,13 +20,14 @@
       'knockout',
       'desktop/js/apiHelper',
       'desktop/js/autocompleter',
+      'oozie/js/coordinator-editor.ko',
       'knockout-mapping',
       'ko.charts'
     ], factory);
   } else {
     root.EditorViewModel = factory(ko, ApiHelper, Autocompleter);
   }
-}(this, function (ko, ApiHelper, Autocompleter) {
+}(this, function (ko, ApiHelper, Autocompleter, CoordinatorEditorViewModel) {
 
   var NOTEBOOK_MAPPING = {
     ignore: [
@@ -1570,7 +1571,7 @@
         ko.applyBindings(self.schedulerViewModel, $("#schedulerEditor")[0]);
 
         self.schedulerViewModel.coordinator.properties.cron_advanced.valueHasMutated(); // Update jsCron enabled status
-        self.schedulerViewModel.coordinator.tracker().markCurrentStateAsClean();
+        //self.schedulerViewModel.coordinator.tracker().markCurrentStateAsClean();
       }).fail(function (xhr) {
         $(document).trigger("error", xhr.responseText);
       });

+ 7 - 6
desktop/libs/notebook/src/notebook/templates/editor_components.mako

@@ -155,13 +155,13 @@ from notebook.conf import ENABLE_QUERY_BUILDER, ENABLE_QUERY_SCHEDULING
 ## Scheduler
 ## ChangeTracker
 <%namespace name="dashboard" file="/common_dashboard.mako" />
-${ dashboard.import_layout() }
-<link href="${ static('desktop/css/jqCron.css') }" rel="stylesheet" type="text/css" />
-<script src="${ static('desktop/js/jqCron.js') }" type="text/javascript"></script>
+## ${ dashboard.import_layout() }
+## <link href="${ static('desktop/css/jqCron.css') }" rel="stylesheet" type="text/css" />
+## <script src="${ static('desktop/js/jqCron.js') }" type="text/javascript"></script>
 <script src="${ static('desktop/ext/js/moment-timezone-with-data.min.js') }" type="text/javascript" charset="utf-8"></script>
 <script src="${ static('desktop/ext/js/tzdetect.js') }" type="text/javascript" charset="utf-8"></script>
-<script src="${ static('oozie/js/coordinator-editor.ko.js') }" type="text/javascript" charset="utf-8"></script>
-<script src="${ static('oozie/js/editor2-utils.js') }" type="text/javascript" charset="utf-8"></script>
+## <script src="${ static('oozie/js/coordinator-editor.ko.js') }" type="text/javascript" charset="utf-8"></script>
+## <script src="${ static('oozie/js/editor2-utils.js') }" type="text/javascript" charset="utf-8"></script>
 
 ${ require.config() }
 
@@ -2543,13 +2543,14 @@ ${ hueIcons.symbols() }
     "knockout",
     "ko.charts",
     "notebook/js/notebook.ko",
+    "oozie/js/coordinator-editor.ko",
     "assistPanel",
     "knockout-mapping",
     "knockout-sortable",
     "ko.editable",
     "ko.hue-bindings",
     "ko.switch-case"
-  ], function (ko, charts, EditorViewModel) {
+  ], function (ko, charts, EditorViewModel, CoordinatorEditorViewModel) {
 
     ko.options.deferUpdates = true;