Sotaro KARASAWA 10 lat temu
rodzic
commit
b87373ca6a

+ 0 - 1
lib/views/layout/2column.html

@@ -22,7 +22,6 @@
       <input id="searchQuery" name="q" type="text" class="form-control" placeholder="検索文字...">
       <input id="searchQuery" name="q" type="text" class="form-control" placeholder="検索文字...">
       <button type="submit" class="btn btn-default">検索</button>
       <button type="submit" class="btn btn-default">検索</button>
     </form>
     </form>
-    {% include '../widget/searcher.html' %}
 
 
     <ul class="nav navbar-nav navbar-right">
     <ul class="nav navbar-nav navbar-right">
 
 

+ 1 - 1
lib/views/page_list.html

@@ -17,7 +17,7 @@
       <span class="" id="revision-path">{{ path|insertSpaceToEachSlashes }}</span>
       <span class="" id="revision-path">{{ path|insertSpaceToEachSlashes }}</span>
       <div class="form-group search-input-group">
       <div class="form-group search-input-group">
         <div class="input-group">
         <div class="input-group">
-          <input type="text" class="search-listpage-input form-control input-sm">
+          <input type="text" class="search-listpage-input form-control input-sm" data-path="{{ path }}">
           <div class="input-group-addon"><i class="fa fa-search"></i></div>
           <div class="input-group-addon"><i class="fa fa-search"></i></div>
         </div>
         </div>
       </div>
       </div>

+ 0 - 100
lib/views/widget/searcher.html

@@ -1,100 +0,0 @@
-{% if config.crowi['searcher:url'] %}
-
-<form id="headerSearch" class="navbar-form navbar-left form-inline" role="search">
-  <div class="form-group">
-    <input id="searchQuery" name="q" type="text" class="form-control" placeholder="検索文字...">
-    <button type="submit" class="btn btn-default">検索</button>
-    <script>
-      function Searcher () {
-      };
-      Searcher.prototype = {
-        baseUrl: "{{ config.crowi['searcher:url'] }}",
-        currentQuery: "",
-        searchData: [],
-        setData: function (data) {
-          this.searchData = data;
-        },
-        search: function (query) {
-          var self = this;
-          self.currentQuery = query;
-          if (query == "") {
-            return false;
-          }
-          $("#searchQuery").addClass('searching');
-          $.ajax({
-            url: self.baseUrl + '/search?type=json&callback=?',
-            data: {q: query},
-            cache: false,
-            dataType: 'jsonp'
-          }).done(function (data) {
-            self.setData(data);
-            self.showSearchWidget();
-            $("#searchQuery").removeClass('searching');
-          });
-        },
-        showSearchWidget: function () {
-          if (this.searchData.length > 0) {
-            $('#headerSearch').popover('show');
-          }
-          $("#searchQuery").removeClass('searching');
-        },
-        createSearchContent: function () {
-          var self = this;
-          var contentHtml = $('<ul class=\"search-list\"></ul>');
-          $.each(self.searchData.slice(0, 6), function (i, d) {
-            var $li = $("<li class=\"list-link\"></li>");
-            var $a = $("<a></a>");
-            $a.attr('href', d.path).html(d.path + "<br>");
-            var $span = $("<span class=\"search-description\"></span>");
-            $span.text(d.body.substr(0, 50) + "...");
-            $a.append($span);
-            $li.append($a);
-            contentHtml.append($li);
-          });
-
-          var $li = $("<li class=\"divider\"></li>");
-          contentHtml.append($li);
-          $li = $("<li class=\"next-link\"></li>");
-          $li.html("<a href=\"" + self.baseUrl + "/search?q=" + encodeURIComponent(self.currentQuery) + "\">もっと見る</a>");
-          contentHtml.append($li);
-          return contentHtml;
-        },
-        jump: function (query) {
-          self = this;
-          top.location.href = self.baseUrl + '/search?q=' + query;
-        }
-      };
-      var SearcherObject = new Searcher();
-
-      $('#headerSearch').popover({
-        placement: 'bottom',
-        trigger: 'manual',
-        html: 'true',
-        content: function () {
-          return SearcherObject.createSearchContent();
-        }
-      });
-      $('#searchQuery').on('focus', function(e) {
-        SearcherObject.showSearchWidget();
-      });
-      $('#searchQuery').on('blur', function(e) {
-        $('#headerSearch').popover('hide');
-      });
-      $('#headerSearch').on('submit', function(e) {
-        SearcherObject.jump($("#searchQuery").val());
-        return false;
-      });
-
-      var previousText = "";
-      setInterval(function (e) {
-        var text = $("#searchQuery").val();
-        if (text != previousText) {
-          SearcherObject.search(text);
-        }
-        previousText = text;
-      }, 1000);
-    </script>
-  </div>
-</form>
-
-{% endif %}

+ 19 - 0
resource/js/crowi.js

@@ -219,6 +219,23 @@ Crowi.userPicture = function (user) {
 };
 };
 
 
 
 
+CrowiSearcher = function(path, $el) {
+  this.$el = $el;
+  this.path = path;
+  this.searchResult = {};
+};
+CrowiSearcher.prototype.querySearch = function(keyword, option) {
+};
+CrowiSearcher.prototype.search = function(keyword) {
+  var option = {};
+  this.querySearch(keyword, option);
+  this.$el.html(this.render());
+};
+CrowiSearcher.prototype.render = function() {
+  return $('<div>');
+};
+
+
 $(function() {
 $(function() {
   var pageId = $('#content-main').data('page-id');
   var pageId = $('#content-main').data('page-id');
   var revisionId = $('#content-main').data('page-revision-id');
   var revisionId = $('#content-main').data('page-revision-id');
@@ -683,4 +700,6 @@ $(function() {
       }
       }
     });
     });
   }
   }
+
+  // for search
 });
 });