瀏覽代碼

HUE-9266 [ui] Enable webpack for the job browser code

Johan Ahlen 5 年之前
父節點
當前提交
9e7ee7d38e

+ 4 - 2
apps/jobbrowser/src/jobbrowser/templates/job_browser.mako

@@ -22,6 +22,8 @@ from metadata.conf import PROMETHEUS
 from notebook.conf import ENABLE_QUERY_SCHEDULING
 
 from jobbrowser.conf import DISABLE_KILLING_JOBS, MAX_JOB_FETCH, ENABLE_QUERY_BROWSER, ENABLE_HIVE_QUERY_BROWSER, ENABLE_HISTORY_V2
+
+from webpack_loader.templatetags.webpack_loader import render_bundle
 %>
 
 <%
@@ -51,12 +53,13 @@ ${ commonheader("Job Browser", "jobbrowser", user, request) | n,unicode }
 
 <link rel="stylesheet" href="${ static('jobbrowser/css/jobbrowser-embeddable.css') }">
 
-
 <link rel="stylesheet" href="${ static('desktop/ext/css/bootstrap-datepicker.min.css') }">
 <link rel="stylesheet" href="${ static('desktop/ext/css/bootstrap-timepicker.min.css') }">
 <link rel="stylesheet" href="${ static('desktop/css/bootstrap-spinedit.css') }">
 <link rel="stylesheet" href="${ static('desktop/css/bootstrap-slider.css') }">
 
+${ render_bundle('jobBrowser') | n,unicode }
+
 <script src="${ static('desktop/ext/js/bootstrap-datepicker.min.js') }" type="text/javascript" charset="utf-8"></script>
 <script src="${ static('desktop/ext/js/bootstrap-timepicker.min.js') }" type="text/javascript" charset="utf-8"></script>
 <script src="${ static('desktop/js/bootstrap-spinedit.js') }" type="text/javascript" charset="utf-8"></script>
@@ -4139,7 +4142,6 @@ ${ commonheader("Job Browser", "jobbrowser", user, request) | n,unicode }
       };
     };
 
-
     $(document).ready(function () {
       var jobBrowserViewModel = new JobBrowserViewModel();
       var openJob = function(id) {

+ 27 - 0
desktop/core/src/desktop/js/apps/jobBrowser/app.js

@@ -0,0 +1,27 @@
+// Licensed to Cloudera, Inc. under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  Cloudera, Inc. licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+import './components/ko.hiveQueryPlan';
+
+import huePubSub from 'utils/huePubSub';
+
+huePubSub.subscribe('app.dom.loaded', app => {
+  if (app !== 'jobbrowser') {
+    return;
+  }
+
+  // TODO: Move js from job_browser.mako here.
+});

+ 1 - 1
desktop/core/src/desktop/js/apps/table_browser/app.js → desktop/core/src/desktop/js/apps/tableBrowser/app.js

@@ -19,7 +19,7 @@ import * as ko from 'knockout';
 
 import dataCatalog from 'catalog/dataCatalog';
 import huePubSub from 'utils/huePubSub';
-import MetastoreViewModel from 'apps/table_browser/metastoreViewModel';
+import MetastoreViewModel from 'apps/tableBrowser/metastoreViewModel';
 import hueUtils from 'utils/hueUtils';
 import I18n from 'utils/i18n';
 import { GET_KNOWN_CONFIG_EVENT, CONFIG_REFRESHED_EVENT } from 'utils/hueConfig';

+ 0 - 0
desktop/core/src/desktop/js/apps/table_browser/metastoreColumn.js → desktop/core/src/desktop/js/apps/tableBrowser/metastoreColumn.js


+ 1 - 1
desktop/core/src/desktop/js/apps/table_browser/metastoreDatabase.js → desktop/core/src/desktop/js/apps/tableBrowser/metastoreDatabase.js

@@ -19,7 +19,7 @@ import * as ko from 'knockout';
 
 import apiHelper from 'api/apiHelper';
 import huePubSub from 'utils/huePubSub';
-import MetastoreTable from 'apps/table_browser/metastoreTable';
+import MetastoreTable from 'apps/tableBrowser/metastoreTable';
 
 class MetastoreDatabase {
   /**

+ 1 - 1
desktop/core/src/desktop/js/apps/table_browser/metastoreNamespace.js → desktop/core/src/desktop/js/apps/tableBrowser/metastoreNamespace.js

@@ -20,7 +20,7 @@ import * as ko from 'knockout';
 import apiHelper from 'api/apiHelper';
 import dataCatalog from 'catalog/dataCatalog';
 import huePubSub from 'utils/huePubSub';
-import MetastoreDatabase from 'apps/table_browser/metastoreDatabase';
+import MetastoreDatabase from 'apps/tableBrowser/metastoreDatabase';
 
 class MetastoreNamespace {
   constructor(options) {

+ 1 - 1
desktop/core/src/desktop/js/apps/table_browser/metastoreSource.js → desktop/core/src/desktop/js/apps/tableBrowser/metastoreSource.js

@@ -20,7 +20,7 @@ import * as ko from 'knockout';
 import apiHelper from 'api/apiHelper';
 import contextCatalog, { NAMESPACES_REFRESHED_EVENT } from 'catalog/contextCatalog';
 import huePubSub from 'utils/huePubSub';
-import MetastoreNamespace from 'apps/table_browser/metastoreNamespace';
+import MetastoreNamespace from 'apps/tableBrowser/metastoreNamespace';
 import {
   ASSIST_DB_PANEL_IS_READY_EVENT,
   ASSIST_IS_DB_PANEL_READY_EVENT,

+ 3 - 3
desktop/core/src/desktop/js/apps/table_browser/metastoreTable.js → desktop/core/src/desktop/js/apps/tableBrowser/metastoreTable.js

@@ -20,9 +20,9 @@ import * as ko from 'knockout';
 import apiHelper from 'api/apiHelper';
 import huePubSub from 'utils/huePubSub';
 import hueUtils from 'utils/hueUtils';
-import MetastoreColumn from 'apps/table_browser/metastoreColumn';
-import MetastoreTableSamples from 'apps/table_browser/metastoreTableSamples';
-import MetastoreTablePartitions from 'apps/table_browser/metastoreTablePartitions';
+import MetastoreColumn from 'apps/tableBrowser/metastoreColumn';
+import MetastoreTableSamples from 'apps/tableBrowser/metastoreTableSamples';
+import MetastoreTablePartitions from 'apps/tableBrowser/metastoreTablePartitions';
 import I18n from 'utils/i18n';
 
 let contextPopoverTimeout = -1;

+ 0 - 0
desktop/core/src/desktop/js/apps/table_browser/metastoreTablePartitions.js → desktop/core/src/desktop/js/apps/tableBrowser/metastoreTablePartitions.js


+ 0 - 0
desktop/core/src/desktop/js/apps/table_browser/metastoreTableSamples.js → desktop/core/src/desktop/js/apps/tableBrowser/metastoreTableSamples.js


+ 1 - 1
desktop/core/src/desktop/js/apps/table_browser/metastoreViewModel.js → desktop/core/src/desktop/js/apps/tableBrowser/metastoreViewModel.js

@@ -20,7 +20,7 @@ import * as ko from 'knockout';
 import apiHelper from 'api/apiHelper';
 import huePubSub from 'utils/huePubSub';
 import hueUtils from 'utils/hueUtils';
-import MetastoreSource from 'apps/table_browser/metastoreSource';
+import MetastoreSource from 'apps/tableBrowser/metastoreSource';
 import dataCatalog from 'catalog/dataCatalog';
 import { findEditorConnector, GET_KNOWN_CONFIG_EVENT } from 'utils/hueConfig';
 

+ 1 - 0
desktop/core/src/desktop/templates/hue.mako

@@ -277,6 +277,7 @@ ${ hueIcons.symbols() }
 </div>
 ${ commonshare() | n,unicode }
 
+${ render_bundle('vendors~hue~jobBrowser~notebook~tableBrowser') | n,unicode }
 ${ render_bundle('vendors~hue~notebook~tableBrowser') | n,unicode }
 ${ render_bundle('vendors~hue~notebook') | n,unicode }
 ${ render_bundle('vendors~hue') | n,unicode }

+ 2 - 1
webpack.config.js

@@ -44,7 +44,8 @@ module.exports = {
   entry: {
     hue: ['./desktop/core/src/desktop/js/hue.js'],
     notebook: ['./desktop/core/src/desktop/js/apps/notebook/app.js'],
-    tableBrowser: ['./desktop/core/src/desktop/js/apps/table_browser/app.js']
+    tableBrowser: ['./desktop/core/src/desktop/js/apps/tableBrowser/app.js'],
+    jobBrowser: ['./desktop/core/src/desktop/js/apps/jobBrowser/app.js']
   },
   optimization: {
     //minimize: true,