assets/js/theme
tagembed.theme.script.js
6.1 KB
4 days ago
tagembed.theme.script.js in Tagembed: Social Media Feeds and Customer Reviews Widget 7.9, at assets/js/theme/tagembed.theme.script.js
| 1 | /*--Start-- Get Social Accounts*/ |
| 2 | window.addEventListener ? window.addEventListener("load", __tagembed__get_theme, false) : window.attachEvent && window.attachEvent("onload", __tagembed__get_theme); |
| 3 | function __tagembed__get_theme() { |
| 4 | let widgetId = document.querySelector("#__tagembed__widgets"); |
| 5 | if (!widgetId) |
| 6 | return; |
| 7 | widgetId = widgetId.selectedOptions[0]; |
| 8 | widgetId = widgetId.value.split('#')[0]; |
| 9 | let __tagembed__theme = document.querySelector("#__tagembed__theme"); |
| 10 | let __tagembed__toast = new TagembedToast; |
| 11 | let formData = new FormData(); |
| 12 | formData.append('action', 'tagembed_data'); |
| 13 | formData.append('widgetId', widgetId); |
| 14 | formData.append('__tagembed__ajax_call_nones', __tagembed__ajax_call_nones); |
| 15 | formData.append('__tagembed__ajax_action', '__tagembed__get_themes'); |
| 16 | __tagembed__open_loader(); |
| 17 | fetch(__tagembed__ajax_url, { |
| 18 | method: 'POST', |
| 19 | headers: { |
| 20 | 'x-requested-with': 'XMLHttpRequest', |
| 21 | }, |
| 22 | body: formData, |
| 23 | }).then(response => { |
| 24 | return response.json() |
| 25 | }).then(response => { |
| 26 | __tagembed__close_loader(); |
| 27 | if (response.status == true) { |
| 28 | let elemHTML = ""; |
| 29 | if (typeof response.data !== 'undefined' && response.data.length > 0) { |
| 30 | for (let index in response.data) { |
| 31 | elemHTML = `${elemHTML}<li>`; |
| 32 | elemHTML = `${elemHTML}<label class="${response.data[index].active == 1 ? "__tagembed__themeactive" : ""} ">`; |
| 33 | elemHTML = `${elemHTML}<span class="__tagembed__theme-img">`; |
| 34 | /*elemHTML = `${elemHTML}<img src="${__tagembed__plugin_url_for_js}assets/images/theme/themeThumb${__tagembed__escapeAttr(response.data[index].themeId)}.png" alt="modern fall" />`;*/ |
| 35 | elemHTML = `${elemHTML}<img class="lazyload" src="${__tagembed__plugin_url_for_js}assets/images/blur-img.gif" data-src="${__tagembed__plugin_url_for_js}assets/images/theme/themeThumb${__tagembed__escapeAttr(response.data[index].themeId)}.png" alt="theme-image" />`; |
| 36 | elemHTML = `${elemHTML}</span>`; |
| 37 | elemHTML = `${elemHTML}<span class="__tagembed__themename"> ${__tagembed__escapeText(response.data[index].name)} </span>`; |
| 38 | elemHTML = `${elemHTML}<input type="radio" data-tagembed-theme-id="${__tagembed__escapeAttr(__tagembed__validId(response.data[index].themeId))}" class="__tagembed__theme_radio_button" name="themeId" value="${__tagembed__escapeAttr(response.data[index].themeId)}" ${response.data[index].active == 1 ? "checked" : ""} />`; |
| 39 | elemHTML = `${elemHTML}</label>`; |
| 40 | elemHTML = `${elemHTML}</li>`; |
| 41 | } |
| 42 | } |
| 43 | __tagembed__setSafeHtml(__tagembed__theme, elemHTML); |
| 44 | /* The theme radio buttons carry their id in a data attribute and are wired up here, |
| 45 | so no event handler is written into the markup. */ |
| 46 | __tagembed__theme.querySelectorAll("input[data-tagembed-theme-id]").forEach(function (__tagembed__themeRadio) { |
| 47 | __tagembed__themeRadio.addEventListener("click", function () { |
| 48 | __tagembed__editTheme((this.getAttribute("data-tagembed-theme-id") || "")); |
| 49 | }); |
| 50 | }); |
| 51 | __tagembed__image__lazy_loading()/*Image Lazy Loader*/ |
| 52 | } else { |
| 53 | if (response.hasOwnProperty("message")) { |
| 54 | __tagembed__toast.danger({ message: response.message, position: '__tagembed__is-top-right' }); |
| 55 | } else { |
| 56 | __tagembed__toast.danger({ message: "Something went wrong. Please try after sometime", position: '__tagembed__is-top-right' }); |
| 57 | } |
| 58 | } |
| 59 | }).catch((error) => { |
| 60 | console.log(error); |
| 61 | __tagembed__close_loader(); |
| 62 | __tagembed__toast.danger({ message: "Something went wrong. Please try after sometime", position: '__tagembed__is-top-right' }); |
| 63 | }); |
| 64 | } |
| 65 | /*--End-- Get Social Accounts*/ |
| 66 | /*--Start--Image Lazy Loadin*/ |
| 67 | function __tagembed__image__lazy_loading() { |
| 68 | let images = document.querySelectorAll(".lazyload"); |
| 69 | __tagembed__lazyload(images); |
| 70 | } |
| 71 | /*--End--Image Lazy Loadin*/ |
| 72 | /*--Start--Edit Theme*/ |
| 73 | function __tagembed__editTheme(__tagembed__theme_id) { |
| 74 | let __tagembed__widget_id = document.querySelector("#__tagembed__widgets").selectedOptions[0]; |
| 75 | __tagembed__widget_id = __tagembed__widget_id.value.split('#')[0]; |
| 76 | let __tagembed__toast = new TagembedToast; |
| 77 | if (!__tagembed__widget_id || !__tagembed__theme_id) |
| 78 | return __tagembed__toast.danger({ message: "Something went wrong. Please try after sometime", position: '__tagembed__is-top-right' }); |
| 79 | let formData = new FormData(); |
| 80 | formData.append('action', 'tagembed_data'); |
| 81 | formData.append('widgetId', __tagembed__widget_id); |
| 82 | formData.append('themeId', __tagembed__theme_id); |
| 83 | formData.append('__tagembed__ajax_call_nones', __tagembed__ajax_call_nones); |
| 84 | formData.append('__tagembed__ajax_action', '__tagembed__edit_themes'); |
| 85 | __tagembed__open_loader(); |
| 86 | fetch(__tagembed__ajax_url, { |
| 87 | method: 'POST', |
| 88 | headers: { |
| 89 | 'x-requested-with': 'XMLHttpRequest', |
| 90 | }, |
| 91 | body: formData, |
| 92 | }).then(response => { |
| 93 | return response.json(); |
| 94 | }).then(response => { |
| 95 | __tagembed__close_loader(); |
| 96 | if (response.status == true) { |
| 97 | __tagembed__toast.success({ message: "Theme Updated.", position: '__tagembed__is-top-right' }); |
| 98 | } else { |
| 99 | if (response.hasOwnProperty("message")) { |
| 100 | __tagembed__toast.danger({ message: response.message, position: '__tagembed__is-top-right' }); |
| 101 | } else { |
| 102 | __tagembed__toast.danger({ message: "Something went wrong. Please try after sometime", position: '__tagembed__is-top-right' }); |
| 103 | } |
| 104 | } |
| 105 | }).catch((error) => { |
| 106 | console.log(error); |
| 107 | __tagembed__close_loader(); |
| 108 | __tagembed__toast.danger({ message: "Something went wrong. Please try after sometime", position: '__tagembed__is-top-right' }); |
| 109 | }); |
| 110 | |
| 111 | } |
| 112 | /*--End--Edit Theme*/ |