computeConfiguration (options = null) {
    // Get the base configuration
    let configuration = Object.assign({}, this.configuration);

    // If we got options supplied
    if (options) {
      if (options.template && typeof this.templates[options.template] !== 'undefined') {
        // Get the template based on the name and merge it onto the base configuration
        configuration = deepExtend(configuration, this.templates[options.template]);
      }

      if (options.theme && typeof this.themes[options.theme] !== 'undefined') {
        // Get the theme based on the name and merge it onto the base configuration
        configuration = deepExtend(configuration, this.themes[options.theme]);
      }

      if (options.layout && typeof this.layouts[options.layout] !== 'undefined') {
        // Get the layout based on the name and merge it onto the base configuration
        configuration = deepExtend(configuration, this.layouts[options.layout]);
      }
    }

    // Return the computed configuration
    return configuration;
  }
/**
   * Compute the configuration
   *
   * @param {object} options - Any options (e.g. a specific theme and / or layout) to use when computing the configuration
   *
   * @return {object} The computed configuration
   */
Compute the configuration
@param {object} options - Any options  to use when computing the configuration

@return {object} The computed configuration
Compute the configuration @param { object } options - Any options to use when computing the configuration @return { object } The computed configuration
computeConfiguration (options = null) {
    let configuration = Object.assign({}, this.configuration);
    if (options) {
      if (options.template && typeof this.templates[options.template] !== 'undefined') {
        configuration = deepExtend(configuration, this.templates[options.template]);
      }
      if (options.theme && typeof this.themes[options.theme] !== 'undefined') {
        configuration = deepExtend(configuration, this.themes[options.theme]);
      }
      if (options.layout && typeof this.layouts[options.layout] !== 'undefined') {
        configuration = deepExtend(configuration, this.layouts[options.layout]);
      }
    }
    return configuration;
  }
computeConfiguration ( options = null ) { let configuration = Object . assign ( { } , this . configuration ) ; if ( options ) { if ( options . template && typeof this . templates [ options . template ] !== 'undefined' ) { configuration = deepExtend ( configuration , this . templates [ options . template ] ) ; } if ( options . theme && typeof this . themes [ options . theme ] !== 'undefined' ) { configuration = deepExtend ( configuration , this . themes [ options . theme ] ) ; } if ( options . layout && typeof this . layouts [ options . layout ] !== 'undefined' ) { configuration = deepExtend ( configuration , this . layouts [ options . layout ] ) ; } } return configuration ; }
Compute the configuration
 @param {object} options - Any options (e.g.
Compute the configuration @param { object } options - Any options ( e . g .
// Get the base configuration // If we got options supplied // Get the template based on the name and merge it onto the base configuration // Get the theme based on the name and merge it onto the base configuration // Get the layout based on the name and merge it onto the base configuration // Return the computed configuration