title: How do I do a custom sort for a store in ExtJS?
body: <p>I currently have the code below that overrides the sort for all stores.  What I need to do is create a sort for an individual store.  How do I do that?</p>
  
  <pre><code>Ext.override(Ext.data.Store, {
      // override
      createSortFunction: function (field, direction) {
          direction = direction || "ASC";
          var directionModifier = direction.toUpperCase() == "DESC" ? -1 : 1;
          var sortType = this.fields.get(field).sortType;
  
          //create a comparison function. Takes 2 records, returns 1 if record 1 is greater,
          //-1 if record 2 is greater or 0 if they are equal
          return function (r1, r2) {
  
              var v1;
              var v2;
  
              if (field == 'Registered') {
                  v1 = sortType(r1.data['AircraftNeedsRegistered']);
                  v2 = sortType(r2.data['AircraftNeedsRegistered']);
  
                  if (r1.data['AircraftNeedsRegistered'])
                      r1.data['Register'] = !r1.data['Register'];
  
                  if (r2.data['AircraftNeedsRegistered'])
                      r2.data['Register'] = !r2.data['Register'];
  
                  //store.getAt(rowIndex).data['Registered'] = true;
              }
              else {
                  v1 = sortType(r1.data[field]);
                  v2 = sortType(r2.data[field]);
              }
  
              // To perform case insensitive sort
              if (v1.toLowerCase) {
                  v1 = v1.toLowerCase();
                  v2 = v2.toLowerCase();
              }
  
              return directionModifier * (v1 &gt; v2 ? 1 : (v1 &lt; v2 ? -1 : 0));
          };
      }
  </code></pre>
  
  <p>What I want to implement is something like this:</p>
  
  <pre><code>function AircraftStore() {
  return new Ext.data.JsonStore(Ext.apply({
      url: AVRMS.ROOT_CONTEXT + "/ssl/json/general/GetAircraftByOwnerId.aspx",
      idProperty: 'OwnerOid',
      baseParams: { OwnerOid: 0 },
      fields: ['AircraftOid', 'NNumber', 'Make', 'Model', 'Seats', 'RegistrationType', 'Airworthy', 'IsFaaAirport', 'AirworthyString', 'IsFaaAirportString', 'Airport', 'AircraftNeedsRegistered', 'Register'],
      sort: function (field, direction) {
          return customSort(field, direction);
      }
  }));
      };
  
  function customSort(field,direction) {
      //What do I put here?
  }
  </code></pre>