{"version":3,"file":"958.45fc842c26cd9f8db13e.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.ensureCorrectImageSizesForField(container, result);\r\n AjaxRenderingEngine.applyCustomerSpecifics(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(\"