PageSourceSearch

https://shop.wolterskluwer-online.de/theme/d1d2f4eb8c105055e6fa05d…ist.shopping-list-dropdown.plugin.73eb11.js

js wolterskluwer-online.de collected 2026-10-02 03:09:22 UTC 13,344 bytes, 9 lines download raw bytes

1"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[97153],{68(e,t,i){i.d(t,{A:()=>s});class s{constructor(){this._request=null,this._errorHandlingInternal=!1}get(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"application/json",s=this._createPreparedRequest("GET",e,i);return this._sendRequest(s,null,t)}post(e,t,i){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";s=this._getContentType(t,s);let r=this._createPreparedRequest("POST",e,s);return this._sendRequest(r,t,i)}delete(e,t,i){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";s=this._getContentType(t,s);let r=this._createPreparedRequest("DELETE",e,s);return this._sendRequest(r,t,i)}patch(e,t,i){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";s=this._getContentType(t,s);let r=this._createPreparedRequest("PATCH",e,s);return this._sendRequest(r,t,i)}abort(){if(this._request)return this._request.abort()}setErrorHandlingInternal(e){this._errorHandlingInternal=e}_registerOnLoaded(e,t){t&&(!0===this._errorHandlingInternal?(e.addEventListener("load",()=>{t(e.responseText,e)}),e.addEventListener("abort",()=>{console.warn(`the request to ${e.responseURL} was aborted`)}),e.addEventListener("error",()=>{console.warn(`the request to ${e.responseURL} failed with status ${e.status}`)}),e.addEventListener("timeout",()=>{console.warn(`the request to ${e.responseURL} timed out`)})):e.addEventListener("loadend",()=>{t(e.responseText,e)}))}_sendRequest(e,t,i){return this._registerOnLoaded(e,i),e.send(t),e}_getContentType(e,t){return e instanceof FormData&&(t=!1),t}_createPreparedRequest(e,t,i){return this._request=new XMLHttpRequest,this._request.open(e,t),this._request.setRequestHeader("X-Requested-With","XMLHttpRequest"),i&&this._request.setRequestHeader("Content-type",i),this._request}}},153(e,t,i){i.r(t),i.d(t,{default:()=>l});var s=i(373),r=i(68),n=i(724),o=i(749),a=i(452);class l extends s.A{init(){this.ajaxContainer=this.el.closest(this.options.ajaxContainerSelector),this.addListProductLabel=document.querySelector(this.options.shoppingListAddProductLabel),this.httpClient=new r.A,this._registerEvents()}_registerEvents(){this.el.addEventListener("click",this._onListSelectionChange.bind(this)),document.$emitter.subscribe("ShoppingList/addDropdownItem",this._addDropdownItem.bind(this))}_addDropdownItem(e){this._addProductRequestCallback(e?.detail)}_onListSelectionChange(e){if(this.listSelection=e.target.closest(this.options.listSelectionSelector),!this.listSelection)return;this.listId=this.listSelection.dataset.listId,this.listName=this.listSelection.querySelector(this.options.listNameDropdown)?.textContent??"",this.isAddedTolist=this.listSelection.querySelector(this.options.checkmarkIcon);let t=this.el.dataset.productId,i=this.el.closest(this.options.buyBoxSelector),s=document.querySelectorAll(this.options.productItemsSelector),r=this.listSelection.querySelector(this.options.wishlistSelector),n=r&&Array.from(r.classList).some(e=>e.includes("not-added")),o={};if(t&&(o[t]={id:t,quantity:1}),i&&(o[t]={id:t,quantity:parseInt(i.querySelector(this.options.quantitySelector)?.value??1)}),s&&s.length>0&&s.forEach(e=>{let t=e.querySelector("input[type='checkbox']");(!t||t.checked)&&(o[e.dataset.id]={id:e.dataset.id,quantity:parseInt(e.querySelector(this.options.quantitySelector)?.value??1)})}),r&&n){this._animationHandler("removed");return}if(r&&!n){this._animationHandler("added");return}if(!this.isAddedTolist){this._sendAddProductRequest(o);return}this._sendRemoveProductRequest()}_sendRemoveProductRequest(){let e=document.querySelector(this.options.addProductActionContainer);e&&e.classList.add("loading"),this.httpClient.delete(window.router["frontend.account.shopping-list.line-item.remove"],JSON.stringify({productIds:[this.el.dataset.productId],listId:this.listSelection.dataset.listId}),this._removeProductRequestCallback.bind(this))}_sendAddProductRequest(e){let t=document.querySelector(this.options.addProductActionContainer),i=window.router["frontend.account.shopping-list.line-item.add"].replace("/id/",`/${this.listId}/`);t&&t.classList.add("loading"),this.ajaxContainer&&n.A.create(this.ajaxContainer);let s={lineItems:e,forwardTo:this.options.forwardTo??!1};this.httpClient.post(i,JSON.stringify(s),((e,t)=>{200===t.status&&a.A.setItem("isAddedToShoppingList","true"),this._addProductRequestCallback(e)}).bind(this))}_addProductRequestCallback(e){if(this.options.elementReplacement&&o.A.replaceFromMarkup(this.options.elementReplacement,this.options.replaceElementSelector,!1),this.ajaxContainer){n.A.remove(this.ajaxContainer);return}this._animationHandler("added",e),this.options.initialFetchItems&&document.$emitter.publish("ShoppingList/fetchDropdownListItem")}_removeProductRequestCallback(){this.isAddedTolist.remove(),this._animationHandler("removed")}_animationHandler(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"added",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=document.querySelector(this.options.addProductActionContainer);this.addListProductLabel&&(this.addListProductLabel.textContent=t||this.listName),i&&(i.classList.remove("loading"),i.classList.add(e),setTimeout(()=>{i.classList.remove(e)},1e3))}}},156(e){var t=function(e){var t;return!!e&&"object"==typeof e&&"[object RegExp]"!==(t=Object.prototype.toString.call(e))&&"[object Date]"!==t&&e.$$typeof!==i},i="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function s(e,t){return!1!==t.clone&&t.isMergeableObject(e)?a(Array.isArray(e)?[]:{},e,t):e}function r(e,t,i){return e.concat(t).map(function(e){return s(e,i)})}function n(e){return Object.keys(e).concat(Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(t){return Object.propertyIsEnumerable.call(e,t)}):[])}function o(e,t){try{return t in e}catch(e){return!1}}function a(e,i,l){(l=l||{}).arrayMerge=l.arrayMerge||r,l.isMergeableObject=l.isMergeableObject||t,l.cloneUnlessOtherwiseSpecified=s;var c,d,u=Array.isArray(i);
1return u!==Array.isArray(e)?s(i,l):u?l.arrayMerge(e,i,l):(d={},(c=l).isMergeableObject(e)&&n(e).forEach(function(t){d[t]=s(e[t],c)}),n(i).forEach(function(t){(!o(e,t)||Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))&&(o(e,t)&&c.isMergeableObject(i[t])?d[t]=(function(e,t){if(!t.customMerge)return a;var i=t.customMerge(e);return"function"==typeof i?i:a})(t,c)(e[t],i[t],c):d[t]=s(i[t],c))}),d)}a.all=function(e,t){if(!Array.isArray(e))throw Error("first argument should be an array");return e.reduce(function(e,i){return a(e,i,t)},{})},e.exports=a},373(e,t,i){i.d(t,{A:()=>a});var s=i(156),r=i.n(s);class n{static ucFirst(e){return e.charAt(0).toUpperCase()+e.slice(1)}static lcFirst(e){return e.charAt(0).toLowerCase()+e.slice(1)}static toDashCase(e){return e.replace(/([A-Z])/g,"-$1").replace(/^-/,"").toLowerCase()}static toLowerCamelCase(e,t){let i=n.toUpperCamelCase(e,t);return n.lcFirst(i)}static toUpperCamelCase(e,t){return t?e.split(t).map(e=>n.ucFirst(e.toLowerCase())).join(""):n.ucFirst(e.toLowerCase())}static parsePrimitive(e){try{return/^\d+(.|,)\d+$/.test(e)&&(e=e.replace(",",".")),JSON.parse(e)}catch(t){return e.toString()}}}class o{constructor(e=document){this._el=e,e.$emitter=this,this._listeners=[]}publish(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],s=new CustomEvent(e,{detail:t,cancelable:i});return this.el.dispatchEvent(s),s}subscribe(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=this,r=e.split("."),n=i.scope?t.bind(i.scope):t;if(i.once&&!0===i.once){let t=n;n=function(i){s.unsubscribe(e),t(i)}}return this.el.addEventListener(r[0],n),this.listeners.push({splitEventName:r,opts:i,cb:n}),!0}unsubscribe(e){let t=e.split(".");return this.listeners=this.listeners.reduce((e,i)=>([...i.splitEventName].sort().toString()===t.sort().toString()?this.el.removeEventListener(i.splitEventName[0],i.cb):e.push(i),e),[]),!0}reset(){return this.listeners.forEach(e=>{this.el.removeEventListener(e.splitEventName[0],e.cb)}),this.listeners=[],!0}get el(){return this._el}set el(e){this._el=e}get listeners(){return this._listeners}set listeners(e){this._listeners=e}}class a{constructor(e,t={},i=!1){if(!(e instanceof Node)){console.warn(`There is no valid element given while trying to create a plugin instance for "${i}".`);return}this.el=e,this.$emitter=new o(this.el),this._pluginName=this._getPluginName(i),this.options=this._mergeOptions(t),this._initialized=!1,this._registerInstance(),this._init()}init(){console.warn(`The "init" method for the plugin "${this._pluginName}" is not defined. The plugin will not be initialized.`)}update(){}_init(){this._initialized||(this.init(),this._initialized=!0)}_update(){this._initialized&&this.update()}_mergeOptions(e){let t=[this.constructor.options,this.options,e];return t.push(this._getConfigFromDataAttribute()),t.push(this._getOptionsFromDataAttribute()),r().all(t.filter(e=>e instanceof Object&&!(e instanceof Array)).map(e=>e||{}))}_getConfigFromDataAttribute(){let e={};if("function"!=typeof this.el.getAttribute)return e;let t=n.toDashCase(this._pluginName),i=this.el.getAttribute(`data-${t}-config`);return i?window.PluginConfigManager.get(this._pluginName,i):e}_getOptionsFromDataAttribute(){let e={};if("function"!=typeof this.el.getAttribute)return e;let t=n.toDashCase(this._pluginName),i=this.el.getAttribute(`data-${t}-options`);if(i)try{return JSON.parse(i)}catch(e){console.error(`The data attribute "data-${t}-options" could not be parsed to json: ${e.message}`)}return e}_registerInstance(){window.PluginManager.getPluginInstancesFromElement(this.el).set(this._pluginName,this),window.PluginManager.getPlugin(this._pluginName,!1).get("instances").push(this)}_getPluginName(e){return e||(e=this.constructor.name),e}}},452(e,t,i){i.d(t,{A:()=>s});class s{static isSupported(){return"undefined"!==document.cookie}static setItem(e,t,i){if(null==e)throw Error("You must specify a key to set a cookie");let s=new Date;s.setTime(s.getTime()+864e5*i);let r="";"https:"===location.protocol&&(r="secure"),document.cookie=`${e}=${t};expires=${s.toUTCString()};path=/;sameSite=lax;${r}`}static getItem(e){if(!e)return!1;let t=e+"=",i=document.cookie.split(";");for(let e=0;e<i.length;e++){let s=i[e];for(;" "===s.charAt(0);)s=s.substring(1);if(0===s.indexOf(t))return s.substring(t.length,s.length)}return!1}static removeItem(e){document.cookie=`${e}= ; expires = Thu, 01 Jan 1970 00:00:00 GMT;path=/`}static key(){return""}static clear(){}}},683(e,t,i){i.d(t,{A:()=>n});let s="loader",r={BEFORE:"before",INNER:"inner"};class n{constructor(e,t=r.BEFORE){this.parent=e instanceof Element?e:document.body.querySelector(e),this.position=t}create(){if(!this.exists()){if(this.position===r.INNER){this._previousHTML=this.parent.innerHTML,this.parent.innerHTML=n.getTemplate();return}this.parent.insertAdjacentHTML(this._getPosition(),n.getTemplate())}}remove(){if(this.position===r.INNER){this.parent.innerHTML=this._previousHTML;return}this.parent.querySelectorAll(`.${s}
1`).forEach(e=>e.remove())}exists(){return this.parent.querySelectorAll(`.${s}`).length>0}_getPosition(){return this.position===r.BEFORE?"afterbegin":"beforeend"}static getTemplate(){return`<div class="${s}" role="status">
2                    <span class="visually-hidden">Loading...</span>
3                </div>`}static SELECTOR_CLASS(){return s}}},724(e,t,i){i.d(t,{A:()=>n});var s=i(683);let r="element-loader-backdrop";class n extends s.A{static create(e){e.classList.add("has-element-loader"),n.exists(e)||(n.appendLoader(e),setTimeout(()=>{let t=e.querySelector(`.${r}`);t&&t.classList.add("element-loader-backdrop-open")},1))}static remove(e){e.classList.remove("has-element-loader");let t=e.querySelector(`.${r}`);t&&t.remove()}static exists(e){return e.querySelectorAll(`.${r}`).length>0}static getTemplate(){return`
4        <div class="${r}">
5            <div class="loader" role="status">
6                <span class="visually-hidden">Loading...</span>
7            </div>
8        </div>
9        `}static appendLoader(e){e.insertAdjacentHTML("beforeend",n.getTemplate())}}},749(e,t,i){i.d(t,{A:()=>r});let s=Object.freeze(new class{constructor(){this._domParser=new DOMParser}replaceFromMarkup(e,t){let i=e;"string"==typeof i&&(i=this._createMarkupFromString(i)),"string"==typeof t&&(t=[t]),this._replaceSelectors(i,t)}replaceElement(e,t){return("string"==typeof e&&(e=document.querySelectorAll(e)),"string"==typeof t&&(t=document.querySelectorAll(t)),e instanceof NodeList&&t instanceof NodeList&&t.length>e.length)?(t.forEach(t=>{e.forEach(e=>{e.innerHTML&&e.className===t.className&&(t.innerHTML=e.innerHTML)})}),!0):e instanceof NodeList&&e.length?(e.forEach((e,i)=>{e.innerHTML&&(t[i].innerHTML=e.innerHTML)}),!0):t instanceof NodeList&&t.length?(t.forEach(t=>{e.innerHTML&&(t.innerHTML=e.innerHTML)}),!0):!!t&&!!e&&!!e.innerHTML&&(t.innerHTML=e.innerHTML,!0)}_replaceSelectors(e,t){t.forEach(t=>{let i=e.querySelectorAll(t),s=document.querySelectorAll(t);this.replaceElement(i,s)})}_createMarkupFromString(e){return this._domParser.parseFromString(e,"text/html")}});class r{static replaceFromMarkup(e,t){s.replaceFromMarkup(e,t)}static replaceElement(e,t){return s.replaceElement(e,t)}}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.