{"version":3,"sources":["common/js/components/compareComponent.js"],"names":["$","$modelCheckBoxes","$compareBar","$compareList","$clearAll","$compareLink","itemsAddedToCompareBar","pimIds","handleClickOnCheckbox","$modelCheckbox","this","prop","clearItem","updateLink","hasClass","addClass","addItemToCompareBar","addPimIds","updateText","updateTextNodeWithNumberOfItemsSelected","not","window","width","find","empty","append","clearAllItemsFromCompareBar","$listItems","children","each","i","obj","removeClass","removeAttr","$checkbox","pimId","closest","data","$compareModel","updateView","remove","removePimIds","openCompareView","url","attr","location","href","URL","origin","searchParams","set","id","push","parent","splice","inArray","$parentModel","imageUrl","imageAlt","publicationName","$firstAvailableListItem","on"],"mappings":"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","file":"../../../../common/js/components/compareComponent-daec5d0967.js","sourcesContent":["$(function () {\n var $modelCheckBoxes = $(\".modelListingModelComponent-checkbox\"),\n $compareBar = $(\".compareComponent\"),\n $compareList = $(\".compareComponent-list\"),\n $clearAll = $(\".compareComponent-clear\"),\n $compareLink = $(\".compareComponent-compareLink\"),\n itemsAddedToCompareBar = 0,\n pimIds = [];\n $modelCheckBoxes.on(\"click\", handleClickOnCheckbox);\n $clearAll.on(\"click\", clearAllItemsFromCompareBar);\n $compareBar.on(\"click\", \".compareComponent-itemClear\", clearItem(false));\n $compareLink.on(\"click\", openCompareView);\n function handleClickOnCheckbox() {\n var $modelCheckbox = $(this);\n if (!$modelCheckbox.prop(\"checked\")) {\n $modelCheckbox.prop(\"checked\", false);\n clearItem($modelCheckbox)();\n updateLink();\n return;\n }\n if (itemsAddedToCompareBar === 0 && !$compareBar.hasClass(\"in-view\")) {\n $compareBar.addClass(\"in-view\");\n }\n if (itemsAddedToCompareBar <= 4) {\n addItemToCompareBar($modelCheckbox);\n addPimIds($modelCheckbox);\n itemsAddedToCompareBar++;\n updateText();\n updateTextNodeWithNumberOfItemsSelected();\n }\n if (itemsAddedToCompareBar === 4) {\n $modelCheckBoxes.not(\"input:checked\").prop(\"disabled\", true);\n }\n updateLink();\n }\n function updateTextNodeWithNumberOfItemsSelected() {\n if ($(window).width() < 767) {\n $(\".compareComponent-compare .active\").find(\"span\").empty().append(\"(\" + itemsAddedToCompareBar + \")\");\n }\n }\n function clearAllItemsFromCompareBar() {\n pimIds = [];\n var $listItems = $(\".compareComponent-list\").children();\n $listItems.each(function (i, obj) {\n $(obj).removeClass(\"has-model\").removeAttr(\"data-pim-id\").find(\"div\").empty();\n });\n itemsAddedToCompareBar = 0;\n $modelCheckBoxes.prop(\"disabled\", false).prop(\"checked\", false);\n $compareBar.removeClass(\"in-view\");\n updateTextNodeWithNumberOfItemsSelected();\n }\n function clearItem($checkbox) {\n return function () {\n $modelCheckBoxes.prop(\"disabled\", false);\n var pimId = !$checkbox ? $(this).closest(\".compareComponent-listitem\").data(\"pim-id\") : $checkbox.closest(\".modelListingModelComponent-checkboxWrapper\").data(\"pim-id\"),\n $modelCheckbox = !$checkbox ? $(\".modelListingModelComponent\").find(\"[data-pim-id='\" + pimId + \"']\").find(\"input\") : $checkbox,\n $compareModel = !$checkbox ? $(this).closest(\".compareComponent-listitem\") : $(\".compareComponent-list\").find(\"[data-pim-id='\" + pimId + \"']\");\n updateView($modelCheckbox);\n $compareModel.remove();\n removePimIds($modelCheckbox);\n updateTextNodeWithNumberOfItemsSelected();\n };\n }\n function updateView($modelCheckbox) {\n $modelCheckbox.prop(\"checked\", false);\n itemsAddedToCompareBar--;\n $compareList.append(\"
  • \");\n updateText();\n if (itemsAddedToCompareBar === 0) {\n $modelCheckBoxes.prop(\"disabled\", false);\n $compareBar.removeClass(\"in-view\");\n }\n }\n function updateText() {\n if (itemsAddedToCompareBar < 2) {\n $(\".compareComponent-compareSpan\").addClass(\"active\");\n $(\".compareComponent-compareLink\").removeClass(\"active\");\n } else {\n $(\".compareComponent-compareSpan\").removeClass(\"active\");\n $(\".compareComponent-compareLink\").addClass(\"active\");\n }\n }\n function openCompareView() {\n clearAllItemsFromCompareBar();\n var url = $(this).attr(\"href\");\n window.location.href = url;\n }\n function updateLink() {\n var url = new URL($compareLink.attr(\"href\"), window.location.origin);\n url.searchParams.set('ids', pimIds);\n $compareLink.attr(\"href\", url.href);\n }\n function addPimIds($modelCheckbox) {\n var id = $modelCheckbox.closest(\"div[data-pim-id]\").data(\"pim-id\");\n pimIds.push(id);\n }\n function removePimIds($checkbox) {\n var id = $checkbox.parent(\"[data-pim-id]\").data(\"pim-id\");\n pimIds.splice($.inArray(id, pimIds), 1);\n }\n function addItemToCompareBar($modelCheckbox) {\n var $parentModel = $modelCheckbox.parent(),\n imageUrl = $parentModel.data(\"image-url\"),\n imageAlt = $parentModel.data(\"image-alt\"),\n pimId = $parentModel.data(\"pim-id\"),\n publicationName = $parentModel.data(\"publication-name\"),\n $firstAvailableListItem = $(\".compareComponent-list li:not(.has-model):first\");\n $firstAvailableListItem.addClass(\"has-model\").attr(\"data-pim-id\", pimId).find(\"div\").append(\"\" + imageAlt + \"\" + \"

    \" + publicationName + \"

    \" + \"\" + \"\" + \"\");\n }\n});"]}