var mainMenu = { rootRoute: '', subCatRoute: '', topMenuRootSelector: '', mobileMenuRootSelector: '', localized_data: false, init: function (rootRoute, subCatRoute, topMenuRootSelector, mobileMenuRootSelector, localized_data) { this.rootRoute = rootRoute; this.subCatRoute = subCatRoute; this.localized_data = localized_data; this.topMenuRootSelector = $(topMenuRootSelector); this.mobileMenuRootSelector = $(mobileMenuRootSelector); this.topMenuLineAttr = 'topMenuId'; this.mobileMenuLineAttr = 'mobileMenuId'; this.getRoot(); }, getRoot: function () { let self = this; var postData = {}; addAntiForgeryToken(postData); $.ajax({ cache: false, url: this.rootRoute, data: postData, type: "POST", success: function (data, textStatus, jqXHR) { let lis = self.categoryList(data, true); $(self.topMenuRootSelector).append(lis); lis = self.categoryList(data, false); $(self.mobileMenuRootSelector).append(lis); }, error: this.ajaxFailure }); }, getSubRoot: function (id, isTopMenu) { let self = this; if (isTopMenu) { return self.getTopMenuSubRoot(id); } else { return self.getMobileMenuSubRoot(id); } }, getTopMenuSubRoot: function (id) { let selfTop = this; let catSel = 'li[' + this.topMenuLineAttr + ' = ' + id + ']'; if ($(catSel).is(".loaded,.loading")) { return; } var postData = { "id": id }; addAntiForgeryToken(postData); $.ajax({ cache: false, data: postData, url: this.subCatRoute, type: "POST", success: function (data, textStatus, jqXHR) { let listItems = selfTop.categoryList(data, true); if (listItems.length === 0) { $(catSel).addClass("loaded"); return; } $('