Browse Source

HUE-3450 [metadata] Add on/off Optimizer flag for Metastore

Romain Rigaux 9 years ago
parent
commit
5b9ce9d6e5

+ 2 - 2
apps/metastore/src/metastore/static/metastore/js/metastore.ko.js

@@ -456,7 +456,7 @@
     self.assistHelper = AssistHelper.getInstance(options);
     self.assistHelper = AssistHelper.getInstance(options);
     self.isLeftPanelVisible = ko.observable();
     self.isLeftPanelVisible = ko.observable();
     self.assistHelper.withTotalStorage('assist', 'assist_panel_visible', self.isLeftPanelVisible, true);
     self.assistHelper.withTotalStorage('assist', 'assist_panel_visible', self.isLeftPanelVisible, true);
-    self.optimizerEnabled = options.optimizerEnabled || false;
+    self.optimizerEnabled = ko.observable(options.optimizerEnabled || false);
     self.optimizerUrl = ko.observable(options.optimizer_url);
     self.optimizerUrl = ko.observable(options.optimizer_url);
 
 
     huePubSub.subscribe("assist.db.panel.ready", function () {
     huePubSub.subscribe("assist.db.panel.ready", function () {
@@ -675,7 +675,7 @@
     self.database(metastoreDatabase);
     self.database(metastoreDatabase);
 
 
     if (!metastoreDatabase.loaded()) {
     if (!metastoreDatabase.loaded()) {
-      metastoreDatabase.load(callback, self.optimizerEnabled);
+      metastoreDatabase.load(callback, self.optimizerEnabled());
     } else if (callback) {
     } else if (callback) {
       callback();
       callback();
     }
     }

+ 6 - 1
apps/metastore/src/metastore/templates/components.mako

@@ -29,8 +29,13 @@
                   <img src="${ static('metastore/art/icon_metastore_48.png') }" class="app-icon" />
                   <img src="${ static('metastore/art/icon_metastore_48.png') }" class="app-icon" />
                   ${ _('Metastore Manager') }
                   ${ _('Metastore Manager') }
                 </a>
                 </a>
-              </li>
+              </li>              
             </ul>
             </ul>
+            <div class="pull-right">
+              <a class="pointer" data-bind="click: function() { optimizerEnabled(! optimizerEnabled()); }">
+                <i class="fa" data-bind="css: {'fa-toggle-off': ! optimizerEnabled(), 'fa-toggle-on': optimizerEnabled() }" style="margin-top:15px"></i> Optimizer
+              </a>
+            </div>
           </div>
           </div>
         </div>
         </div>
       </div>
       </div>