{"version":3,"file":"new-6HPDcB9r.js","sources":["../../../app/frontend/entrypoints/controllers/settings/features/new.ts"],"sourcesContent":["import jQuery from 'jquery/dist/jquery';\nimport Swal from 'sweetalert2';\nimport * as bootstrap from 'bootstrap'\n\nimport Utils from '../../../utils'\nimport DefaultController from \"../../defaultController\";\nimport FeatureEntity from './entity';\n\nexport default class SettingsFeaturesNew extends DefaultController {\n async init() {\n this.entity = \"site_features\"\n await super.init();\n }\n\n getEntityData(elem: any) {\n return FeatureEntity.getEntityData(elem)\n }\n\n bindListeners() {\n // @ts-ignore\n document.querySelectorAll(\".col-4[data-product-id]\").forEach((elem: HTMLElement) => {\n const productId = elem.getAttribute(\"data-product-id\") as string\n const featureId = elem.getAttribute(\"data-site-feature-id\")\n const currentUsers = parseInt(elem.getAttribute(\"data-site-feature-users\") as string || \"0\")\n const packagePrice = parseFloat(elem.getAttribute(\"data-price\") as string)\n const priceUser = parseFloat(elem.getAttribute(\"data-price-user\") as string)\n const userInput = elem.querySelector(\"input[type='number']\") as HTMLInputElement | null\n const buyButton = elem.querySelector(\".licenses_add_feature\") as HTMLButtonElement\n const infoDiv = elem.querySelector(\".user_info_img\") as HTMLElement\n const calc = () => {\n if (userInput) {\n let totalPrice = 0\n let userVal = parseInt(userInput.value || \"0\")\n if (userVal < currentUsers || isNaN(userVal)) {\n userInput.value = `${currentUsers}`\n userVal = currentUsers\n }\n if (!featureId) {\n totalPrice += packagePrice\n }\n const userDiff = userVal - currentUsers\n if (userDiff > 0) {\n infoDiv.innerHTML = `
\n
\n \n +${userDiff}\n
\n
`\n } else {\n infoDiv.innerHTML = ''\n }\n totalPrice += (userDiff * priceUser);\n (elem.querySelector(\".price_total\") as HTMLElement).innerHTML = `${totalPrice.toFixed(2).replace(\".\", \",\")}€ / Monat`\n }\n }\n if (userInput) {\n userInput.addEventListener('keyup', (e) => {\n calc()\n })\n userInput.addEventListener('change', (e) => {\n calc()\n })\n calc()\n }\n buyButton.addEventListener('click', async (e) => {\n e.preventDefault();\n if (userInput) {\n let userVal = parseInt(userInput.value || \"0\")\n if (userVal < currentUsers || isNaN(userVal)) {\n userInput.value = `${currentUsers}`\n userVal = currentUsers\n }\n const userDiff = userVal - currentUsers\n await Utils.license.buy(productId, userDiff)\n document.location.reload()\n }\n })\n })\n }\n}"],"names":[],"mappings":";;;;;;;AAQA,MAAqB,4BAA4B,kBAAkB;AAAA,EAC/D,MAAM,OAAO;AACT,SAAK,SAAS;AACd,UAAM,MAAM;EAChB;AAAA,EAEA,cAAc,MAAW;AACd,WAAA,cAAc,cAAc,IAAI;AAAA,EAC3C;AAAA,EAEA,gBAAgB;AAEZ,aAAS,iBAAiB,yBAAyB,EAAE,QAAQ,CAAC,SAAsB;AAC1E,YAAA,YAAY,KAAK,aAAa,iBAAiB;AAC/C,YAAA,YAAY,KAAK,aAAa,sBAAsB;AAC1D,YAAM,eAAe,SAAS,KAAK,aAAa,yBAAyB,KAAe,GAAG;AAC3F,YAAM,eAAe,WAAW,KAAK,aAAa,YAAY,CAAW;AACzE,YAAM,YAAY,WAAW,KAAK,aAAa,iBAAiB,CAAW;AACrE,YAAA,YAAY,KAAK,cAAc,sBAAsB;AACrD,YAAA,YAAY,KAAK,cAAc,uBAAuB;AACtD,YAAA,UAAU,KAAK,cAAc,gBAAgB;AACnD,YAAM,OAAO,MAAM;AACf,YAAI,WAAW;AACX,cAAI,aAAa;AACjB,cAAI,UAAU,SAAS,UAAU,SAAS,GAAG;AAC7C,cAAI,UAAU,gBAAgB,MAAM,OAAO,GAAG;AAChC,sBAAA,QAAQ,GAAG,YAAY;AACvB,sBAAA;AAAA,UACd;AACA,cAAI,CAAC,WAAW;AACE,0BAAA;AAAA,UAClB;AACA,gBAAM,WAAW,UAAU;AAC3B,cAAI,WAAW,GAAG;AACd,oBAAQ,YAAY;AAAA;AAAA;AAAA,mDAGO,QAAQ;AAAA;AAAA;AAAA,UAAA,OAGhC;AACH,oBAAQ,YAAY;AAAA,UACxB;AACA,wBAAe,WAAW;AACzB,eAAK,cAAc,cAAc,EAAkB,YAAY,GAAG,WAAW,QAAQ,CAAC,EAAE,QAAQ,KAAK,GAAG,CAAC;AAAA,QAC9G;AAAA,MAAA;AAEJ,UAAI,WAAW;AACD,kBAAA,iBAAiB,SAAS,CAAC,MAAM;AAClC;QAAA,CACR;AACS,kBAAA,iBAAiB,UAAU,CAAC,MAAM;AACnC;QAAA,CACR;AACI;MACT;AACU,gBAAA,iBAAiB,SAAS,OAAO,MAAM;AAC7C,UAAE,eAAe;AACjB,YAAI,WAAW;AACX,cAAI,UAAU,SAAS,UAAU,SAAS,GAAG;AAC7C,cAAI,UAAU,gBAAgB,MAAM,OAAO,GAAG;AAChC,sBAAA,QAAQ,GAAG,YAAY;AACvB,sBAAA;AAAA,UACd;AACA,gBAAM,WAAW,UAAU;AAC3B,gBAAM,MAAM,QAAQ,IAAI,WAAW,QAAQ;AAC3C,mBAAS,SAAS;QACtB;AAAA,MAAA,CACH;AAAA,IAAA,CACJ;AAAA,EACL;AACJ;"}