If you want to change the response filter used in one of the out-of-the-box widgets (described in Out-of-the-box response filters), Oracle recommends that you create a new response filter and assign it to the endpoint/identifier combination the widget uses in its context object. To do this, you create an application-level JavaScript module that requires in the CCStoreConfiguration library and creates a modified version of the filter map. As a reminder, the out-of-the-box filter map looks like this:

define(

  //-------------------------------------------------------------------
  // DEPENDENCIES
  //-------------------------------------------------------------------
  ['ccStoreConfiguration'],

  //-------------------------------------------------------------------
  // Module definition
  //-------------------------------------------------------------------
  function(CCStoreConfiguration) {

    'use strict';

    return {
      onLoad : function() {

        console.log("Loading Application Level JS");
          var filterMap = {
              "getCollection":{
                "megaMenuNavigation": {"ccFilterConfigKey": "categoryNavData"},
                "categoryNavigation": {"ccFilterConfigKey": "categoryNavData"}
              },
              "listProducts":{
                "productListingData": {"ccFilterConfigKey": "PLPData"},
                "collectionWidget": {"ccFilterConfigKey": "collectionData"},
                "getProductData": {"ccFilterConfigKey": "productData"},
                "getProductDataAndRedirect": {"ccFilterConfigKey": "productData"},
              }
          };

          CCStoreConfiguration.getInstance().updateFiltersToUse(newFilterMap);
      },
    }
  }
);

The code in this example changes the response filter key for the Collection Navigation widget from categoryNavData to customFilterKey1.

define(

  //-------------------------------------------------------------------
  // DEPENDENCIES
  //-------------------------------------------------------------------
  ['ccStoreConfiguration'],

  //-------------------------------------------------------------------
  // Module definition
  //-------------------------------------------------------------------
  function(CCStoreConfiguration) {

    'use strict';

    return {
      onLoad : function() {

        console.log("Loading Application Level JS");
          var filterMap = {
              "getCollection":{
                "megaMenuNavigation": {"ccFilterConfigKey": "customFilterKey1"},
                "categoryNavigation": {"ccFilterConfigKey": "categoryNavData"}
              },
              "listProducts":{
                "productListingData": {"ccFilterConfigKey": "PLPData"},
                "collectionWidget": {"ccFilterConfigKey": "collectionData"},
                "getProductData": {"ccFilterConfigKey": "productData"},
                "getProductDataAndRedirect": {"ccFilterConfigKey": "productData"},
              }
          };

          CCStoreConfiguration.getInstance().updateFiltersToUse(newFilterMap);
      },
    }
  }
);

Remember that the top-level objects you define in the filter map override any out-of-the-box top-level objects. In other words, if you modify a top-level object in the filter map, only the identifiers you explicitly include your top-level object are used by the CCStoreConfiguration library. For this reason, you should be careful to include the out-of-the-box identifiers in top-level objects to avoid overwriting them. See Add a new response filter key to the out-of-the-box filter map for more information.

The following table defines which identifier and filter key combination is used by the out-of-the-box widgets:

Widget

Endpoint

Identifier

Response filter Key

Collection Navigation

getCollection

megaMenuNavigation

categoryNavData

Collection Navigation – Basic

getCollection

categoryNavigation

categoryNavData

Product Listing

listProducts

productListingData

PLPData

Collection

listProducts

collectionWidget

collectionData


Copyright © 1997, 2017 Oracle and/or its affiliates. All rights reserved. Legal Notices