From 7b1d1b624bd1e07cc60673b40ee996a7c0dcbd89 Mon Sep 17 00:00:00 2001 From: Vova Yatsyuk Date: Sat, 12 May 2018 22:03:48 +0300 Subject: [PATCH] Removed mageMenu widget dependency --- .../frontend/web/js/product/breadcrumbs.js | 27 +++---------------- .../frontend/js/product/breadcrumbs.test.js | 18 ++++++------- 2 files changed, 12 insertions(+), 33 deletions(-) diff --git a/app/code/Magento/Catalog/view/frontend/web/js/product/breadcrumbs.js b/app/code/Magento/Catalog/view/frontend/web/js/product/breadcrumbs.js index 7bf92fa2c089d..1a1ebfe55b29c 100644 --- a/app/code/Magento/Catalog/view/frontend/web/js/product/breadcrumbs.js +++ b/app/code/Magento/Catalog/view/frontend/web/js/product/breadcrumbs.js @@ -19,23 +19,6 @@ define([ menuContainer: '[data-action="navigation"] > ul' }, - /** @inheritdoc */ - _init: function () { - var menu, - originalInit = this._super.bind(this); - - // render breadcrumbs after navigation menu is loaded. - menu = $(this.options.menuContainer).data('mageMenu'); - - if (typeof menu === 'undefined') { - $(this.options.menuContainer).on('menucreate', function () { - originalInit(); - }); - } else { - this._super(); - } - }, - /** @inheritdoc */ _render: function () { this._appendCatalogCrumbs(); @@ -88,14 +71,10 @@ define([ * @private */ _getCategoryCrumb: function (menuItem) { - var categoryId = /(\d+)/i.exec(menuItem.attr('id'))[0], - categoryName = menuItem.text(), - categoryUrl = menuItem.attr('href'); - return { - 'name': 'category' + categoryId, - 'label': categoryName, - 'link': categoryUrl, + 'name': 'category', + 'label': menuItem.text(), + 'link': menuItem.attr('href'), 'title': '' }; }, diff --git a/dev/tests/js/jasmine/tests/app/code/Magento/Catalog/frontend/js/product/breadcrumbs.test.js b/dev/tests/js/jasmine/tests/app/code/Magento/Catalog/frontend/js/product/breadcrumbs.test.js index b0516af46bc6b..1dd83707a68c1 100644 --- a/dev/tests/js/jasmine/tests/app/code/Magento/Catalog/frontend/js/product/breadcrumbs.test.js +++ b/dev/tests/js/jasmine/tests/app/code/Magento/Catalog/frontend/js/product/breadcrumbs.test.js @@ -18,7 +18,7 @@ define([ 'Magento_Theme/js/model/breadcrumb-list': jasmine.createSpyObj(['push']) }, defaultContext = require.s.contexts._, - menuItem = $('
  • Cat1
  • ')[0], + menuItem = $('
  • Cat1
  • ')[0], /** * Create context object. @@ -112,14 +112,14 @@ define([ }); it('Check _getCategoryCrumb call', function () { - var item = $('Cat1'); + var item = $('Cat1'); expect(widget).toBeDefined(); expect(widget).toEqual(jasmine.any(Function)); expect(widget.prototype._getCategoryCrumb).toBeDefined(); expect(widget.prototype._getCategoryCrumb(item)).toEqual(jasmine.objectContaining( { - 'name': 'category3', + 'name': 'category', 'label': 'Cat1', 'link': 'http://localhost.com/cat1.html' } @@ -228,7 +228,7 @@ define([ expect(result.length).toBe(1); expect(result[0]).toEqual(jasmine.objectContaining( { - 'name': 'category3', + 'name': 'category', 'label': 'Cat1', 'link': 'http://localhost.com/cat1.html' } @@ -239,10 +239,10 @@ define([ var result, menuItems = $( '' @@ -258,14 +258,14 @@ define([ context = createContext(widget.prototype); getParentMenuHandler = widget.prototype._getParentMenuItem.bind(context); - result = getParentMenuHandler($('#ui-id-9')); + result = getParentMenuHandler($('[href="http://localhost.com/cat1/cat21.html"]')); expect(result).toBeDefined(); expect(result.length).toBe(1); expect(result[0].tagName.toLowerCase()).toEqual('a'); - expect(result.attr('id')).toEqual('ui-id-3'); + expect(result.attr('href')).toEqual('http://localhost.com/cat1.html'); - result = getParentMenuHandler($('#ui-id-3')); + result = getParentMenuHandler($('[href="http://localhost.com/cat1.html"]')); expect(result).toBeNull(); });