Source: models/Category.js

/* * *  *  * *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  * */
/* Copyright (c) 2020 Mobify Research & Development Inc. All rights reserved. */
/* * *  *  * *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  * */

/**
 * Shop API
 * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
 *
 * OpenAPI spec version: 20.4
 *
 *
 * NOTE: This class is auto generated by the swagger code generator program.
 * https://github.com/swagger-api/swagger-codegen.git
 * Do not edit the class manually.
 *
 */


import ApiClient from '../ApiClient'





/**
* The Category model module.
* @module models/Category
* @version 20.4
*/
export default class Category {
    /**
    * Constructs a new <code>Category</code>.
    * Document representing a category.
    * @alias module:models/Category
    * @class
    */

    constructor() {








    }

    /**
    * Constructs a <code>Category</code> from a plain JavaScript object, optionally creating a new instance.
    * Copies all relevant properties from <code>data</code> to <code>obj</code> if supplied or a new instance if not.
    * @param {Object} data The plain JavaScript object bearing properties of interest.
    * @param {module:models/Category} obj Optional instance to populate.
    * @return {module:models/Category} The populated <code>Category</code> instance.
    */
    static constructFromObject(data, obj) {
        if (data) {
            obj = obj || new Category()





            if (data.hasOwnProperty('c_alternativeUrl')) {
                obj.c_alternativeUrl = ApiClient.convertToType(data.c_alternativeUrl, 'String')
            }
            if (data.hasOwnProperty('c_catBannerID')) {
                obj.c_catBannerID = ApiClient.convertToType(data.c_catBannerID, 'String')
            }
            if (data.hasOwnProperty('c_customCSSFile')) {
                obj.c_customCSSFile = ApiClient.convertToType(data.c_customCSSFile, 'String')
            }
            if (data.hasOwnProperty('c_enableCompare')) {
                obj.c_enableCompare = ApiClient.convertToType(data.c_enableCompare, 'Boolean')
            }
            if (data.hasOwnProperty('c_headerMenuBanner')) {
                obj.c_headerMenuBanner = ApiClient.convertToType(data.c_headerMenuBanner, 'String')
            }
            if (data.hasOwnProperty('c_headerMenuOrientation')) {
                obj.c_headerMenuOrientation = ApiClient.convertToType(data.c_headerMenuOrientation, 'String')
            }
            if (data.hasOwnProperty('c_showInMenu')) {
                obj.c_showInMenu = ApiClient.convertToType(data.c_showInMenu, 'Boolean')
            }
            if (data.hasOwnProperty('c_sizeChartID')) {
                obj.c_sizeChartID = ApiClient.convertToType(data.c_sizeChartID, 'String')
            }
            if (data.hasOwnProperty('c_slotBannerHtml')) {
                obj.c_slotBannerHtml = ApiClient.convertToType(data.c_slotBannerHtml, 'String')
            }
            if (data.hasOwnProperty('c_slotBannerImage')) {
                obj.c_slotBannerImage = ApiClient.convertToType(data.c_slotBannerImage, 'String')
            }
            if (data.hasOwnProperty('categories')) {
                obj.categories = ApiClient.convertToType(data.categories, [Category])
            }
            if (data.hasOwnProperty('description')) {
                obj.description = ApiClient.convertToType(data.description, 'String')
            }
            if (data.hasOwnProperty('id')) {
                obj.id = ApiClient.convertToType(data.id, 'String')
            }
            if (data.hasOwnProperty('image')) {
                obj.image = ApiClient.convertToType(data.image, 'String')
            }
            if (data.hasOwnProperty('name')) {
                obj.name = ApiClient.convertToType(data.name, 'String')
            }
            if (data.hasOwnProperty('page_description')) {
                obj.page_description = ApiClient.convertToType(data.page_description, 'String')
            }
            if (data.hasOwnProperty('page_keywords')) {
                obj.page_keywords = ApiClient.convertToType(data.page_keywords, 'String')
            }
            if (data.hasOwnProperty('page_title')) {
                obj.page_title = ApiClient.convertToType(data.page_title, 'String')
            }
            if (data.hasOwnProperty('parent_category_id')) {
                obj.parent_category_id = ApiClient.convertToType(data.parent_category_id, 'String')
            }
            if (data.hasOwnProperty('thumbnail')) {
                obj.thumbnail = ApiClient.convertToType(data.thumbnail, 'String')
            }
        }
        return obj
    }

    /**
    * Renders an alternative URL in main navigation. Uses Salesforce Commerce Cloud content url notation. For example: $url('Account-Show')$ or normal URL http://xchange.demandware.com
    * @member {String} c_alternativeUrl
    */
    c_alternativeUrl = undefined;
    /**
    * Used to define the content asset used to populate a grid page banner for a category. This value is applied to all sub-category navigation (cascading) if no specific catBannerID has been defined for  a sub-category.
    * @member {String} c_catBannerID
    */
    c_catBannerID = undefined;
    /**
    * Use this attribute to apply custom styles for this category.
    * @member {String} c_customCSSFile
    */
    c_customCSSFile = undefined;
    /**
    * Used to define if/when the Compare feature is to be visualized in the storefront based on navigation. If enableCompare = FALSE, no Compare checkboxes will be displayed in the grid view. If enableCompare = TRUE, the category (and its children) will support the Compare feature.
    * @member {Boolean} c_enableCompare
    */
    c_enableCompare = undefined;
    /**
    * @member {String} c_headerMenuBanner
    */
    c_headerMenuBanner = undefined;
    /**
    * Which way to orient the menu and optional header menu HTML. Vertical will list all in one line. Horizontal will list in columns.
    * @member {module:models/Category.CHeaderMenuOrientationEnum} c_headerMenuOrientation
    */
    c_headerMenuOrientation = undefined;
    /**
    * Used to indicate that a category (such as Mens -> Footwear -> Boots) will display in the roll-over navigation. A sub-category only shows if also the parent category is marked as showInMenu. Up to three category levels are shown in roll-over navigation.
    * @member {Boolean} c_showInMenu
    */
    c_showInMenu = undefined;
    /**
    * Used to define the content asset ID of the Size Chart that is appropriate for products whose PRIMARY category is the associated category (and its children). Whenever a product detail page (or quick view) is rendered, the Size Chart link is populated based on the value of this attribute for the products primary categorization. If not defined, NO size chart link is displayed.
    * @member {String} c_sizeChartID
    */
    c_sizeChartID = undefined;
    /**
    * @member {String} c_slotBannerHtml
    */
    c_slotBannerHtml = undefined;
    /**
    * Image used on either the top or bottom slot on the category landing pages.
    * @member {String} c_slotBannerImage
    */
    c_slotBannerImage = undefined;
    /**
    * Array of subcategories. Can be empty.
    * @member {Array.<module:models/Category>} categories
    */
    categories = undefined;
    /**
    * The localized description of the category.
    * @member {String} description
    */
    description = undefined;
    /**
    * The id of the category.
    * @member {String} id
    */
    id = undefined;
    /**
    * The URL to the category image.
    * @member {String} image
    */
    image = undefined;
    /**
    * The localized name of the category.
    * @member {String} name
    */
    name = undefined;
    /**
    * The localized page description of the category.
    * @member {String} page_description
    */
    page_description = undefined;
    /**
    * The localized page keywords of the category.
    * @member {String} page_keywords
    */
    page_keywords = undefined;
    /**
    * The localized page title of the category.
    * @member {String} page_title
    */
    page_title = undefined;
    /**
    * The id of the parent category.
    * @member {String} parent_category_id
    */
    parent_category_id = undefined;
    /**
    * The URL to the category thumbnail.
    * @member {String} thumbnail
    */
    thumbnail = undefined;






    /**
    * Allowed values for the <code>c_headerMenuOrientation</code> property.
    * @enum {String}
    * @readonly
    */
    static CHeaderMenuOrientationEnum = {

        /**
         * value: "Horizontal"
         * @const
         */
        Horizontal: 'Horizontal',

        /**
         * value: "Vertical"
         * @const
         */
        Vertical: 'Vertical'
    };



}