1. 24 Jul, 2017 6 commits
    • Robert Knight's avatar
      Remove "result" field handling from viewFilter service · 1f774db4
      Robert Knight authored
      This was undocumented and untested, and it is very unlikely that anyone
      actually uses it.
      
      It has also fundamentally been broken for a long time in the client
      because filtering was applied _before_ sorting when building the thread
      structure, so it was arbitrary (from the user's point of view) which
      annotations would be kept by a `result` limit.
      1f774db4
    • Robert Knight's avatar
      Add tests for "since" and "uri" filters. · ad486887
      Robert Knight authored
      Codecov tells me that we are missing tests for these fields.
      
      In the case of the "since" filter, this found an issue where `new
      Date(<ann.updated value>)` was failing in PhantomJS because value
      normalization lower-cased the 'T' and 'Z' chars in the ISO date string
      and this caused parsing to fail. Fix this by making the `value` function
      return a `Date` object which won't get normalized.
      ad486887
    • Robert Knight's avatar
      Add test case for handling of empty term lists in filter. · b8ec987c
      Robert Knight authored
      A difference between the existing test cases for the viewFilter service
      and the actual inputs that are created by
      `searchFilter#generateFacetedFilter` is that the actual input filter
      object has empty term lists for fields that do not appear in the query.
      Fix handling of this and add a test.
      b8ec987c
    • Robert Knight's avatar
      Add a workaround for a Babel + browserify-ngannotate interaction issue. · ed019ad6
      Robert Knight authored
      Babel inserts helper code before the first non-comment statement from the original
      source, breaking the `@ngInject` annotation.
      ed019ad6
    • Robert Knight's avatar
      Rewrite and simplify view-filter service. · a2373770
      Robert Knight authored
      Rewrite the view filter service to make it easier to verify and fix a
      bug in the handling of "any" queries:
      
      The input filter object representing the parsed search query is
      translated into a tree of filter primitives, where each primitive is
      either a TermFilter that tests whether an annotation matches a single
      (field, term) or a BinaryOpFilter that combines other filters using AND
      or OR operators. The list of annotations are then matched against the
      tree's root filter.
      
      This system allows a nicer representation of "any" field queries by
      expanding a query such as "foo bar" into:
      
        (quote:foo OR text:foo OR ...) AND (quote:bar OR text:bar OR ...)
      
      In the process a mistake was uncovered in a test case for the "any"
      filter which incorrectly allowed the previous broken implementation to
      pass.
      a2373770
    • Robert Knight's avatar
      Convert viewFilter service to JS · 08928c94
      Robert Knight authored
      This is an initial translation of the existing viewFilter code to JS
      using decaffeinate plus some manual fixups.
      08928c94
  2. 20 Jul, 2017 2 commits
  3. 19 Jul, 2017 2 commits
  4. 18 Jul, 2017 1 commit
    • Juan Corona's avatar
      Use a URN derived from DublinCore meta tags for creating equivalent links... · 7b9cbbb7
      Juan Corona authored
      Use a URN derived from DublinCore meta tags for creating equivalent links across documents that provide ‘dc:source’ and ‘dc:identifier’ tags
      
      This link is now the documentIdentifier for non-PDF cases for the document metadata. This metadata is shared with the sidebar, making this link appear in the list of links for the Search API calls
      7b9cbbb7
  5. 17 Jul, 2017 4 commits
  6. 14 Jul, 2017 9 commits
  7. 13 Jul, 2017 6 commits
  8. 12 Jul, 2017 2 commits
  9. 11 Jul, 2017 8 commits