all files / invenio-search-js/services/ invenioSearchHandler.js

100% Statements 10/10
100% Branches 0/0
100% Functions 4/4
100% Lines 10/10
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75                                                                          120×                 97×             47×         49×                    
/*
 * This file is part of Invenio.
 * Copyright (C) 2017 CERN.
 *
 * Invenio is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation; either version 2 of the
 * License, or (at your option) any later version.
 *
 * Invenio is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Invenio; if not, write to the Free Software Foundation, Inc.,
 * 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
 *
 * In applying this license, CERN does not
 * waive the privileges and immunities granted to it by virtue of its status
 * as an Intergovernmental Organization or submit itself to any jurisdiction.
 */
 
/**
  * @ngdoc service
  * @name invenioSearchHandler
  * @namespace invenioSearchHandler
  * @param {service} $location - Angular window.location service.
  * @description
  *    window.location API
  */
function invenioSearchHandler($location) {
 
  /**
    * Get $location.search() parameters
    * @memberof invenioSearchHandler
    * @returns {Object}
    */
  function get() {
    return $location.search();
  }
 
  /**
    * Set $location.search() parameters
    * @memberof invenioSearchHandler
    * @param {Object} args - The search request parameters.
    * @returns {Object}
    */
  function set(args) {
    $location.search(args);
  }
 
  /**
    * Replace the url without changing state
    * @memberof invenioSearchHandler
    */
  function replace() {
    $location.replace();
  }
 
  ////////////
 
  return {
    get: get,
    replace: replace,
    set: set,
  };
}
 
// Inject the necessary angular services
invenioSearchHandler.$inject = ['$location'];
 
angular.module('invenioSearch.services')
  .service('invenioSearchHandler', invenioSearchHandler);