PluginProbe
Tagembed: Social Media Feeds and Customer Reviews Widget / 7.8
Tagembed: Social Media Feeds and Customer Reviews Widget v7.8
7.8 7.5 7.6 7.7 7.4 trunk 3.10 3.9 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5.0 5.1 5.2 5.3 5.4 5.5 5.6 All 43 releases
tagembed-widget / assets / js / theme / tagembed.theme.script.js

tagembed.theme.script.js in Tagembed: Social Media Feeds and Customer Reviews Widget 7.8, at assets/js/theme/tagembed.theme.script.js

112 lines 6.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
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*/