فهرست منبع

HUE-7557 [assist] Wire in the right sample popup for the collections items

Enrico Berti 8 سال پیش
والد
کامیت
779edb6

+ 4 - 0
desktop/core/src/desktop/static/desktop/js/assist/assistDbEntry.js

@@ -206,6 +206,10 @@ var AssistDbEntry = (function () {
       type = 'database';
     }
 
+    if (self.sourceType === 'solr') {
+      type = 'collection';
+    }
+
     self.statsVisible(true);
     huePubSub.publish('context.popover.show', {
       data: {

+ 2 - 0
desktop/core/src/desktop/templates/assist.mako

@@ -197,7 +197,9 @@ from notebook.conf import ENABLE_QUERY_BUILDER, ENABLE_QUERY_SCHEDULING, get_ord
   <script type="text/html" id="assist-table-entry">
     <li class="assist-table" data-bind="appAwareTemplateContextMenu: { template: 'sql-context-items', scrollContainer: '.assist-db-scrollable' }, visibleOnHover: { override: statsVisible() || navigationSettings.rightAssist, selector: '.table-actions' }">
       <div class="assist-actions table-actions" data-bind="css: { 'assist-actions-left': navigationSettings.rightAssist }" style="opacity: 0">
+        <!-- ko if: sourceType !== 'solr' -->
         <a class="inactive-action" href="javascript:void(0)" data-bind="visible: navigationSettings.showStats, click: showContextPopover, css: { 'blue': statsVisible }"><i class="fa fa-fw fa-info" title="${_('Show details')}"></i></a>
+        <!-- /ko -->
         <a class="inactive-action" href="javascript:void(0)" data-bind="visible: navigationSettings.openItem, click: openItem"><i class="fa fa-long-arrow-right" title="${_('Open')}"></i></a>
       </div>
       <a class="assist-entry assist-table-link" href="javascript:void(0)" data-bind="click: toggleOpen, attr: {'title': definition.title }, draggableText: { text: editorText,  meta: {'type': 'sql', 'table': tableName, 'database': databaseName} }">

+ 8 - 8
desktop/core/src/desktop/templates/context_popover.mako

@@ -1220,8 +1220,8 @@ from metadata.conf import has_navigator
         self.data().terms.data.removeAll();
         self.data().loadingTerms(true);
         self.apiHelper.fetchDashboardTerms({
-          collectionName: self.data().details.parent.definition.name,
-          fieldName: self.data().details.definition.name,
+          collectionName: self.data().details.identifierChain[1].name,
+          fieldName: self.data().details.identifierChain[2].name,
           prefix: self.data().terms.prefix(),
           engine: 'solr',
           successCallback: function (data) {
@@ -1242,13 +1242,14 @@ from metadata.conf import has_navigator
         self.data().terms.data.removeAll();
         self.data().loadingStats(true);
         self.data().statsSupported(true);
+        var fieldName = self.data().details.identifierChain[2].name;
         self.apiHelper.fetchDashboardStats({
-          collectionName: self.data().details.parent.definition.name,
-          fieldName: self.data().details.definition.name,
+          collectionName: self.data().details.identifierChain[1].name,
+          fieldName: fieldName,
           engine: 'solr',
           successCallback: function (data) {
-            if (data.stats.stats.stats_fields[self.data().details.definition.name] != null) {
-              $.each(data.stats.stats.stats_fields[self.data().details.definition.name], function (key, val) {
+            if (data.stats.stats.stats_fields[fieldName] != null) {
+              $.each(data.stats.stats.stats_fields[fieldName], function (key, val) {
                 self.data().stats.data.push({'key': key, 'val': val});
               });
             }
@@ -1589,8 +1590,7 @@ from metadata.conf import has_navigator
           self.iconClass = 'fa-file-o';
         } else if (self.isCollection) {
           self.contents = new CollectionContextTabs(self.data);
-          self.title = self.data.parent.definition.name + '.' + self.data.definition.name;
-          self.subtitle = (self.data.parent.key() === self.data.definition.name ? '<i class="fa fa-key"></i> (' : '(') + self.data.definition.type + ')';
+          self.title = self.data.identifierChain[1].name + '.' + self.data.identifierChain[2].name;
           self.iconClass = 'fa-search';
         } else {
           self.title = '';