createWarehouse() {
        this.warehouse = {};
        this.warehouse.cache = {}; // cache contains the html fetched from server in string form before parsing
        this.warehouse.navItems = [
            {
                group: "Introduction",
                lessons: [
                    {
                        title: "Welcome",
                        url: "welcome",
                        current: true,
                        group: "Introduction",
                        pages: 3,
                        currentPage: 1,
                        completed: false,
                        completable: false
                    }
                ]
            }
        ];
        this.warehouse.lessonMetaData = {
            lessonTitles: [],
            lessons: {},
        };
        this.warehouse.siteNav = [
            {
                title: "Logout",
                active: false,
                pages: 1,
                currentPage: 1,
                url: "logout",
            },
            {
                title: "Report",
                active: false,
                pages: 1,
                currentPage: 1,
                url: "report",
            },
            {
                title: "About",
                active: false,
                pages: 1,
                currentPage: 1,
                url: "about",
            },
            /*{
                title: "Contact Us",
                active: false,
                pages: 1,
                currentPage: 1,
                url: "contactUs",
            }*/
            {
                title: "Create Lesson",
                active: false,
                pages: 1,
                currentPage: 1,
                url: "createLesson",
            }
        ];

        this.addLesson = this.addLesson.bind(this);

        this.cacheSiteNavHTML();

        return this;
    }
/**
     * createWarehouse  ::  Void  ->  store object
     * 
     * Method creates the warehouse object and sets its initial state as well as 
     *      triggering a fetch for the clients site navigation pages to cache.
     *      Also binds the functions that operate on the warehouse object
     * 
     * Returns this to enable method chaining
     */
createWarehouse  ::  Void  ->  store object

Method creates the warehouse object and sets its initial state as well as
triggering a fetch for the clients site navigation pages to cache.
Also binds the functions that operate on the warehouse object

Returns this to enable method chaining
createWarehouse :: Void - > store object Method creates the warehouse object and sets its initial state as well as triggering a fetch for the clients site navigation pages to cache . Also binds the functions that operate on the warehouse object Returns this to enable method chaining
createWarehouse() {
        this.warehouse = {};
        this.warehouse.cache = {}; 
        this.warehouse.navItems = [
            {
                group: "Introduction",
                lessons: [
                    {
                        title: "Welcome",
                        url: "welcome",
                        current: true,
                        group: "Introduction",
                        pages: 3,
                        currentPage: 1,
                        completed: false,
                        completable: false
                    }
                ]
            }
        ];
        this.warehouse.lessonMetaData = {
            lessonTitles: [],
            lessons: {},
        };
        this.warehouse.siteNav = [
            {
                title: "Logout",
                active: false,
                pages: 1,
                currentPage: 1,
                url: "logout",
            },
            {
                title: "Report",
                active: false,
                pages: 1,
                currentPage: 1,
                url: "report",
            },
            {
                title: "About",
                active: false,
                pages: 1,
                currentPage: 1,
                url: "about",
            },
            {
                title: "Create Lesson",
                active: false,
                pages: 1,
                currentPage: 1,
                url: "createLesson",
            }
        ];
        this.addLesson = this.addLesson.bind(this);
        this.cacheSiteNavHTML();
        return this;
    }
createWarehouse ( ) { this . warehouse = { } ; this . warehouse . cache = { } ; this . warehouse . navItems = [ { group : "Introduction" , lessons : [ { title : "Welcome" , url : "welcome" , current : true , group : "Introduction" , pages : 3 , currentPage : 1 , completed : false , completable : false } ] } ] ; this . warehouse . lessonMetaData = { lessonTitles : [ ] , lessons : { } , } ; this . warehouse . siteNav = [ { title : "Logout" , active : false , pages : 1 , currentPage : 1 , url : "logout" , } , { title : "Report" , active : false , pages : 1 , currentPage : 1 , url : "report" , } , { title : "About" , active : false , pages : 1 , currentPage : 1 , url : "about" , } , { title : "Create Lesson" , active : false , pages : 1 , currentPage : 1 , url : "createLesson" , } ] ; this . addLesson = this . addLesson . bind ( this ) ; this . cacheSiteNavHTML ( ) ; return this ; }
createWarehouse  ::  Void  ->  store object
createWarehouse :: Void - > store object
// cache contains the html fetched from server in string form before parsing /*{
                title: "Contact Us",
                active: false,
                pages: 1,
                currentPage: 1,
                url: "contactUs",
            }*/