{"version":3,"file":"958.06979868044fbc7a074b.js","mappings":"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","sources":["webpack://mcweb3/./Scripts4.0/ViewModels/variant/ajax-variant-selector.js","webpack://mcweb3/./Scripts4.0/McUtils.js","webpack://mcweb3/./Scripts4.0/ViewModels/quickview.js","webpack://mcweb3/./Scripts4.0/ajax-render-engine.js"],"sourcesContent":["mcWeb.ajaxVariantSelector = new (function ($) {\r\n\t'use strict';\r\n\r\n var obj = this;\r\n obj.view;\r\n\r\n obj.getModule = function(me){\r\n var myContainer = $(me).closest('.ajax-vsc');\r\n var myId = $(myContainer).data(\"v-unique-id\");\r\n var myModule = mcWeb.ajaxVariantSelector.instances[myId];\r\n\r\n return myModule;\r\n };\r\n \r\n \r\n\r\n this.vm = function(parent){\r\n obj.view = parent;\r\n\r\n var self = this;\r\n self.id = parent.id+\"-avs\";\r\n self.parentId = parent.id;\r\n self.initialised = false;\r\n self.storeSelectionInBrowser = false;\r\n\t self.service = new WebApiService(\"ProductVariant\");\r\n self.subscriptionsAdded = false;\r\n self.isVariantMother = false;\r\n self.load = function(data,settings){};\r\n\r\n self.registerModule = function(){\r\n var myContainer = $(self.parentId);\r\n $(myContainer).addClass(\"ajax-vsc\");\r\n $(myContainer).attr('data-v-unique-id',self.id);\r\n\r\n if (mcWeb.ajaxVariantSelector.instances == undefined)\r\n mcWeb.ajaxVariantSelector.instances = [];\r\n\r\n mcWeb.ajaxVariantSelector.instances[self.id] = self;\r\n };\r\n\r\n self.bind = function(data){\r\n if (!self.initialised) {\r\n self.variantType1Id = null;\r\n self.variantType2Id = null;\r\n\r\n if(data !== undefined){\r\n if(data.storeInBrowser){\r\n self.storeSelectionInBrowser = true;\r\n }\r\n\r\n if (data.loadSelectedValuesFromDOM) {\r\n var domAttr1 = jQuery('.variant-selector-container .v-container.active[data-variant-type=\"1\"]');\r\n if (domAttr1.length > 0) {\r\n self.variantType1Id = jQuery(domAttr1[0]).data('attributeValueId');\r\n }\r\n\r\n var domAttr2 = jQuery('.variant-selector-container .v-container.active[data-variant-type=\"2\"]');\r\n if (domAttr2.length > 0) {\r\n self.variantType2Id = jQuery(domAttr2[0]).data('attributeValueId');\r\n }\r\n }\r\n\r\n if(obj.view.isVariantMother()){\r\n self.isVariantMother = true;\r\n }\r\n if(obj.view.motherPlid != undefined){\r\n self.motherPlid = obj.view.motherPlid();\r\n }\r\n \r\n }\r\n\r\n self.registerModule();\r\n self.initialised = true;\r\n }\r\n };\r\n self.reinit = function(){\r\n if(self.storeSelectionInBrowser){\r\n self.restoreDataFromLocalStorage(self.motherPlid);\r\n }\r\n //todo: refresh classes in html based on data found on self\r\n if(self.variantType1Id !== undefined && self.variantType1Id !== null && self.variantType1Id >=0){\r\n if(self.variantType2Id !== undefined && self.isVariantMother ){\r\n //lets highlight the correct variant of type 1 and so on, which will try to do by using the selectVariant method for the selected attribute\r\n var variantTypeToActivate = $(self.parentId).find(\".v-container[data-attribute-value-id=\"+ self.variantType1Id+\"]\")[0];\r\n if(variantTypeToActivate != undefined && variantTypeToActivate != null)\r\n self.selectVariant(variantTypeToActivate)\r\n }\r\n }\r\n };\r\n\r\n self.selectVariant = function(me){\r\n\r\n var $me = $( $(me).find(\"a[data-attribute-value-id]\")[0]);\r\n\r\n if(!self.subscriptionsAdded){\r\n //we need to reset this info when the lightbox is closed\r\n PubSub.subscribe(mcWeb.lightbox.events.onHideLightbox, function () {\r\n self.variantType1Id = null;\r\n self.variantType2Id = null;\r\n\r\n });\r\n self.subscriptionsAdded = true;\r\n }\r\n\r\n var variantType =$me.data('variant-type');\r\n var attributeValueId = $me.data('attribute-value-id');\r\n var valueActive = $me.data('active');\r\n var otherAttributeValueId = null;\r\n var motherPlid =$me.data('mother-plid');\r\n var myContainer = $me.closest('.variant-selector-container');\r\n var variantTypeCount = myContainer.data('variant-types');\r\n var removeOldSelected = false;\r\n if(variantType == 1){\r\n if(self.variantType1Id != null && (self.variantType2Id == null || self.variantType2Id == -1 )){\r\n //must reset selected class for attrib 1\r\n removeOldSelected = true;\r\n }\r\n self.variantType1Id = attributeValueId;\r\n otherAttributeValueId = self.variantType2Id;\r\n }\r\n else{\r\n if((self.variantType2Id != null && self.variantType1Id == null ) || self.variantType2Id == -1){\r\n //must reset selected class for attrib 2\r\n removeOldSelected = true;\r\n }\r\n self.variantType2Id = attributeValueId;\r\n otherAttributeValueId = self.variantType1Id;\r\n }\r\n \r\n if(self.storeSelectionInBrowser){\r\n self.updateLocalStorage(motherPlid);\r\n }\r\n\r\n // if(valueActive){\r\n if(((otherAttributeValueId != null && otherAttributeValueId != -1 )|| variantTypeCount == 1 ) && attributeValueId != null ){\r\n self.getChildPlidAction(motherPlid, self.variantType1Id, self.variantType2Id, variantType)\r\n .done(function(result){\r\n if(result && result.Success){\r\n obj.view.show(result.Plid,0);\r\n }\r\n else{\r\n console.log(result.Message);\r\n }\r\n }); \r\n }else{\r\n //the other value has not been set yet\r\n //remove highlighting of already hightlighted item\r\n self.setupOtherVariantType(removeOldSelected, $me, motherPlid, attributeValueId, variantType);\r\n //update showing of selected variant, if needed\r\n\r\n var myHeadingPch = myContainer.find(\".vsc-heading-value\");\r\n if(myHeadingPch.length > 0)\r\n {\r\n var attribName = $me.data(\"value-name\");\r\n myHeadingPch[0].innerText = attribName;\r\n }\r\n }\r\n //}\r\n //else{\r\n //}\r\n \r\n };\r\n \r\n\r\n self.updateLocalStorage = function(plid){\r\n window.StorageService.localStorage.setItem('mcWeb.ajaxVariantSelector.variantType1_'+plid,self.variantType1Id);\r\n window.StorageService.localStorage.setItem('mcWeb.ajaxVariantSelector.variantType2_'+plid,self.variantType2Id);\r\n };\r\n\r\n self.restoreDataFromLocalStorage = function (plid) {\r\n if (self.isVariantMother) {\r\n self.variantType2Id = -1;\r\n self.variantType1Id = -1;\r\n }\r\n else {\r\n var tmp = window.StorageService.localStorage.getItem('mcWeb.ajaxVariantSelector.variantType1_' + plid);\r\n if (tmp != undefined)\r\n self.variantType1Id = tmp;\r\n\r\n\r\n tmp = window.StorageService.localStorage.getItem('mcWeb.ajaxVariantSelector.variantType2_' + plid);\r\n if (tmp != undefined)\r\n self.variantType2Id = tmp;\r\n }\r\n };\r\n\r\n self.setupOtherVariantType = function(removeOldSelected, $me, motherPlid, attributeValueId,variantType){\r\n //the other value has not been set yet\r\n //remove highlighting of already hightlighted item\r\n if(removeOldSelected)\r\n {\r\n $(\".variant-selector-container .v-container\").removeClass(\"active\");\r\n }\r\n //secondly highlight the selected item\r\n //todo: remove all highlighting from liste of the other variants\r\n\r\n var myContainer = $me.closest('.v-container');\r\n $(myContainer).addClass('active');\r\n //if the container is part of a dropdown, we need to change the text from attribute to attributevalue\r\n if($(myContainer).parent().hasClass(\"dropdown-menu\")){\r\n var myButton =$(myContainer).parent().parent().find(\"button.dropdown-toggle\");\r\n var myImgPlch = $(myButton).find(\".color-preview-box-pch\");\r\n var myColour = $(myContainer).find(\".color-preview-box\").clone();\r\n if(myColour.length > 0 && myImgPlch.length > 0){\r\n $(myImgPlch[0]).html(myColour);\r\n }\r\n var textContainer =$(myButton).find(\"span.ddl-button-span\");\r\n var itemContainer = $(myContainer).find(\"a[data-mother-plid]\");\r\n \r\n var itemText = $(itemContainer).prop(\"title\");\r\n textContainer[0].innerText =itemText;\r\n }\r\n\r\n\r\n self.getInactiveAttributeValuesAction(motherPlid,attributeValueId,variantType).done(function(result){\r\n if (result && result.Success) {\r\n var otherVariantType = 2;\r\n if (variantType === 2)\r\n otherVariantType = 1;\r\n\r\n if (result.SingleAvailableAttributeValueId !== null) {\r\n jQuery(`.variant-container [data-variant-types=2] [data-attribute-value-id=${result.SingleAvailableAttributeValueId}][data-variant-type=${otherVariantType}]`).click()\r\n }\r\n\r\n if (result.AttributeValueIds != null) {\r\n \r\n //active all varianttypes\r\n $(\".v-container[data-variant-type=\" + otherVariantType +\"]\").removeClass(\"disabled\");//data-variant-type mangler i container div\r\n $(\".v-container[data-variant-type=\" + otherVariantType +\"]\").addClass(\"activated\");\r\n\r\n //deactivate those that should not be acctive\r\n for(var i = 0; i < result.AttributeValueIds.length; i++){\r\n //må få inn data-attribute-value-id inn på div rundt a-taggen, og så kan vi finne de for å legge til inaktiv status\r\n var itemToDisable = $(\".v-container[data-variant-type=\" + otherVariantType +\"][data-attribute-value-id=\" + result.AttributeValueIds[i]+ \"]\");\r\n itemToDisable.addClass(\"disabled\");\r\n itemToDisable.removeClass(\"activated\");\r\n itemToDisable.find(\"a\").prop('title',result.InfoMsg);\r\n }\r\n }\r\n }\r\n });\r\n };\r\n\r\n\r\n self.getChildPlidAction = function(motherPlid, attributeValueId1, attributeValue2Id, lockedVariantType){\r\n var param = {\r\n MotherPlid : motherPlid,\r\n AttributeValueId1: attributeValueId1,\r\n AttributeValueId2: attributeValue2Id,\r\n LockedVariantType: lockedVariantType\r\n };\r\n\r\n return self.service.PostAction(\"GetVariantChildPlidAsync\", param);\r\n };\r\n\r\n //gives us a liste of attributevaluesids from the variant that are not available for the given attribute type\r\n self.getInactiveAttributeValuesAction = function(motherPlid, selectedAttributeValueId, attributeType){\r\n var param = {\r\n MotherPlid : motherPlid,\r\n AttributeValueId: selectedAttributeValueId,\r\n VariantType: attributeType\r\n };\r\n\r\n return self.service.PostAction(\"GetInactiveAttributeValues\",param);\r\n };\r\n \r\n //show the variant-selector since it is now ready\r\n if(parent.id === '#PanelProductInfo'){\r\n jQuery(parent.id).addClass(\"variant-ready\");\r\n }\r\n };\r\n})(jQuery);","function McUtils() {\r\n}\r\nMcUtils.prototype = {\r\n constructor: McUtils,\r\n\r\n isElementInView: function(element, fullyInView) {\r\n var pageTop = jQuery(window).scrollTop();\r\n var pageBottom = pageTop + jQuery(window).height();\r\n var elementTop = jQuery(element).offset().top;\r\n var elementBottom = elementTop + jQuery(element).height();\r\n if (fullyInView === true) {\r\n return ((pageTop < elementTop) && (pageBottom > elementBottom));\r\n }\r\n else {\r\n return ((elementTop <= pageBottom) && (elementBottom >= pageTop));\r\n }\r\n },\r\n\r\n isElementBelowView: function (element) {\r\n var pageTop = jQuery(window).scrollTop();\r\n var pageBottom = pageTop + jQuery(window).height();\r\n var elementTop = jQuery(element).offset().top;\r\n\r\n return elementTop > pageBottom;\r\n },\r\n\r\n isElementAboveView: function (element) {\r\n var pageTop = jQuery(window).scrollTop();\r\n var elementTop = jQuery(element).offset().top;\r\n var elementBottom = elementTop + jQuery(element).height();\r\n\r\n return elementBottom < pageTop;\r\n }\r\n\r\n};\r\nexport default new McUtils();\r\n","import { AjaxRenderingEngine } from '@scripts/ajax-render-engine';\r\nimport '@scripts/ViewModels/variant/ajax-variant-selector.js';\r\n\r\nexport default new (function ($) {\r\n 'use strict';\r\n\r\n this.vm = function (id) {\r\n var self = this;\r\n self.id = \"#\" + id;\r\n \r\n self.service = new WebApiService(\"FieldRenderer\"); \r\n self.vs = new mcWeb.ajaxVariantSelector.vm(self); \r\n self.avsInitialised = false;\r\n self.load = function(data, settings){ \r\n \r\n };\r\n\r\n self.init = function(data){\r\n self.currentAreaName = data.areaName; \r\n self.currentNodeId = data.nodeId;\r\n self.width = 400;\r\n if(self.id === '#lightbox-placeholder'){ \r\n self.popupEvent = mcWeb.lightbox.events.onShowLightbox;\r\n self.currentPlacement = \"c\";\r\n }\r\n else {\r\n self.popupEvent = mcWeb.slideOverBox.events.onShowLightbox;\r\n self.currentPlacement = \"rhs\";\r\n }\r\n };\r\n\r\n self.show = function( plid, manufacturerId) {\r\n var param = {\r\n NodeId: self.currentNodeId,\r\n Width: self.width,\r\n ManufacturerId: manufacturerId,\r\n ActivePlid: plid,\r\n Placement: self.currentPlacement,\r\n AreaName : self.currentAreaName \r\n };\r\n\r\n self.service.PostAction(\"RenderQuickview\", param).done(\r\n function(result) {\r\n if (result != null && result.Success) {\r\n var container = $(self.id);\r\n if (container != null && container != undefined) {\r\n container.html(result.Content);\r\n AjaxRenderingEngine.refineInsertedContent(container, result);\r\n //todo: finn riktig klasse å bruke her. avhenger av hvilken popup?\r\n //mangler å kjøre royal-slider for resultatet. Må gjøres for å få fram bilder osv.\r\n var popupParam = {\r\n css: \"d4-popup d4-popup-quickview\",\r\n callback: function () {\r\n var thumbs = {//todo: get from settings?\r\n spacing: 10,\r\n orientation: 'horizontal',\r\n autoCenter: false\r\n };\r\n var navigationMethod = 'bullets';//todo: get from settings?\r\n InitializeRoyalSliderForPreview(null, null, null, 'div.d4-preview', thumbs, navigationMethod);\r\n self.vs.bind();\r\n self.vs.reinit();\r\n }\r\n }\r\n PubSub.publish(self.popupEvent, popupParam);\r\n }\r\n }\r\n else {\r\n //hide slideoverbox or lightbox\r\n if (self.currentPlacement == \"rhs\") {\r\n PubSub.publish(\"mcWeb.slideOverBox.onHideLightbox\");\r\n }\r\n else {\r\n PubSub.publish(\"mcWeb.lightbox.onHideLightbox\");\r\n }\r\n }\r\n })\r\n };\r\n };//end vm\r\n})(jQuery);\r\n\r\n\r\n////Bind viewmodel for two quickviews, one for center and one for rhs\r\n//loadModule(mcWeb.quickview, 'slideover-placeholder', 'slideover-placeholder', null, null,true);\r\n//loadModule(mcWeb.quickview, 'lightbox-placeholder', 'lightbox-placeholder', null, null,true);\r\n","import McUtils from '@scripts/McUtils';\r\nimport Quickview from '@scripts/ViewModels/quickview';\r\n\r\nexport const AjaxRenderingEngineEventTypes = {\r\n onFieldContentChanged: \"AjaxRenderingEngine.onFieldContentChanged\",\r\n onNewAreasShown: \"AjaxRenderingEngine.onNewAreasShown\",\r\n onPopupReady: \"AjaxRenderingEngine.onPopupReady\",\r\n onPopupFilterChanged: \"AjaxRenderingEngine.onPopupFilterChanged\",\r\n onAjaxRenderingLoaded: \"AjaxRenderingEngine.onAjaxRenderingLoaded\",\r\n onKnockoutRenderingCompleted: \"AjaxRenderingEngine.onKnockoutRenderingCompleted\",\r\n onPriceRefreshRequested: \"AjaxRenderingEngine.onPriceRefreshRequested\",\r\n onPushProductsIntoField: \"AjaxRenderingEngine.onPushProductsIntoField\",\r\n onClearFieldFilter: \"AjaxRenderingEngine.onClearFieldFilter\",\r\n onFieldsRefresh: \"AjaxRenderingEngine.onFieldsRefresh\",\r\n onFilterLoadRequested: \"AjaxRenderingEngine.onFilterLoadRequested\",\r\n onAddNewAreaContent: \"AjaxRenderingEngine.onAddNewAreaContent\",\r\n onReloadFieldByListingType: \"AjaxRenderingEngine.onReloadFieldByListingType\"\r\n};\r\n\r\nexport const AjaxRenderingEngine = new (function AjaxRenderingEngine($) {\r\n PubSub.subscribe(AjaxRenderingEngineEventTypes.onAddNewAreaContent, function (message, data) {\r\n jQuery('#A' + data.AreaId).html(data.Content);\r\n self.updateFields('#A' + data.AreaId +' .ajax-field', \"#AttributeListBox\", false, false, false, 0); \r\n });\r\n\r\n var self = this;\r\n self.service = new WebApiService(\"AreaRenderer\");\r\n self.filterService = new WebApiService(\"AttributeFilter\");\r\n self.fieldRenderService = new WebApiService(\"FieldRenderer\");\r\n self.statsService = new WebApiService(\"Stats\");\r\n self.imageService = new WebApiService(\"ImageRenderer\");\r\n self.deviceSize = \"\";\r\n self.currentSlideshow = null;\r\n self.allowUseOfProductCache = true;\r\n self.currentField = null;\r\n self.PreviewProduktLagerId = null;\r\n self.scrollEventIsRegistered = false;\r\n self.scrollEventFieldIsRegistered = false;\r\n self.scrollEventFooterIsRegistered = false;\r\n self.HasMorePages = false;\r\n self.PagingMode = 1;\r\n self.LoadingFromScroll = false;\r\n self.fieldsReadyToLoad = [];\r\n self.lazyLoadFieldSetupDone = false;\r\n self.footerObserver = null;\r\n self.IntersectionObserveAllowed = ('IntersectionObserver' in window);\r\n self.AutoScrolledPages = 0;\r\n self.InitialPageNumber = 1;\r\n self.CurrentPageNumber = 1;\r\n self.HighestPageNumberSeen = 1;\r\n self.LowestPageNumberSeen = 1;\r\n self.InitialLoadDone = false;\r\n self.subscriptionsInitialised = false;\r\n self.PrevPagingLoaded = false;\r\n self.myScrollToElement = null;\r\n self.currentArticleId = 0;\r\n self.CheckStatistics = false;\r\n self.ListingTypeGrid = false;\r\n self.lightBoxIsOpen = false;\r\n self.slideOverBoxIsOpen = false;\r\n self.attributeFilterInitiated = false;\r\n self.rhsQuickview = new Quickview.vm('slideover-placeholder');\r\n self.centerQuickview = new Quickview.vm('lightbox-placeholder');\r\n self.currentSearchKeyword = \"\";\r\n self.finishedLoadingFieldsAbove = false;\r\n self.fieldUpdateInProgress = false;\r\n self.placeholderDict = {};\r\n self.publishMode = false;\r\n this.load = function () {\r\n if (jQuery('body.listtype-grid').length > 0) {\r\n self.ListingTypeGrid = true;\r\n }\r\n\r\n jQuery(\"div.HeaderPublishAreaContainer .load-later\").each(function (index, item) {\r\n\r\n jQuery(item).removeClass(\"load-later\");\r\n jQuery(item).addClass(\"load-first\");\r\n });\r\n\r\n self.publishMode = ($(\"body.publish-mode\").length > 0);\r\n\r\n var pageParam = self.getParameterByName('pageID');\r\n if (pageParam.length > 0) {\r\n self.InitialPageNumber = parseInt(pageParam);\r\n self.CurrentPageNumber = self.InitialPageNumber;\r\n self.HighestPageNumberSeen = self.InitialPageNumber;\r\n self.LowestPageNumberSeen = self.InitialPageNumber;\r\n\r\n }\r\n var articleIdentifier = jQuery(\"div#current-article-id\");\r\n if (articleIdentifier.length > 0) {\r\n self.currentArticleId = jQuery(articleIdentifier[0]).data(\"current-article\");\r\n }\r\n\r\n self.CheckStatistics = (\r\n window.D4AiActive !== undefined &&\r\n window.D4AiActive &&\r\n window.D4AiRegisterStats !== undefined &&\r\n window.D4AiRegisterStats);\r\n\r\n var loadFirstParams = {\r\n targetKey: \"div.load-first .ajax-field.not-loaded\",\r\n filterTargetKey: \"#AttributeListBox\",\r\n onlyUpdateProductList: false,\r\n doNotRenderFilter: false,\r\n useDummyData: false,\r\n popupFilter: 0,\r\n nextPageNumber: 0\r\n };\r\n\r\n var loadSecond = {\r\n targetKey: \"div.load-later .web-pub-field[data-popup='0'] .ajax-field.loaded[data-sf='0'][data-field-is-productlist='1']\",\r\n filterTargetKey: \"#AttributeListBox\",\r\n onlyUpdateProductList: true,\r\n doNotRenderFilter: false,\r\n useDummyData: false,\r\n popupFilter: 0,\r\n nextPageNumber: 0\r\n };\r\n\r\n\r\n var loadLaterParams = {\r\n targetKey: \"div.load-later .web-pub-field[data-popup='0'] .ajax-field.not-loaded[data-sf='0']:not(.menu-container div.load-later .web-pub-field[data-popup='0'] .ajax-field.not-loaded[data-sf='0'])\", \r\n filterTargetKey: \"#AttributeListBox\",\r\n onlyUpdateProductList: false,\r\n doNotRenderFilter: false,\r\n useDummyData: false,\r\n popupFilter: 0,\r\n nextPageNumber: 0\r\n };\r\n\r\n var loadLaterWithFilterParams = {\r\n targetKey: \"div.load-later .web-pub-field[data-popup='0'] .ajax-field.not-loaded[data-sf='1']:not(.menu-container div.load-later .web-pub-field[data-popup='0'] .ajax-field.not-loaded[data-sf='1'])\",\r\n filterTargetKey: \"#AttributeListBox\",\r\n onlyUpdateProductList: false,\r\n doNotRenderFilter: false,\r\n useDummyData: false,\r\n popupFilter: 0,\r\n nextPageNumber: 0\r\n };\r\n\r\n var loadPopupParams = {\r\n targetKey: \"div.ajax-field.not-loaded[data-popup='1']\",\r\n filterTargetKey: \"#AttributeListBox\",\r\n onlyUpdateProductList: false,\r\n doNotRenderFilter: false,\r\n useDummyData: false,\r\n popupFilter: 1,\r\n nextPageNumber: 0\r\n };\r\n \r\n if (jQuery(\".ProductMenu\").css(\"order\") === 1) {\r\n self.unhideProductMenu();//do not wait for attributes are loaded when order is 1\r\n }\r\n\r\n self.fieldsToLoad = [];\r\n self.fieldsToLoad.push(loadFirstParams);\r\n self.fieldsToLoad.push(loadSecond);\r\n self.fieldsToLoad.push(loadLaterParams);\r\n self.fieldsToLoad.push(loadLaterWithFilterParams);\r\n\r\n self.firstPageViewPopup = loadPopupParams;\r\n self.updateContentForPreloadedFields();\r\n\r\n self.runUpdateFields();\r\n\r\n self.updateSelectedAttributeListVisibility();\r\n PubSub.publish(AjaxRenderingEngineEventTypes.onAjaxRenderingLoaded);\r\n\r\n if (jQuery(window).scrollTop() === 0)\r\n self.finishedLoadingFieldsAbove = true;\r\n };\r\n\r\n \r\n\r\n this.getQuickview = function (placement) {\r\n if (placement === \"rhs\")\r\n return self.rhsQuickview;\r\n else return self.centerQuickview;\r\n };\r\n\r\n\r\n this.openQuickView = function (nodeid, plid, manufacturerid, placement, areaname, me) {\r\n if (me !== undefined) {\r\n //check if we can use the given placement\r\n var myCenteredPopup = jQuery(me).closest(\"#center-popup\");\r\n if (placement == 'c' && myCenteredPopup.length > 0) {\r\n //the popup would normalle be shown in center, but right now the ad is already shown in center,\r\n //so lets use the rhs instead\r\n placement = 'rhs';\r\n }\r\n else if (placement === 'rhs' && jQuery(me).closest(\"#rhs-popup\").length > 0) {\r\n placement = 'c';\r\n }\r\n }\r\n var quickview = self.getQuickview(placement);\r\n quickview.init({ areaName: areaname, nodeId: nodeid });\r\n quickview.show(plid, manufacturerid);\r\n };\r\n\r\n\r\n this.loadLightboxFields = function (options) {\r\n if (jQuery('body.listtype-grid').length > 0) {\r\n self.ListingTypeGrid = true;\r\n }\r\n\r\n var pageParam = self.getParameterByName('pageID');\r\n if (pageParam.length > 0) {\r\n self.InitialPageNumber = parseInt(pageParam);\r\n self.CurrentPageNumber = self.InitialPageNumber;\r\n self.HighestPageNumberSeen = self.InitialPageNumber;\r\n self.LowestPageNumberSeen = self.InitialPageNumber;\r\n\r\n }\r\n var articleIdentifier = jQuery(\"div#current-article-id\");\r\n if (articleIdentifier.length > 0) {\r\n self.currentArticleId = jQuery(articleIdentifier[0]).data(\"current-article\");\r\n }\r\n\r\n self.CheckStatistics = (\r\n window.D4AiActive != undefined &&\r\n window.D4AiActive &&\r\n window.D4AiRegisterStats != undefined &&\r\n window.D4AiRegisterStats);\r\n\r\n var loadFirstParams = {\r\n targetKey: \"div.modal div .ajax-field.not-loaded\",\r\n filterTargetKey: \"#AttributeListBox\",\r\n onlyUpdateProductList: false,\r\n doNotRenderFilter: false,\r\n useDummyData: false,\r\n popupFilter: 0,\r\n nextPageNumber: 0\r\n };\r\n\r\n self.fieldsToLoad = [];\r\n self.fieldsToLoad.push(loadFirstParams);\r\n\r\n self.runUpdateFields();\r\n };\r\n\r\n this.loadNextPage = function () {\r\n self.updateFields(\"div.load-later .ajax-field.not-loaded[data-field-is-productlist='1']\", \"#AttributeListBox\", true, false, false, 0, true);\r\n };\r\n\r\n this.loadPrevPage = function () {\r\n var loadOnlyProductListField = self.CurrentPageNumber > 1; //when scrolling upwards on the page, we we only add the productlisting field when scrolling up, until we are loading the first \"page\"\r\n\r\n var prevPageNumber = self.CurrentPageNumber - 1;\r\n if (prevPageNumber < 1) {\r\n //we're already on the first page, so we just stop processing\r\n return;\r\n }\r\n self.updateFields(\"div.load-later .ajax-field.not-loaded[data-field-is-productlist='1']\", \"#AttributeListBox\", true, false, false, 0, prevPageNumber);\r\n };\r\n\r\n this.reloadPageCallback = function (fieldIds) {//receives array with fieldids to update\r\n if (self.fieldsToLoad === undefined)\r\n self.fieldsToLoad = [];\r\n\r\n if (fieldIds == undefined || fieldIds.length == 0) {\r\n self.updateFields(\".ajax-field.not-loaded\", \"#AttributeListBox\", false, false, false, 0, 0);\r\n } else {\r\n if (isNaN(fieldIds)) {\r\n for (var i = 0; i < fieldIds.length; i++) {\r\n var params = {\r\n targetKey: \".field-container-\" + fieldIds[i] + \" div.ajax-field\",\r\n filterTargetKey: \"#AttributeListBox\",\r\n onlyUpdateProductList: false,\r\n doNotRenderFilter: false,\r\n useDummyData: false,\r\n popupFilter: 0,\r\n nextPageNumber: 0\r\n };\r\n if (jQuery(params.targetKey).length > 0)\r\n self.fieldsToLoad.push(params);\r\n }\r\n } else {\r\n var params = {\r\n targetKey: \".field-container-\" + fieldIds + \" div.ajax-field\",\r\n filterTargetKey: \"#AttributeListBox\",\r\n onlyUpdateProductList: false,\r\n doNotRenderFilter: false,\r\n useDummyData: false,\r\n popupFilter: 0,\r\n nextPageNumber: 0\r\n };\r\n if (jQuery(params.targetKey).length > 0)\r\n self.fieldsToLoad.push(params);\r\n }\r\n self.runUpdateFields();\r\n }\r\n };\r\n\r\n this.reloadAllLinkedFields = function () { //TODO: MOVE, move to separate publisher-only file\r\n var otherFields = [];\r\n jQuery(\"div.PubFieldMenu[data-include-linked-field-content='True']\").each(function (index, item) {\r\n var fieldIdFound = jQuery(item).data(\"fieldid\");\r\n otherFields.push(fieldIdFound);\r\n });\r\n self.reloadPageCallback(otherFields);\r\n };\r\n\r\n //find a single element on the page, ask the server to render it again, and then swap it out for the new one\r\n this.reloadSingleElement = function (nodeId, activePlid, area, fieldId, element) { //TODO: MOVE, move to separate publisher-only file\r\n var item = $(\"#Field_\" + fieldId + \" div.WebPubElement[data-elementid=\" + element + \"]\");\r\n if (item.length <= 0) {//implies this element has not been rendered in the field. Let us add a placholder at the end of the field, or if this field contains\r\n //linked content, we must add it in front of all the dynamic content\r\n var field = $(\"div.ajax-field[data-field-id=\" + fieldId + \"]\");\r\n var placeholder = \"
\";\r\n if (field.length > 0) {\r\n var linkedChildren = field.children(\".WebPubElement.linked-element\");\r\n if (linkedChildren.length > 0) {\r\n $(linkedChildren[0]).before(placeholder);\r\n }\r\n else {\r\n field.append(placeholder);\r\n\r\n }\r\n item = $(\"#plcholder\" + fieldId);\r\n }\r\n }\r\n if (nodeId == null)\r\n nodeId = jQuery('#hidden-nodeid').text();\r\n\r\n var width = Math.round($(item).width());\r\n if (item.length > 0) {\r\n var params = {\r\n NodeId: nodeId,\r\n Width: width,\r\n ActivePlid: activePlid,\r\n AreaName: area,\r\n FieldId: fieldId,\r\n ElementId: element,\r\n ForceNormalMode: false,\r\n ForcedLayoutId: 0\r\n };\r\n self.fieldRenderService.PostAction(\"RenderSingleElement\", params).done(function (result) {\r\n if (result && result.Success) {\r\n $(item).replaceWith(result.Content);\r\n }\r\n });\r\n }\r\n };\r\n\r\n this.reloadLightboxFields = function () {\r\n self.updateFields(\".modal-content .ajax-field.not-loaded\", \"#AttributeListBox\", false, false, false, 0);\r\n };\r\n\r\n this.reloadFieldByListingType = function (listingtype) {\r\n self.reloadFromCallbackActive = true;\r\n self.updateFields(\".ajax-field[data-listing-type=\" + listingtype + \"]\", \"#AttributeListBox\", false, false, false, 0, 0);\r\n };\r\n PubSub.subscribe(AjaxRenderingEngineEventTypes.onReloadFieldByListingType, function (msg, listingType) {\r\n self.reloadFieldByListingType(listingType);\r\n });\r\n\r\n\r\n this.reloadProductListField = function () {\r\n self.resetAutoScrolledPages();\r\n self.updateFields(\".ajax-field[data-field-is-productlist='1']\", \"#AttributeListBox\", true, false, false, 0, 0);\r\n };\r\n\r\n this.reloadInstantSearchPreview = function (plid) {\r\n self.PreviewProduktLagerId = plid;\r\n self.updateFields(\".InstantSearch .d4-instant-search-loadbyajax .ajax-field\",\r\n \"\",\r\n false,\r\n true,\r\n false,\r\n 0,\r\n false);\r\n }\r\n\r\n\r\n this.setListingType = function (listingAsGrid) {\r\n self.ListingTypeGrid = listingAsGrid;\r\n if (listingAsGrid) {\r\n jQuery('body').addClass('.listtype-grid');\r\n jQuery('body').removeClass('.listtype-list');\r\n var fieldContentContainer = jQuery('.ajax-field.inner-layout-container[data-area-id=\"CenterContentDynamicProdListAlternate\"]');\r\n var fieldContainer = fieldContentContainer.closest(\".web-pub-field\");\r\n var fieldSorters = fieldContainer.children(\".FieldSorter\");\r\n if (fieldSorters.length > 0) {\r\n fieldSorters.each(function (index, item) {\r\n $(item).html('');\r\n });\r\n }\r\n jQuery('.ajax-field.inner-layout-container.not-loaded[data-area-id=\"CenterContentDynamicProdListAlternate\"]').html('');\r\n } else {\r\n jQuery('body').addClass('.listtype-list');\r\n jQuery('body').removeClass('.listtype-grid');\r\n var fieldContentContainer = jQuery('.ajax-field.inner-layout-container[data-area-id=\"CenterContentDynamicAdList\"]');\r\n var fieldContainer = fieldContentContainer.closest(\".web-pub-field\");\r\n var fieldSorters = fieldContainer.children(\".FieldSorter\");\r\n if (fieldSorters.length > 0) {\r\n fieldSorters.each(function (index, item) {\r\n $(item).html('');\r\n });\r\n }\r\n jQuery('.ajax-field.inner-layout-container[data-area-id=\"CenterContentDynamicAdList\"]').html('');\r\n }\r\n\r\n var newUrl = self.getCurrentFirstPage();\r\n self.CurrentPageNumber = 1;\r\n window.history.pushState(newUrl, '', newUrl);\r\n };\r\n\r\n \r\n this.SetAllowedUseOfProductCache = function (val) {\r\n self.allowUseOfProductCache = val;\r\n };\r\n\r\n this.reloadPageListingOnlyCallback = function (skipFilter) {\r\n self.reloadFromCallbackActive = true;\r\n var doSkipFilter = true;\r\n if (skipFilter !== undefined)\r\n doSkipFilter = skipFilter\r\n self.updateFields(\".ajax-field[data-field-is-productlist='1']\", \"#AttributeListBox\", true, doSkipFilter, false, 0);\r\n };\r\n\r\n this.reloadDummyFields = function (deviceSize) { //TODO: MOVE, move to separate publisher-only file\r\n\r\n //first, find the area that contains the dummy fields\r\n var container = jQuery('.layout-picker').find('.load-later');\r\n if (container.length > 0) {\r\n var nodeId = jQuery('#hidden-nodeid').text();\r\n var param = {\r\n areaName: 'LayoutPicker',\r\n nodeId: nodeId,\r\n isEdm: false,\r\n deviceSize: deviceSize\r\n };\r\n self.service.GetAction(\"RenderAreaFramework\", param).done(\r\n function (result) {\r\n if (result != undefined && result.length > 0) {\r\n container.html(result);\r\n }\r\n self.updateFields(\".ajax-field.not-loaded-dummy\", \"\", false, false, true, 0);\r\n self.scaleLayoutPicker();\r\n });\r\n\r\n }\r\n //then fetch the new field framework as it might have been changed\r\n //then update the content of the fields\r\n\r\n };\r\n\r\n this.scaleLayoutPicker = function () { //TODO: MOVE, move to separate publisher-only file\r\n var layoutPickerContainer = jQuery(\".PublisherContainer.layout-picker\");\r\n if (layoutPickerContainer != null) {\r\n var layoutSelectorFields = layoutPickerContainer.find('.web-pub-field.container.dummy');\r\n\r\n layoutSelectorFields.each(function (index, element) {\r\n var myField = jQuery(element)\r\n var contentHeight = myField.height();\r\n var contentWidth = myField.width();\r\n var availableWidth = 170;\r\n var availableHeight = 100;\r\n var scale = Math.min(\r\n availableWidth / contentWidth,\r\n availableHeight / contentHeight\r\n );\r\n //todo: find out why the height isn't always correct\r\n myField.css(\"position\", \"absolute\");\r\n\r\n var translateVertical = \"0 0px\";\r\n myField.css(\"transform-origin\", translateVertical);\r\n\r\n myField.css(\"transform\", \"scale(\" + scale + \")\");\r\n var layoutName = myField.data(\"layout-name\");\r\n\r\n if (myField.hasClass(\"selected\")) {\r\n jQuery(myField).wrap(\"\");\r\n } else {\r\n jQuery(myField).wrap(\"\");\r\n }\r\n jQuery(myField.parent()).before(\"