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

HUE-6134 [metastore] Extract global var for metastore options

Johan Ahlen 8 жил өмнө
parent
commit
47b5387f7c

+ 3 - 13
apps/beeswax/src/beeswax/templates/create_database.mako

@@ -239,15 +239,14 @@ ${ assist.assistPanel() }
 
     ko.options.deferUpdates = true;
 
-    function MetastoreViewModel(options) {
+    function CreateDatabaseViewModel() {
       var self = this;
-      self.apiHelper = ApiHelper.getInstance(options);
+      self.apiHelper = ApiHelper.getInstance();
 
       self.assistAvailable = ko.observable(true);
       self.isLeftPanelVisible = ko.observable();
       self.apiHelper.withTotalStorage('assist', 'assist_panel_visible', self.isLeftPanelVisible, true);
 
-
       huePubSub.subscribe("assist.table.selected", function (tableDef) {
         location.href = '/metastore/table/' + tableDef.database + '/' + tableDef.name;
       });
@@ -258,16 +257,7 @@ ${ assist.assistPanel() }
     }
 
     $(document).ready(function () {
-
-      var options = {
-        user: '${ user.username }',
-        i18n: {
-          errorLoadingDatabases: "${ _('There was a problem loading the databases') }",
-          errorLoadingTablePreview: "${ _('There was a problem loading the table preview.') }"
-        }
-      };
-
-      var viewModel = new MetastoreViewModel(options);
+      var viewModel = new CreateDatabaseViewModel();
 
       ko.applyBindings(viewModel);
 

+ 3 - 12
apps/beeswax/src/beeswax/templates/create_table_manually.mako

@@ -562,14 +562,13 @@ ${ assist.assistPanel() }
   (function () {
     ko.options.deferUpdates = true;
 
-    function MetastoreViewModel(options) {
+    function CreateTableViewModel() {
       var self = this;
-      self.apiHelper = ApiHelper.getInstance(options);
+      self.apiHelper = ApiHelper.getInstance();
       self.assistAvailable = ko.observable(true);
       self.isLeftPanelVisible = ko.observable();
       self.apiHelper.withTotalStorage('assist', 'assist_panel_visible', self.isLeftPanelVisible, true);
 
-
       huePubSub.subscribe("assist.table.selected", function (tableDef) {
         location.href = '/metastore/table/' + tableDef.database + '/' + tableDef.name;
       });
@@ -581,15 +580,7 @@ ${ assist.assistPanel() }
 
     $(document).ready(function () {
 
-      var options = {
-        user: '${ user.username }',
-        i18n: {
-          errorLoadingDatabases: "${ _('There was a problem loading the databases') }",
-          errorLoadingTablePreview: "${ _('There was a problem loading the table preview.') }"
-        }
-      }
-
-      var viewModel = new MetastoreViewModel(options);
+      var viewModel = new CreateTableViewModel();
 
       ko.applyBindings(viewModel);
 

+ 1 - 8
apps/beeswax/src/beeswax/templates/execute.mako

@@ -1195,14 +1195,7 @@ editorViewModelOptions.languages.push({
   name: HIVE_AUTOCOMPLETE_APP == "impala" ? "Impala" : "Hive"
 });
 
-var i18n = {
-  errorLoadingDatabases: "${ _('There was a problem loading the databases') }"
-};
-
-var apiHelper = ApiHelper.getInstance({
-  user: HIVE_AUTOCOMPLETE_USER,
-  i18n: i18n
-});
+var apiHelper = ApiHelper.getInstance();
 
 var editorViewModel = {
   sqlSourceTypes: [{

+ 3 - 11
apps/beeswax/src/beeswax/templates/import_wizard_choose_delimiter.mako

@@ -188,9 +188,9 @@ ${ assist.assistPanel() }
   (function () {
     ko.options.deferUpdates = true;
 
-    function MetastoreViewModel(options) {
+    function ImportWizardChooseDelimiterViewModel() {
       var self = this;
-      self.apiHelper = ApiHelper.getInstance(options);
+      self.apiHelper = ApiHelper.getInstance();
       self.assistAvailable = ko.observable(true);
       self.isLeftPanelVisible = ko.observable();
       self.apiHelper.withTotalStorage('assist', 'assist_panel_visible', self.isLeftPanelVisible, true);
@@ -207,15 +207,7 @@ ${ assist.assistPanel() }
 
     $(document).ready(function () {
 
-      var options = {
-        user: '${ user.username }',
-        i18n: {
-          errorLoadingDatabases: "${ _('There was a problem loading the databases') }",
-          errorLoadingTablePreview: "${ _('There was a problem loading the table preview.') }"
-        }
-      }
-
-      var viewModel = new MetastoreViewModel(options);
+      var viewModel = new ImportWizardChooseDelimiterViewModel(options);
 
       ko.applyBindings(viewModel);
 

+ 3 - 10
apps/beeswax/src/beeswax/templates/import_wizard_choose_file.mako

@@ -209,9 +209,9 @@ ${ assist.assistPanel() }
   (function () {
     ko.options.deferUpdates = true;
 
-    function MetastoreViewModel(options) {
+    function ImportWizardChooseFileViewModel() {
       var self = this;
-      self.apiHelper = ApiHelper.getInstance(options);
+      self.apiHelper = ApiHelper.getInstance();
       self.assistAvailable = ko.observable(true);
       self.isLeftPanelVisible = ko.observable();
       self.apiHelper.withTotalStorage('assist', 'assist_panel_visible', self.isLeftPanelVisible, true);
@@ -227,15 +227,8 @@ ${ assist.assistPanel() }
     }
 
     $(document).ready(function () {
-      var options = {
-        user: '${ user.username }',
-        i18n: {
-          errorLoadingDatabases: "${ _('There was a problem loading the databases') }",
-          errorLoadingTablePreview: "${ _('There was a problem loading the table preview.') }"
-        }
-      }
 
-      var viewModel = new MetastoreViewModel(options);
+      var viewModel = new ImportWizardChooseFileViewModel();
 
       ko.applyBindings(viewModel);
 

+ 3 - 11
apps/beeswax/src/beeswax/templates/import_wizard_define_columns.mako

@@ -223,9 +223,9 @@ ${ assist.assistPanel() }
   (function () {
     ko.options.deferUpdates = true;
 
-    function MetastoreViewModel(options) {
+    function ImportWizardDefineColumnsViewModel() {
       var self = this;
-      self.apiHelper = ApiHelper.getInstance(options);
+      self.apiHelper = ApiHelper.getInstance();
       self.assistAvailable = ko.observable(true);
       self.isLeftPanelVisible = ko.observable();
       self.apiHelper.withTotalStorage('assist', 'assist_panel_visible', self.isLeftPanelVisible, true);
@@ -242,15 +242,7 @@ ${ assist.assistPanel() }
 
     $(document).ready(function () {
 
-      var options = {
-        user: '${ user.username }',
-        i18n: {
-          errorLoadingDatabases: "${ _('There was a problem loading the databases') }",
-          errorLoadingTablePreview: "${ _('There was a problem loading the table preview.') }"
-        }
-      }
-
-      var viewModel = new MetastoreViewModel(options);
+      var viewModel = new ImportWizardDefineColumnsViewModel();
 
       ko.applyBindings(viewModel);
 

+ 5 - 12
apps/jobbrowser/src/jobbrowser/templates/job_browser.mako

@@ -1110,7 +1110,7 @@ ${ commonheader("Job Browser", "jobbrowser", user, request) | n,unicode }
       };
     };
 
-    var Jobs = function (vm, options) {
+    var Jobs = function (vm) {
       var self = this;
 
       self.apps = ko.observableArray();
@@ -1166,15 +1166,15 @@ ${ commonheader("Job Browser", "jobbrowser", user, request) | n,unicode }
       };
     };
 
-    var JobBrowserViewModel = function (options, RunningCoordinatorModel) {
+    var JobBrowserViewModel = function (RunningCoordinatorModel) {
       var self = this;
 
-      self.apiHelper = ApiHelper.getInstance(options);
+      self.apiHelper = ApiHelper.getInstance();
       self.assistAvailable = ko.observable(true);
       self.isLeftPanelVisible = ko.observable();
       self.apiHelper.withTotalStorage('assist', 'assist_panel_visible', self.isLeftPanelVisible, true);
 
-      self.jobs = new Jobs(self, options);
+      self.jobs = new Jobs(self);
       self.job = ko.observable();
 
       self.interface = ko.observable('jobs');
@@ -1212,14 +1212,7 @@ ${ commonheader("Job Browser", "jobbrowser", user, request) | n,unicode }
     });
 
     $(document).ready(function () {
-      var options = {
-        user: '${ user.username }',
-        i18n: {
-          errorLoadingDatabases: "${ _('There was a problem loading the databases') }",
-        }
-      };
-
-      viewModel = new JobBrowserViewModel(options, RunningCoordinatorModel);
+      viewModel = new JobBrowserViewModel(RunningCoordinatorModel);
       % if not is_mini:
       ko.applyBindings(viewModel, $('#jobbrowserComponents')[0]);
       % else:

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

@@ -18,13 +18,6 @@ var MetastoreViewModel = (function () {
 
   /**
    * @param {Object} options
-   * @param {Object} options.i18n
-   * @param {string} options.i18n.errorFetchingTableDetails
-   * @param {string} options.i18n.errorFetchingTableFields
-   * @param {string} options.i18n.errorFetchingTableSample
-   * @param {string} options.i18n.errorLoadingDatabases
-   * @param {string} options.i18n.errorLoadingTablePreview
-   * @param {string} options.i18n.errorRefreshingTableStats
    * @param {string} options.user
    * @constructor
    */
@@ -32,7 +25,7 @@ var MetastoreViewModel = (function () {
     var self = this;
     self.partitionsLimit = options.partitionsLimit;
     self.assistAvailable = ko.observable(true);
-    self.apiHelper = ApiHelper.getInstance(options);
+    self.apiHelper = ApiHelper.getInstance();
     self.isHue4 = ko.observable(options.hue4);
     self.isLeftPanelVisible = ko.observable();
     self.apiHelper.withTotalStorage('assist', 'assist_panel_visible', self.isLeftPanelVisible, true);
@@ -59,7 +52,7 @@ var MetastoreViewModel = (function () {
 
     self.selectedDatabases = ko.observableArray();
 
-    self.databaseQuery = ko.observable('').extend({rateLimit: 150});
+    self.databaseQuery = ko.observable('').extend({ rateLimit: 150 });
 
     self.currentTab = ko.observable('');
 
@@ -181,9 +174,6 @@ var MetastoreViewModel = (function () {
         self.databases($.map(databaseNames, function (name) {
           return new MetastoreDatabase({
             name: name,
-            apiHelper: self.apiHelper,
-            i18n: self.i18n,
-            metastore: self,
             optimizerEnabled: self.optimizerEnabled,
             navigatorEnabled: self.navigatorEnabled
           })

+ 6 - 32
apps/metastore/src/metastore/static/metastore/js/metastore.model.js

@@ -18,23 +18,14 @@ var MetastoreDatabase = (function () {
   /**
    * @param {Object} options
    * @param {string} options.name
-   * @param {ApiHelper} options.apiHelper
-   * @param {MetastoreViewModel} options.metastore
    * @param {string} [options.tableName]
    * @param {string} [options.tableComment]
-   * @param {Object} options.i18n
-   * @param {string} options.i18n.errorFetchingTableDetails
-   * @param {string} options.i18n.errorFetchingTableFields
-   * @param {string} options.i18n.errorFetchingTableSample
-   * @param {string} options.i18n.errorRefreshingTableStats
    * @constructor
    */
   function MetastoreDatabase(options) {
     var self = this;
-    self.apiHelper = options.apiHelper;
-    self.i18n = options.i18n;
+    self.apiHelper = ApiHelper.getInstance();
     self.name = options.name;
-    self.metastore = options.metastore;
 
     self.loaded = ko.observable(false);
     self.loading = ko.observable(false);
@@ -127,8 +118,6 @@ var MetastoreDatabase = (function () {
             name: tableMeta.name,
             type: tableMeta.type,
             comment: tableMeta.comment,
-            apiHelper: self.apiHelper,
-            i18n: self.i18n,
             optimizerEnabled: optimizerEnabled,
             navigatorEnabled: navigatorEnabled
           })
@@ -226,7 +215,6 @@ var MetastoreTable = (function () {
 
   /**
    * @param {Object} options
-   * @param {ApiHelper} options.apiHelper
    * @param {MetastoreTable} options.metastoreTable
    */
   function MetastoreTablePartitions(options) {
@@ -235,7 +223,7 @@ var MetastoreTable = (function () {
     self.keys = ko.observableArray();
     self.values = ko.observableArray();
     self.metastoreTable = options.metastoreTable;
-    self.apiHelper = options.apiHelper;
+    self.apiHelper = ApiHelper.getInstance();
 
     self.loaded = ko.observable(false);
     self.loading = ko.observable(true);
@@ -271,18 +259,14 @@ var MetastoreTable = (function () {
 
   /**
    * @param {Object} options
-   * @param {ApiHelper} options.apiHelper
    * @param {MetastoreTable} options.metastoreTable
-   * @param {Object} options.i18n
-   * @param {string} options.i18n.errorFetchingTableSample
    */
   function MetastoreTableSamples(options) {
     var self = this;
     self.rows = ko.observableArray();
     self.headers = ko.observableArray();
     self.metastoreTable = options.metastoreTable;
-    self.apiHelper = options.apiHelper;
-    self.i18n = options.i18n;
+    self.apiHelper = ApiHelper.getInstance();
 
     self.hasErrors = ko.observable(false);
     self.loaded = ko.observable(false);
@@ -327,19 +311,12 @@ var MetastoreTable = (function () {
    * @param {string} options.name
    * @param {string} options.type
    * @param {string} options.comment
-   * @param {ApiHelper} options.apiHelper
-   * @param {Object} options.i18n
-   * @param {string} options.i18n.errorFetchingTableDetails
-   * @param {string} options.i18n.errorFetchingTableFields
-   * @param {string} options.i18n.errorFetchingTableSample
-   * @param {string} options.i18n.errorRefreshingTableStats
    * @constructor
    */
   function MetastoreTable(options) {
     var self = this;
     self.database = options.database;
-    self.apiHelper = options.apiHelper;
-    self.i18n = options.i18n;
+    self.apiHelper = ApiHelper.getInstance();
     self.optimizerEnabled = options.optimizerEnabled;
     self.navigatorEnabled = options.navigatorEnabled;
     self.name = options.name;
@@ -372,17 +349,14 @@ var MetastoreTable = (function () {
 
     self.favouriteColumns = ko.observableArray();
     self.samples = new MetastoreTableSamples({
-      apiHelper: self.apiHelper,
-      i18n: self.i18n,
       metastoreTable: self
     });
     self.partitions = new MetastoreTablePartitions({
-      apiHelper: self.apiHelper,
       metastoreTable: self
     });
 
     self.partitionsCountLabel = ko.pureComputed(function () {
-      if (self.partitions.values().length === self.database.metastore.partitionsLimit) {
+      if (self.partitions.values().length === MetastoreGlobals.partitionsLimit) {
         return self.partitions.values().length + '+'
       }
       return self.partitions.values().length;
@@ -425,7 +399,7 @@ var MetastoreTable = (function () {
         },
         errorCallback: function (data) {
           self.refreshingTableStats(false);
-          $.jHueNotify.error(self.i18n.errorRefreshingTableStats);
+          $.jHueNotify.error(MetastoreGlobals.i18n.errorRefreshingTableStats);
           console.error('apiHelper.refreshTableStats error');
           console.error(data);
         }

+ 3 - 12
apps/metastore/src/metastore/templates/describe_partitions.mako

@@ -175,9 +175,9 @@ ${ assist.assistPanel() }
   (function () {
     ko.options.deferUpdates = true;
 
-    function PartitionViewModel(options, partition_keys_json, partition_values_json) {
+    function PartitionViewModel(partition_keys_json, partition_values_json) {
       var self = this;
-      self.apiHelper = ApiHelper.getInstance(options);
+      self.apiHelper = ApiHelper.getInstance();
       self.assistAvailable = ko.observable(true);
       self.isLeftPanelVisible = ko.observable();
       self.apiHelper.withTotalStorage('assist', 'assist_panel_visible', self.isLeftPanelVisible, true);
@@ -254,16 +254,7 @@ ${ assist.assistPanel() }
     }
 
     $(document).ready(function () {
-
-      var options = {
-        user: '${ user.username }',
-        i18n: {
-          errorLoadingDatabases: "${ _('There was a problem loading the databases') }",
-          errorLoadingTablePreview: "${ _('There was a problem loading the table preview.') }"
-        }
-      }
-
-      var viewModel = new PartitionViewModel(options, ${ partition_keys_json | n,unicode }, ${ partition_values_json | n,unicode });
+      var viewModel = new PartitionViewModel(${ partition_keys_json | n,unicode }, ${ partition_values_json | n,unicode });
 
       ko.applyBindings(viewModel);
 

+ 1 - 10
apps/metastore/src/metastore/templates/metastore.mako

@@ -1206,19 +1206,10 @@ ${ components.menubar() }
         % if is_embeddable:
         hue4: true,
         % endif
-        i18n: {
-          errorFetchingTableDetails: '${_('An error occurred fetching the table details. Please try again.')}',
-          errorFetchingTableFields: '${_('An error occurred fetching the table fields. Please try again.')}',
-          errorFetchingTableSample: '${_('An error occurred fetching the table sample. Please try again.')}',
-          errorRefreshingTableStats: '${_('An error occurred refreshing the table stats. Please try again.')}',
-          errorLoadingDatabases: '${ _('There was a problem loading the databases. Please try again.') }',
-          errorLoadingTablePreview: '${ _('There was a problem loading the table preview. Please try again.') }'
-        },
         optimizerEnabled: '${ is_optimizer_enabled }' === 'True',
         navigatorEnabled: '${ is_navigator_enabled }' === 'True',
         optimizerUrl: '${ optimizer_url }',
-        navigatorUrl: '${ navigator_url }',
-        partitionsLimit: ${ LIST_PARTITIONS_LIMIT.get() }
+        navigatorUrl: '${ navigator_url }'
       };
 
       var viewModel = new MetastoreViewModel(options);

+ 1 - 1
desktop/core/src/desktop/templates/assist_m.mako

@@ -72,7 +72,7 @@ ${ assist.assistPanel() }
 
     function AssistViewModel(options) {
       var self = this;
-      self.apiHelper = ApiHelper.getInstance(options);
+      self.apiHelper = ApiHelper.getInstance();
       self.assistAvailable = ko.observable(true);
       self.isLeftPanelVisible = ko.observable();
       self.apiHelper.withTotalStorage('assist', 'assist_panel_visible', self.isLeftPanelVisible, true);

+ 11 - 0
desktop/core/src/desktop/templates/common_header_footer_components.mako

@@ -20,6 +20,8 @@ from django.template.defaultfilters import escape, escapejs
 from desktop import conf
 from desktop.lib.i18n import smart_unicode
 
+from beeswax.conf import LIST_PARTITIONS_LIMIT
+
 from metadata.conf import has_optimizer, OPTIMIZER
 %>
 
@@ -130,6 +132,15 @@ from metadata.conf import has_optimizer, OPTIMIZER
       }
     };
 
+    MetastoreGlobals = {
+      partitionsLimit: ${ LIST_PARTITIONS_LIMIT.get() },
+      i18n: {
+        errorRefreshingTableStats: '${_('An error occurred refreshing the table stats. Please try again.')}',
+        errorLoadingDatabases: '${ _('There was a problem loading the databases. Please try again.') }',
+        errorLoadingTablePreview: '${ _('There was a problem loading the table preview. Please try again.') }'
+      },
+    };
+
     AutocompleterGlobals = {
       i18n: {
         category: {

+ 3 - 10
desktop/libs/indexer/src/indexer/templates/importer.mako

@@ -1782,10 +1782,10 @@ ${ assist.assistPanel() }
       return koField;
     }
 
-    var IndexerViewModel = function (options) {
+    var IndexerViewModel = function () {
       var self = this;
 
-      self.apiHelper = ApiHelper.getInstance(options);
+      self.apiHelper = ApiHelper.getInstance();
       self.assistAvailable = ko.observable(true);
       self.isLeftPanelVisible = ko.observable();
       self.apiHelper.withTotalStorage('assist', 'assist_panel_visible', self.isLeftPanelVisible, true);
@@ -1840,14 +1840,7 @@ ${ assist.assistPanel() }
     }
 
     $(document).ready(function () {
-      var options = {
-        user: '${ user.username }',
-        i18n: {
-          errorLoadingDatabases: "${ _('There was a problem loading the databases') }",
-          errorLoadingTablePreview: "${ _('There was a problem loading the table preview.') }"
-        }
-      }
-      viewModel = new IndexerViewModel(options);
+      viewModel = new IndexerViewModel();
       ko.applyBindings(viewModel, $('#importerComponents')[0]);
 
 

+ 5 - 12
desktop/libs/indexer/src/indexer/templates/indexer.mako

@@ -944,10 +944,10 @@ ${ assist.assistPanel() }
       return koField;
     }
 
-    var IndexerViewModel = function (options) {
+    var IndexerViewModel = function () {
       var self = this;
 
-      self.apiHelper = ApiHelper.getInstance(options);
+      self.apiHelper = ApiHelper.getInstance();
       self.assistAvailable = ko.observable(true);
       self.isLeftPanelVisible = ko.observable();
       self.apiHelper.withTotalStorage('assist', 'assist_panel_visible', self.isLeftPanelVisible, true);
@@ -965,12 +965,12 @@ ${ assist.assistPanel() }
         if (self.nextStepVisible()){
           self.currentStep(self.currentStep()+1);
         }
-      }
+      };
       self.previousStep = function () {
         if (self.previousStepVisible()){
           self.currentStep(self.currentStep()-1);
         }
-      }
+      };
 
       self.collections = ${ indexes_json | n }.
       filter(function (index) {
@@ -992,14 +992,7 @@ ${ assist.assistPanel() }
     var viewModel;
 
     $(document).ready(function () {
-      var options = {
-        user: '${ user.username }',
-        i18n: {
-          errorLoadingDatabases: "${ _('There was a problem loading the databases') }",
-          errorLoadingTablePreview: "${ _('There was a problem loading the table preview.') }"
-        }
-      }
-      viewModel = new IndexerViewModel(options);
+      viewModel = new IndexerViewModel();
       ko.applyBindings(viewModel, $('#indexerComponents')[0]);
 
       var draggableMeta = {};