Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


AngularJS module to access DAIA services

npm version Build Status Test Coverage GitHub Issues

ng-daia is an AngularJS module to facilitate access Document Availability Information API (DAIA) display DAIA responses.



npm install ng-daia --save


bower install ng-daia --save


See for documentation and usage examples!

Getting started

The demo ( illustrates display of availability information with directives and filters provided by module ng-daia}. Please have a look at the documentation of each directive/filter.

The following minimal example might help to include ng-daia into your website:

<html ng-app="myApp">
  <script src="angular.min.js"></script>
  <script src="ng-daia.min.js"></script>
  <script>angular.module('myApp', ['ngDAIA']);</script>
  <link href="ng-daia.css" rel="stylesheet" />
  <div daia-api="http://your-daia-base-url" daia-id="your-document-id">


The default templates, included in ng-daia.js, can be styled with CSS, translated with angular-translate, and replaced with the template-url parameter:

The following CSS classes are used:

  • daia-response: the whole response
  • daia-result: the whole result
  • daia-document: each copy of the result
  • daia-label: style of descriptions
  • availability: overall style for display of availability
  • service-label: style for availability labels
  • availability-available: style for display of available services
  • availability-unavailable: style for display of unavailable services
  • availability-expected: style for display of unavailable services with expected availability
  • availability-limitation: style for limitations (in brackets after the corresponding availability status)
  • returning: overall style for message concerning 'expected' date and link for preordering
  • returning-expected: style for message concerning 'expected' date
  • access: style for display of possible access-link
  • simple-openaccess: style for simple availability "openaccess"
  • simple-loan: style for simple availability "loan"
  • simple-presentation: style for simple availability "presentation"

The default templates are fully prepared for internationalization (i18n) with angular-translate. To use the translations module, first include the following in your html:

<script src="../lib/angular-translate.min.js"></script>

There are several ways to manage translations with angular-translate. You might want to add them directly into your myApp module, or the translations can be put into their own json files and retrieved by your app, which will require an additional package:

<script src="../lib/angular-translate-loader-static-files.min.js"></script>

You then have to extend the app module to enable loading the translations (the filenames would in this case have the format "lang-en.json", etc.):

angular.module('myApp', ['ngDAIA', 'pascalprecht.translate']).config(['$translateProvider', function ($translateProvider) {
        prefix: '../src/translations/lang-',
        suffix: '.json'
    $translateProvider.registerAvailableLanguageKeys(['en', 'de'], {

As well as exporting the translation tables, this example shows the support for automatic language-detection. The default templates are using the following translation terms:

daia-response terms

  • unknown
  • available
  • unavailable
  • presentation
  • loan
  • interloan
  • none
  • expected
  • openaccess

labels and other text

  • INSTITUTION : reference label to holding institution
  • DOCUMENT : reference label for searched document
  • CATALOG_ENTRY : reference label for document link
  • DEPARTMENT : label for specific part of the institution
  • SIGNATURE : label for alternative id (like shelf mark for physical medium)
  • NO_RECORDS: message shown when no items can be displayed
  • AVAILABILITY : label used before unknown if no items can be displayed
  • EXPECTED_BACK : message
  • RESERVATION : displayed link text for reservation link
  • ACCESS : label displayed if a direct document link exists
  • STATUS : label text for daia-simple output


The demo (see demo directory of source code repository) contains a more detailed sample application that makes use of ng-daia as well as angular-translate. The demo should be run from a server (e.g. localhost).


See for development documentation. Contributions and feedback is appreciated!



Code licensed under the AGPL. Documentation licensed under CC BY 3.0.

DAIA icons (included in daia.css) are based on PICOL icons, CC-BY Melih Bilgil.


AngularJS module to facilitate access to availability information via DAIA






No packages published