Ignore:
Timestamp:
07/29/12 00:03:52 (13 years ago)
Author:
hendrikvanantwerpen
Message:
  • Cleanup of the differen ListViews?, List & OrderedList?. Based QuestionListView? on these base classes as well. Removed duplicate code.
  • Destroy busy indicator of TabbedQuestionBrowser? (because it's placed outside of the widgets DOM tree, this is not done automatically).
  • Use dojo/date/stamp module for uniform and parsable date formatting.
  • Added docs/ directory for database format documentation etc.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Dev/branches/rest-dojo-ui/client/rft/elastic/ElasticReadStore.js

    r382 r384  
    77    ],function(declare, json, lang, xhr, QueryReadStore) {
    88
    9         return declare("rft.elastic.ElasticReadStore", QueryReadStore, {
    10             fetch:function(request){
    11                 var attr = Object.keys(request.query)[0];
    12                 if (request.query[attr].length == 0) {
    13                         return 0;
    14                 }
    15                 var q = request.query[attr];
     9    return declare("rft.elastic.ElasticReadStore", QueryReadStore, {
     10        fetch:function(request){
     11            var attr = Object.keys(request.query)[0];
     12            if (request.query[attr].length == 0) {
     13                return 0;
     14            }
     15            var q = request.query[attr];
    1616
    17                 request.serverQuery = json.toJson({
    18                                                                 query:
    19                                                                 {
    20                                                                         query_string:
    21                                                                         {
    22                                                                                 default_field: attr,
    23                                                                                 query: q
    24                                                                         }
    25                                                                 }
    26                                                         });
    27                     // Call superclasses' fetch
    28                     return this.inherited("fetch", arguments);
    29                   },
    30                 _fetchItems: function(request, fetchHandler, errorHandler){
    31                         var serverQuery = request.serverQuery;
    32                         var xhrHandler = xhr.post({
     17            request.serverQuery = json.toJson({
     18                query: {
     19                    query_string: {
     20                        default_field: attr,
     21                        query: q
     22                    }
     23                }
     24            });
     25            return this.inherited(arguments);
     26          },
     27        _fetchItems: function(request, fetchHandler, errorHandler){
     28            var serverQuery = request.serverQuery;
     29            var xhrHandler = xhr.post({
    3330                url: this.url,
    3431                handleAs: "json",
    3532                postData: serverQuery
     33            }).then(lang.hitch(this, function(data){
     34                this._xhrFetchHandler(data, request, fetchHandler, errorHandler);
     35            }),function(error){
     36                errorHandler(error, request);
    3637            });
    37                         request.abort = function(){
    38                                 xhrHandler.cancel();
    39                         };
    40                         xhrHandler.addCallback(lang.hitch(this, function(data){
    41                                 this._xhrFetchHandler(data, request, fetchHandler, errorHandler);
    42                         }));
    43                         xhrHandler.addErrback(function(error){
    44                                 errorHandler(error, request);
    45                         });
    46                 },
    47                 _xhrFetchHandler: function(data, request, fetchHandler, errorHandler) {
    48                         data = this._filterResponse(data);
    49                         this._items = [];
    50                         var numHits = data.hits.total || -1;
    51                         if(numHits > 0) {
    52                                 this._items.push({i:data.hits.hits[0]._source, r:this, n:0});
    53                         }
    54                         fetchHandler(this._items, request, data.hits.total);
    55                         this._numRows = data.hits.total;
    56                 }
    57         });
     38            request.abort = function(){
     39                xhrHandler.cancel();
     40            };
     41        },
     42        _xhrFetchHandler: function(data, request, fetchHandler, errorHandler) {
     43            data = this._filterResponse(data);
     44            this._items = [];
     45            var numHits = data.hits.total || -1;
     46            if(numHits > 0) {
     47                this._items.push({i:data.hits.hits[0]._source, r:this, n:0});
     48            }
     49            fetchHandler(this._items, request, data.hits.total);
     50            this._numRows = data.hits.total;
     51        }
     52    });
    5853})
Note: See TracChangeset for help on using the changeset viewer.