{"version":3,"sources":["jsdelivr-header.js","/gh/danmakebuild/miigle-site@master/miigle__categories-and-subcategories-checkboxes.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACsBE,eAAe,oCAAoC,GAEjD,MAAM,EAAsB,SAAS,iBAAiB,6CAChD,EAAmB,SAAS,iBAAiB,qCAEnD,EAAoB,SAAQ,IAC1B,MAAM,EAAmB,EAAmB,aAAa,oBAEzD,EAAiB,SAAQ,IACnB,EAAgB,aAAa,sBAAwB,GACvD,EAAgB,YAAY,EAC9B,GACA,GAEN,CACA,eAAe,kBACb,EAAE,wBAAwB,OAC1B,EAAE,QAAQ,YAAY,iBAChB,+BACR,CACA,eAAe,6BAEb,EAAE,6BAA6B,OAU/B,SAAS,EAAqB,GAC5B,MAAM,EAAW,EAAM,OAIjB,EADY,EAAS,QAAQ,kCACA,aAAa,oBAG1C,EAAkB,SAAS,cAAc,uDAAuD,OAItG,GAAI,EAAS,QAEX,EAAgB,UAAU,IAAI,YACzB,CAEL,EAAgB,UAAU,OAAO,QAGT,EAAgB,iBAAiB,0BACzC,SAAS,IACvB,EAAc,SAAU,CAAK,GAEjC,CACF,CAjCmB,SAAS,iBAAiB,yDAGlC,SAAS,IAClB,EAAS,iBAAiB,SAAU,EAAqB,GA8B7D,CAEA,eAAe,4BAA4B,GACrC,EAAE,6CAA6C,OAAS,GAC1D,IACA,mBAEA,YAAW,WACL,EAAE,6CAA6C,OAAS,IAC1D,IACA,kBAEJ,GAAG,IAEP,CA0DF,eAAe,gCACC,OAAO,SAAS,KAGE,SAAS,iBAAiB,mCAElC,SAAQ,IAE1B,MAAM,EAAsB,EAAQ,aAAa,oBAGtB,SAAS,iBAAiB,kCAGlC,SAAQ,IAEzB,MAAM,EAAc,EAAO,cAAc,yCAGzC,GAAI,EAAO,aAAa,sBAAwB,EAAqB,CAEnE,EAAY,UAAU,IAAI,YAG1B,MAAM,EAAiB,EAAO,QAAQ,qCAClC,GACF,EAAe,UAAU,IAAI,OAEjC,IACA,IAI2B,SAAS,iBAAiB,sCAElC,SAAQ,IAE7B,MAAM,EAAmB,EAAQ,aAAa,iBAGf,SAAS,iBAAiB,6CAGlC,SAAQ,IAE7B,GAAI,EAAQ,aAAa,mBAAqB,EAAkB,CAE9D,EAAQ,UAAU,IAAI,YAGtB,MAAM,EAAoB,EAAQ,QAAQ,qCACtC,GACF,EAAkB,UAAU,IAAI,OAEpC,IACA,GAGR,CAxNF,EAAG,UAAW,OAAM,WAChB,IACE,MAAM,EAA0B,MAAM,QAAQ,QAAQ,sBAChD,EAAkC,MAAM,QAAQ,QAAQ,yBAE9D,QAAQ,IAAI,CAAC,EAAyB,IACnC,MAAK,OAAQ,EAA0B,MACb,EAAyB,KACZ,EAAyB,KAAK,KAAK,MAEzE,4BAA4B,qCAE5B,YAAW,gBACH,4BAA4B,GACjC,IAAK,IAGT,OAAM,IACL,QAAQ,IAAI,EAAM,GAGxB,CAAE,MAAO,GACP,QAAQ,IAAI,EACd,CACJ,IA8EA,EAAE,UAAU,OAAM,WAEd,EAAE,QAAQ,GAAG,SAAU,oFAAmF,SAAU,GAChH,gBAAkB,EAAE,8EAA8E,KAAK,iBAAiB,OACjG,GAAnB,kBACA,EAAE,qBAAqB,IAAI,IAC3B,EAAE,yBAAyB,IAAI,KAEnC,gBAAkB,GAClB,0BAA4B,GAC5B,EAAE,8EAA8E,KAAK,iBAAiB,MAAK,WACvG,IAAI,EAAuB,EAAE,MAAM,QAAQ,kCAAkC,KAAK,oBAC9E,EAAe,EAAE,MAAM,SAAS,4BAA4B,OAC5D,EAAsB,CACtB,IAAO,CACH,KAAQ,OACR,SAAY,QACZ,GAAM,IAGd,gBAAgB,KAAK,GACrB,0BAA0B,KAAK,GAC/B,IAAI,EAAiB,KAAK,UAAU,iBACpC,EAAE,qBAAqB,IAAI,GAC3B,EAAE,yBAAyB,IAAI,0BACnC,IACI,EAAE,wCAAwC,KAAK,SAAS,QAAQ,yCAAyC,YAAY,YACrH,EAAE,wCAAwC,KAAK,iBAAiB,QAAQ,yCAAyC,SAAS,WAC9H,IAIA,EAAE,QAAQ,GAAG,SAAU,mDAAkD,SAAU,GACnF,mBAAqB,EAAE,6CAA6C,KAAK,iBAAiB,OAChE,GAAtB,oBACA,EAAE,wBAAwB,IAAI,IAElC,mBAAqB,GACrB,EAAE,6CAA6C,KAAK,iBAAiB,MAAK,WACtE,IACI,EAAyB,CACzB,IAAO,CACH,KAAQ,OACR,SAAY,QACZ,GALsB,EAAE,MAAM,QAAQ,6CAA6C,KAAK,mBAQhG,mBAAmB,KAAK,GACxB,IAAI,EAAoB,KAAK,UAAU,oBACvC,EAAE,wBAAwB,IAAI,EAClC,IACA,EAAE,wCAAwC,KAAK,SAAS,QAAQ,6CAA6C,YAAY,YACzH,EAAE,wCAAwC,KAAK,iBAAiB,QAAQ,6CAA6C,SAAS,WAClI,GACJ","file":"/gh/danmakebuild/miigle-site@master/miigle__categories-and-subcategories-checkboxes.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /gh/danmakebuild/miigle-site@master/miigle__categories-and-subcategories-checkboxes.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","$( document ).ready(function() {\n    try {\n      const parentCategoriesPromise = Wized.request.execute(\"Get all categories\");\n      const allSubcategoriesResponsePromise = Wized.request.execute(\"Get all subcategories\");\n\n      Promise.all([parentCategoriesPromise, allSubcategoriesResponsePromise])\n        .then(async ([parentCategoriesResponse, allSubcategoriesResponse]) => {\n          const parentCategories = parentCategoriesResponse.data;\n          const allSubcategoriesResponseArray = allSubcategoriesResponse.data.data.items;\n\n          checkForSubcategoriesOnPage(submitNestSubcategoriesInCategories);\n\n          setTimeout(async () => {\n            await handleCheckboxChangesAsync();\n          }, 5000);\n          \n        })\n        .catch(error => {\n          console.log(error);\n        });\n\n    } catch (error) {\n      console.log(error);\n    }\n});\n  \n  \n  // Move sub-category checkboxes inside parent category wrappers\n  async function submitNestSubcategoriesInCategories(callback) {\n    //console.log(\"Running submitNestSubcategoriesInCategories function\");\n    const subcategoryWrappers = document.querySelectorAll(\".submit__form__categories__subcat__single\");\n    const categoryWrappers = document.querySelectorAll('.submit__form__categories__single');\n  \n    subcategoryWrappers.forEach(subcategoryWrapper => {\n      const parentCategoryId = subcategoryWrapper.getAttribute('parentcategoryid');\n  \n      categoryWrappers.forEach(categoryWrapper => {\n        if (categoryWrapper.getAttribute('parentcategoryid') === parentCategoryId) {\n          categoryWrapper.appendChild(subcategoryWrapper);\n        }\n      });\n    });\n  }\n  async function loadingComplete() {\n    $(\".submit-form__loader\").hide();\n    $(\"body\").removeClass(\"loading\");\n    await populateMmbFormWithCategories();\n  }\n  async function handleCheckboxChangesAsync() {\n    // Get all the checkboxes\n    $(\".submit-form__loader--cat\").hide();\n    //console.log(\"setting up checkbox handler\");\n    const checkboxes = document.querySelectorAll('.submit__form__category-button input[type=\"checkbox\"]');\n  \n    // Attach a change event listener to each checkbox\n    checkboxes.forEach((checkbox) => {\n      checkbox.addEventListener('change', handleCheckboxChange);\n    });\n  \n    // Handle checkbox change event\n    function handleCheckboxChange(event) {\n      const checkbox = event.target;\n  \n      // Get the parentcategoryid from the parent div\n      const parentDiv = checkbox.closest('.submit__form__category-button');\n      const parentcategoryid = parentDiv.getAttribute('parentcategoryid');\n  \n      // Find the corresponding element with parentcategoryid equal to parentcategoryid\n      const categoryElement = document.querySelector(`.submit__form__categories__single[parentcategoryid=\"${parentcategoryid}\"]`);\n  \n  \n      // Check if the checkbox is checked\n      if (checkbox.checked) {\n        // Add the \"show\" class to the categoryElement\n        categoryElement.classList.add('show');\n      } else {\n        // Remove the \"show\" class from the categoryElement\n        categoryElement.classList.remove('show');\n  \n        // Uncheck all input checkboxes within categoryElement\n        const inputCheckboxes = categoryElement.querySelectorAll('input[type=\"checkbox\"]');\n        inputCheckboxes.forEach((inputCheckbox) => {\n          inputCheckbox.checked = false;\n        });\n      }\n    }\n  }\n\n  async function checkForSubcategoriesOnPage(callback) {\n    if ($(\".submit__form__categories__subcat__single\").length > 1) {\n      callback();\n      loadingComplete();\n    } else {\n      setTimeout(function() {\n        if ($(\".submit__form__categories__subcat__single\").length > 1) {\n          callback();\n          loadingComplete();\n        }\n      }, 1000);\n    }\n  }\n\n$(document).ready(function() {\n  // Categories field array builder\n    $(\"body\").on(\"change\", \"div[submit-brand-block='categories'] .submit__form__category-button__inner input\",function (e) {\n        categoriesCount = $(\"div[submit-brand-block='categories'] .submit__form__category-button__inner\").find(\"input:checked\").length;\n        if (categoriesCount == 0) {\n            $(\"#categories-array\").val(\"\");\n            $(\"#searchableCategories\").val(\"\");\n        }\n        categoriesArray = [];\n        searchableCategoriesArray = [];\n        $(\"div[submit-brand-block='categories'] .submit__form__category-button__inner\").find(\"input:checked\").each(function() {\n            var categoryContentfulId = $(this).parents(\".submit__form__category-button\").attr(\"parentcategoryid\");\n            var categoryName = $(this).siblings(\".category-checkbox__name\").text();\n            var categoriesSingleObj = {\n                \"sys\": {\n                    \"type\": \"Link\",\n                    \"linkType\": \"Entry\",\n                    \"id\": categoryContentfulId\n                }\n            }\n            categoriesArray.push(categoriesSingleObj);\n            searchableCategoriesArray.push(categoryName);\n            var categoriesJSON = JSON.stringify(categoriesArray);\n            $(\"#categories-array\").val(categoriesJSON);\n            $(\"#searchableCategories\").val(searchableCategoriesArray);\n        });\n            $(\"div[submit-brand-block='categories']\").find(\"input\").parents(\".submit__form__category-button__inner\").removeClass(\"selected\");\n            $(\"div[submit-brand-block='categories']\").find(\"input:checked\").parents(\".submit__form__category-button__inner\").addClass(\"selected\");\n        });\n\n\n        // Sub categories field array builder\n        $(\"body\").on(\"change\", \".submit__form__categories__subcat__single input\",function (e) {\n        subcategoriesCount = $(\".submit__form__categories__subcat__single\").find(\"input:checked\").length;\n        if (subcategoriesCount == 0) {\n            $(\"#subcategories-array\").val(\"\");\n        }\n        subcategoriesArray = [];\n        $(\".submit__form__categories__subcat__single\").find(\"input:checked\").each(function() {\n            var subcategoryContentfulId = $(this).parents(\".submit__form__categories__subcat__single\").attr(\"subcategoryid\");\n            var subcategoriesSingleObj = {\n                \"sys\": {\n                    \"type\": \"Link\",\n                    \"linkType\": \"Entry\",\n                    \"id\": subcategoryContentfulId\n                }\n            }\n            subcategoriesArray.push(subcategoriesSingleObj);\n            var subcategoriesJSON = JSON.stringify(subcategoriesArray);\n            $(\"#subcategories-array\").val(subcategoriesJSON);\n        });\n        $(\"div[submit-brand-block='categories']\").find(\"input\").parents(\".submit__form__categories__subcat__single\").removeClass(\"selected\");\n        $(\"div[submit-brand-block='categories']\").find(\"input:checked\").parents(\".submit__form__categories__subcat__single\").addClass(\"selected\");\n    });\n});\n\nasync function populateMmbFormWithCategories() {\n    const url = window.location.href;\n    // if (url.includes('/brand/')) {\n      // Loop through all \".mmb-single-brand__category-wrapper\" elements\n      const mmbCategoryWrappers = document.querySelectorAll('.single-brand__category-wrapper');\n  \n      mmbCategoryWrappers.forEach(wrapper => {\n        // Get the mmb-parentcategoryid attribute\n        const mmbParentCategoryId = wrapper.getAttribute('parentcategoryid');\n  \n        // Get all \".mmb-submit__form__category-button\" elements\n        const mmbCategoryButtons = document.querySelectorAll('.submit__form__category-button');\n  \n        // Loop through each category button\n        mmbCategoryButtons.forEach(button => {\n          // Get the .mmb-submit__form__category-button__inner element inside the button\n          const buttonInner = button.querySelector('.submit__form__category-button__inner');\n  \n          // Check if the mmb-parentcategoryid attribute matches\n          if (button.getAttribute('parentcategoryid') === mmbParentCategoryId) {\n            // Add the \"selected\" class to the .mmb-submit__form__category-button__inner element\n            buttonInner.classList.add('selected');\n  \n            // Find the parent \".submit__form__categories__single\" and add class \"show\"\n            const categorySingle = button.closest('.submit__form__categories__single');\n            if (categorySingle) {\n              categorySingle.classList.add('show');\n            }\n          }\n        });\n      });\n  \n      // Loop through all \".mmb-single-brand__subcategory-wrapper\" elements\n      const mmbSubcategoryWrappers = document.querySelectorAll('.single-brand__subcategory-wrapper');\n  \n      mmbSubcategoryWrappers.forEach(wrapper => {\n        // Get the mmb-subcategoryid attribute\n        const mmbSubcategoryId = wrapper.getAttribute('subcategoryid');\n  \n        // Get all \".mmb-submit__form__categories__subcat__single\" elements\n        const mmbSubcategoryElements = document.querySelectorAll('.submit__form__categories__subcat__single');\n  \n        // Loop through each subcategory element\n        mmbSubcategoryElements.forEach(element => {\n          // Check if the mmb-subcategoryid attribute matches\n          if (element.getAttribute('subcategoryid') === mmbSubcategoryId) {\n            // Add the \"selected\" class to the relevant subcategory element\n            element.classList.add('selected');\n  \n            // Find the parent \".submit__form__categories__single\" and add class \"show\"\n            const subcategorySingle = element.closest('.submit__form__categories__single');\n            if (subcategorySingle) {\n              subcategorySingle.classList.add('show');\n            }\n          }\n        });\n      });\n    // }\n  }\n\n  "]}