node package manager
Love JavaScript? Your insights can make it even better. Take the 2017 JavaScript Ecosystem Survey »


FENIX Catalog

var Catalog = require('fx-catalog/start');
var catalog = new Catalog(options);


Check fx-catalog/config/config.js to have a look of the default configuration.

Parameter Type Default Value Example Description
el CSS3 Selector/JavaScript DOM element/jQuery DOM element - "#container" component container
cache boolean false true whether or not to use FENIX bridge cache
perPage string 10 20 How many results to show per page
actions Array of string ['select'] ['select', 'metadata', 'view', 'download'] The action button aside of each result
excludedAction object { dataset : [], geographic : ['download'] } { dataset : ['download'], geographic : [] } Keyset is the enumeration of FENIX resource representation type. Value: array of string with the resultActions to exclude for a specific resource representation type.
menuExcludedItems Array of string [] ['accessibility'] Ids of menu items to hide fro default configuration
searchTimeoutInterval number 1000 2000 Result refresh timeout for instant search
dateFormat string 'YYYY MMM DD' 'YYYY M DD' Moment JS date format
hideCloseButton boolean false true Hide the close button
columns object title: { path : "title", type: "i18n" }, source : { path : "contacts", type : "source" }, last_update : { path : "meMaintenance.seUpdate.updateDate", type : "epoch" }, region : { path: "meContent.seCoverage.coverageGeographic", type: "code" }, resourceType : { path: "meContent.resourceRepresentationType" } - Keyset: columns is, value: object. path: FENIX metadata v2.0 path of the metadata attribute to show. Type: attribute type
findServiceParams object { full: true, order : "meMaintenance.seUpdate.updateDate:desc" //order by last update } - D3P compatible string parameters
defaultSelectors Array of selector id ['resourceType', 'contextSystem'] ['resourceType'] Id of the default selectors of the catalog. Id are accessible from the selectors registry.
environment string 'develop' 'production' Server environment
lang string 'EN' 'FR' Multilingual
pluginRegistry Object check `fx-catalog/config/pluginRegistry.js` - Expandable available selectors registry
langFallbackOrder Array of language ["EN", "FR", "ES", "AR", "PR"] ["AR", "FR", "EN", "ES", "PR"] Whenever a multi-language label is used, in case the UI-language label is not available this is the language fallback order.


//This is an example
  • catalog.reset() : reset catalog filter criteria and results
  • catalog.on(event, callback[, context]) : pub/sub
  • catalog.dispose() : dispose the catalog instance


  • select : triggered when a "select" button is clicked
  • download : triggered when a "download" button is clicked
  • view : triggered when a "view" button is clicked
  • metadata : triggered when a "metadata" button is clicked

Filtering process

Results will be referred to the baseFilter criteria merged with the user selection. In case a user selects a criteria already defined in the base filter, the user choice will override the baseFilter one.

Available Selectors

It is possible to add custom selectors. In order to do so, use the pluginRegistry option that will be merged to the defaults one. In case an added selector has the same id of a default one, the default one will be overridden.