瀏覽代碼

[search] Diff new fields against they type too

Romain Rigaux 10 年之前
父節點
當前提交
529ee0a
共有 2 個文件被更改,包括 6 次插入6 次删除
  1. 4 4
      apps/search/src/search/static/search/js/search.ko.js
  2. 2 2
      apps/search/src/search/templates/search.mako

+ 4 - 4
apps/search/src/search/static/search/js/search.ko.js

@@ -934,13 +934,13 @@ var Collection = function (vm, collection) {
         $.grep(currentObservable(), function(field) {
           return field.isDynamic() == isDynamic;
         }), function(field) {
-      return field.name();
+      return field.name() + '|' + field.type();
     });
     var _newFieldsNames = $.map(
       $.grep(newJson, function(field) {
           return field.isDynamic == isDynamic;
         }), function(field) {
-      return field.name;
+      return field.name + '|' + field.type;
     });
 
     var _toDelete = diff(_currentFieldsNames, _newFieldsNames);
@@ -949,13 +949,13 @@ var Collection = function (vm, collection) {
     // Deleted fields
     self.template.fieldsSelected.removeAll(_toDelete);
     var bulk = $.grep(currentObservable(), function(field) {
-      return (_toDelete.indexOf(field.name()) != -1)
+      return (_toDelete.indexOf(field.name() + '|' + field.type()) != -1)
     });
     currentObservable.removeAll(bulk);
 
     // New fields
     $.each(newJson, function(index, field) {
-      if (_toAdd.indexOf(field.name) != -1) {
+      if (_toAdd.indexOf(field.name + '|' + field.type) != -1) {
         currentObservable.push(ko.mapping.fromJS(field));
       }
     });

+ 2 - 2
apps/search/src/search/templates/search.mako

@@ -655,9 +655,9 @@ ${ dashboard.layout_skeleton() }
         </div>
         <div class="fields-list" data-bind="foreach: $root.collection.template.filteredAttributeFields">
           <div style="margin-bottom: 3px; white-space: nowrap">
-            <i class="fa fa-question-circle pull-right muted pointer analysis" data-bind="click: function() { $root.fieldAnalysesName(name()); $root.showFieldAnalysis(); }, attr:{'title': '${ _ko('Click to analyze field') } ' + name()}"></i>
+            <i class="fa fa-question-circle pull-right muted pointer analysis" data-bind="click: function() { $root.fieldAnalysesName(name()); $root.showFieldAnalysis(); }, attr: {'title': '${ _ko('Click to analyze field') } ' + name() + ' (' + type() + ')'}"></i>
             <input type="checkbox" data-bind="checkedValue: name, checked: $root.collection.template.fieldsSelected" style="margin: 0" />
-            <div data-bind="text: type, css:{'field-selector': true, 'hoverable': $root.collection.template.fieldsSelected.indexOf(name()) > -1}, click: highlightColumn" style="margin-right: 10px"></div>
+            <div data-bind="text: name, css:{'field-selector': true, 'hoverable': $root.collection.template.fieldsSelected.indexOf(name()) > -1}, click: highlightColumn" style="margin-right: 10px"></div>
           </div>
         </div>
         <div data-bind="visible: $root.collection.template.filteredAttributeFields().length == 0" style="padding-left: 4px; padding-top: 5px; font-size: 40px; color: #CCC">