Nicely Presented Misnomer


    1.1.3 • Public • Published



    Allows users to submit requests for course reserves directly from the Primo catalog. Requires a server side php file to receive the request from Primo, and send as email to reserves staff. Within the app.constant options, you can indicate which user groups will see the request option.




    1. Make sure you've installed and configured primo-explore-devenv.
    2. Navigate to your template/central package root directory. For example:
      cd primo-explore/custom/MY_VIEW_ID
    3. If you do not already have a package.json file in this directory, create one:
      npm init -y
    4. Install this package:
      npm install primo-explore-reserves-request --save-dev


    Once this package is installed, add reservesRequest as a dependency for your custom module definition.

    var app = angular.module('viewCustom', ['reservesRequest'])

    Note: If you're using the --browserify build option, you will need to first import the module with:

    import 'primo-explore-reserves-request';

    You can configure this customization by passing the following options via reserveRequestOptions (a full example is at the bottom of this file.) :

    param type usage
    instCode string the short code of your institution target
    formatBlacklist array format types for which you don't want the request option to appear (e.g. journal)
    userGroupWhitelist array Alma user groups for which you want the request option to appear
    selectProps mixed values for the reserves loan period select menu
    targetUrl string URL where your PHP script lives, for converting data to email request
    successMessage html Message users will see upon successful request
    failureMessage html Message users will see upon failed request
    primoDomain string Domain of your primo instance (e.g. Used to generate permalink for staff.
    primoVid string VID of your Primo view. Used to generate permalink for staff.
    primoScope string Primo scope. Used to generate permalink for staff.

    For example:

    /* edit these below to fit your local environment */
    app.constant('reserveRequestOptions', {
      instCode : "LCC", /* code of your library  */
      formatBlacklist : ["journal", "ebook"],  /* formats for which this will not appear  */
      userGroupWhitelist : ["2","3","anotherGroup"],   /* array of whitelisted group members who will see this when authenticated    */
      selectProps : {
        "value": "3 hours", /* initial default text display in select menu  */
        "values": ["3 hours", "1 day", "3 days"], /* pulldown menu options for loan periods*/
        "loanRule" : "3 hours" /* defaut select value for <option> value*/
      targetUrl : "", /* URL to send data to, for emailing, etc.*/
      successMessage : "<md-card style='background-color:#e6e6e6;'><md-card-content><p>Your request has been placed. Watzek Library Access Services staff will aim to place the item on reserve within 24 hours. Items that are checked out will be recalled and placed on reserves as soon as possible. If you have questions, please email, or contact the Service Desk at 503-768-7270.</p></md-card-content></md-card>",
      failureMessage : "<md-card style='background-color:#e6e6e6;'><md-card-content><p>We're sorry, an error occurred. Please let us know at, or contact the Service Desk at 503-768-7270.</p></md-card-content></md-card>",
      primoDomain : "",
      primoVid : "LCC",
      primoScope : "lcc_local"


    npm i @orbis-cascade/primo-explore-reserves-request

    DownloadsWeekly Downloads






    Unpacked Size

    323 kB

    Total Files


    Last publish


    • kveldhui
    • eoulib
    • bryan_v
    • budak
    • jeremy2443