Browse Source

[search] First version of result inspector

Enrico Berti 11 năm trước cách đây
mục cha
commit
c9d59b7

+ 35 - 0
apps/search/src/search/templates/search2.mako

@@ -718,6 +718,31 @@ ${ commonheader(_('Search'), "search", user, "80px") | n,unicode }
   </div>  
 </div>
 
+<div id="showDocModal" class="modal hide">
+  <div class="modal-header">
+    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
+    <h3>${_('Result inspector')}</h3>
+  </div>
+  <div class="modal-body">
+    <p>
+      <table>
+        <tbody data-bind="foreach: {data: Object.keys($root.collection.selectedDocument()), as: '_key'}">
+          <tr>
+            <th style="text-align: left" data-bind="text: _key"></th>
+            <td data-bind="html: $root.collection.selectedDocument()[_key]"></td>
+          </tr>
+        </tbody>
+      </table>
+    </p>
+  </div>
+  <div class="modal-footer">
+    <div>
+      <input type="button" class="btn" data-dismiss="modal" value="${_('Close')}" />
+    </div>
+  </div>
+</div>
+
+
 ## Extra code for style and custom JS
 <span data-bind="html: $root.collection.template.extracode"></span>
 
@@ -996,6 +1021,10 @@ ${ commonheader(_('Search'), "search", user, "80px") | n,unicode }
     cursor: move;
   }
 
+  .result-row {
+    cursor: pointer;
+  }
+
 </style>
 
 <script type="text/javascript" charset="utf-8">
@@ -1148,6 +1177,11 @@ function mapChartDataTransformer(data) {
 
 $(document).ready(function () {
 
+  $(document).on("showDoc", function(e, doc){
+    viewModel.collection.selectedDocument(doc);
+    $("#showDocModal").modal();
+  });
+
   $(document).on("click", ".widget-settings-pill", function(){
     $(this).parents(".card-body").find(".widget-main-section").hide();
     $(this).parents(".card-body").find(".widget-settings-section").show();
@@ -1173,6 +1207,7 @@ $(document).ready(function () {
     }
   };
 
+
   ko.extenders.numeric = function (target, precision) {
     var result = ko.computed({
       read: target,

+ 3 - 1
apps/search/static/js/search.ko.js

@@ -361,6 +361,8 @@ var Collection = function (vm, collection) {
     });
   });
 
+  self.selectedDocument = ko.observable({});
+
   self.addFacet = function (facet_json) {
     $.post("/search/template/new_facet", {
       "collection": ko.mapping.toJSON(self),
@@ -791,7 +793,7 @@ var SearchViewModel = function (collection_json, query_json, initial_json) {
       id: doc.id
     },function (data) {
       if (data.status == 0) {
-        alert(ko.mapping.toJSON(data.doc.doc));
+        $(document).trigger("showDoc", data.doc.doc);
       }
       else if (data.status == 1) {
         $(document).trigger("info", data.message);