script.js 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. /*-----------------------------------------------------------------------------------
  2. Template Name: Admiro
  3. Template URI: themes.pixelstrap.com/Admiro
  4. Description: This is Admin Template
  5. Author: Pixelstrap
  6. Author URI: https://themeforest.net/user/pixelstrap
  7. ----------------------------------------------------------------------------------- */
  8. // 01. Loader js
  9. // 02. Tap to top js
  10. // 03. Header DropDown Toggle js
  11. // 04. Full screen js
  12. // 05. Header search js
  13. document.addEventListener("DOMContentLoaded", function () {
  14. const body = document.querySelector("body");
  15. const html = document.querySelector("html");
  16. /*=====================
  17. 01 Loader Js
  18. ==========================*/
  19. $(".loader-wrapper").fadeOut("slow", function () {
  20. $(this).remove();
  21. });
  22. /*=====================
  23. 02 Tap to top js
  24. ==========================*/
  25. const button = document.querySelector(".tap-top");
  26. const displayButton = () => {
  27. window.addEventListener("scroll", () => {
  28. if (window.scrollY > 100) {
  29. button.style.display = "block";
  30. } else {
  31. button.style.display = "none";
  32. }
  33. });
  34. };
  35. const scrollToTop = () => {
  36. button.addEventListener("click", () => {
  37. window.scroll({
  38. top: 0,
  39. left: 0,
  40. behavior: "smooth",
  41. });
  42. console.log(event);
  43. });
  44. };
  45. displayButton();
  46. scrollToTop();
  47. /*=====================
  48. 03 Header DropDown Toggle
  49. ==========================*/
  50. body.addEventListener("click", function (event) {
  51. const headerDropdownMenu = document.querySelectorAll(".custom-menu");
  52. const dropdownEl = event.target.closest(".custom-dropdown");
  53. const visible = dropdownEl
  54. ?.querySelector(".custom-menu")
  55. .classList.contains("show");
  56. const dropdownMenuElement = event.target.closest(".custom-menu");
  57. if (!dropdownMenuElement) {
  58. headerDropdownMenu.forEach((item) => {
  59. item.classList.remove("show");
  60. });
  61. }
  62. if (!dropdownEl) return;
  63. const dropdownMenu = dropdownEl.querySelector(".custom-menu");
  64. if (!visible) dropdownMenu.classList.add("show");
  65. });
  66. /*=====================
  67. 04 Full screen js
  68. ==========================*/
  69. $(document).ready(function () {
  70. $(".full-screen").click(function (event) {
  71. var elem = document.documentElement;
  72. if (
  73. (document.fullScreenElement &&
  74. document.fullScreenElement !== null) ||
  75. (!document.mozFullScreen && !document.webkitIsFullScreen)
  76. ) {
  77. if (elem.requestFullScreen) {
  78. elem.requestFullScreen();
  79. } else if (elem.mozRequestFullScreen) {
  80. elem.mozRequestFullScreen();
  81. } else if (elem.webkitRequestFullScreen) {
  82. elem.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT);
  83. }
  84. } else {
  85. if (document.cancelFullScreen) {
  86. document.cancelFullScreen();
  87. } else if (document.mozCancelFullScreen) {
  88. document.mozCancelFullScreen();
  89. } else if (document.webkitCancelFullScreen) {
  90. document.webkitCancelFullScreen();
  91. }
  92. }
  93. });
  94. });
  95. /*=====================
  96. 05. Header search js
  97. ==========================*/
  98. const filterSidebarToggle = document.querySelector(".md-sidebar-toggle");
  99. const filterSidebarAside = document.querySelector(".md-sidebar-aside");
  100. filterSidebarToggle?.addEventListener("click", function () {
  101. filterSidebarAside.classList.toggle("open");
  102. });
  103. $(".search").click(function () {
  104. $(".search-full").addClass("open");
  105. });
  106. $(".close-search").click(function () {
  107. $(".search-full").removeClass("open");
  108. $("body").removeClass("offcanvas");
  109. });
  110. /*=====================
  111. 05. Dark Mode js
  112. ==========================*/
  113. if (window.location.pathname.includes("layout-dark.html")) {
  114. $("body").removeClass("light");
  115. $("body").addClass("dark-only");
  116. } else {
  117. $(".dark-mode").on("click", function () {
  118. const bodyModeDark = $("body").hasClass("dark-only");
  119. if (!window.location.pathname.includes("layout-dark.html")) {
  120. if (!bodyModeDark) {
  121. $(".dark-mode").addClass("active");
  122. localStorage.setItem("mode", "dark-only");
  123. $("body").addClass("dark-only");
  124. $("body").removeClass("light");
  125. } else {
  126. $(".dark-mode").removeClass("active");
  127. localStorage.setItem("mode", "light");
  128. $("body").removeClass("dark-only");
  129. $("body").addClass("light");
  130. }
  131. }
  132. });
  133. $("body").addClass(
  134. localStorage.getItem("mode")
  135. ? localStorage.getItem("mode")
  136. : "light"
  137. );
  138. $(".dark-mode").addClass(
  139. localStorage.getItem("mode") === "dark-only" ? "active" : " "
  140. );
  141. }
  142. // product-page-js-start
  143. var toggleDataElements = document.querySelectorAll(".toggle-data");
  144. toggleDataElements.forEach(function (element) {
  145. element.addEventListener("click", function () {
  146. var productWrapperElements =
  147. document.querySelectorAll(".product-wrapper");
  148. productWrapperElements.forEach(function (wrapperElement) {
  149. wrapperElement.classList.toggle("sidebaron");
  150. });
  151. });
  152. });
  153. // product-page-js-end
  154. $(".prooduct-details-box .close").on("click", function (e) {
  155. var tets = $(this)
  156. .parent()
  157. .parent()
  158. .parent()
  159. .parent()
  160. .addClass("d-none");
  161. console.log(tets);
  162. });
  163. /*=====================
  164. 00. Background Image js
  165. ==========================*/
  166. $(".bg-center").parent().addClass("b-center");
  167. $(".bg-img-cover").parent().addClass("bg-size");
  168. $(".bg-img-cover").each(function () {
  169. var el = $(this),
  170. src = el.attr("src"),
  171. parent = el.parent();
  172. parent.css({
  173. "background-image": "url(" + src + ")",
  174. "background-size": "cover",
  175. "background-position": "center",
  176. display: "block",
  177. });
  178. el.hide();
  179. });
  180. /*=====================
  181. 00. Language js
  182. ==========================*/
  183. var tnum = "en";
  184. $(document).ready(function () {
  185. if (localStorage.getItem("primary") != null) {
  186. var primary_val = localStorage.getItem("primary");
  187. $("#ColorPicker1").val(primary_val);
  188. var secondary_val = localStorage.getItem("secondary");
  189. $("#ColorPicker2").val(secondary_val);
  190. }
  191. $(document).click(function (e) {
  192. $(".translate_wrapper, .more_lang").removeClass("active");
  193. });
  194. $(".translate_wrapper .current_lang").click(function (e) {
  195. e.stopPropagation();
  196. $(this).parent().toggleClass("active");
  197. setTimeout(function () {
  198. $(".more_lang").toggleClass("active");
  199. }, 5);
  200. });
  201. /*TRANSLATE*/
  202. translate(tnum);
  203. $(".more_lang .lang").click(function () {
  204. $(this).addClass("selected").siblings().removeClass("selected");
  205. $(".more_lang").removeClass("active");
  206. var i = $(this).find("i").attr("class");
  207. var lang = $(this).attr("data-value");
  208. var tnum = lang;
  209. translate(tnum);
  210. $(".current_lang .lang-txt").text(lang);
  211. $(".current_lang i").attr("class", i);
  212. });
  213. });
  214. function translate(tnum) {
  215. $(".lan-1").text(trans[0][tnum]);
  216. $(".lan-2").text(trans[1][tnum]);
  217. $(".lan-3").text(trans[2][tnum]);
  218. }
  219. var trans = [
  220. {
  221. en: "General",
  222. es: "Paneloj",
  223. fr: "Générale",
  224. },
  225. {
  226. en: "Widgets",
  227. es: "Vidin",
  228. fr: "widgets",
  229. },
  230. {
  231. en: "Page layout",
  232. es: "Paneloj",
  233. fr: "Tableaux",
  234. },
  235. ];
  236. });