Your IP : 216.73.216.219


Current Path : /home/chauffn/vuzelia/2023/tmp/install_6a8c3a237ada0/assets/js/
Upload File :
Current File : /home/chauffn/vuzelia/2023/tmp/install_6a8c3a237ada0/assets/js/webfont.js

/**
 * @package Helix3 Framework
 * @author JoomShaper https://www.joomshaper.com
 * @copyright (c) 2010 - 2026 JoomShaper
 * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or Later
 */
jQuery(function ($) {
  //Web Fonts
  $(".list-font-families").on("change", function (event) {
    event.preventDefault();

    var $that = $(this),
      layoutName = $(this).val(),
      data = {
        action: "fontVariants",
        layoutName: layoutName,
      };

    var request = {
      option: "com_ajax",
      plugin: "helix3",
      data: data,
      format: "json",
    };

    $.ajax({
      type: "POST",
      data: request,
      success: function (response) {
        var font = $.parseJSON(response.data);
        $that.closest(".webfont").find(".list-font-weight").html(font.variants);
        $that.closest(".webfont").find(".list-font-subset").html(font.subsets);
      },
    });

    //Change Preview
    var font = $that.val().replace(" ", "+");
    $("head").append(
      "<link href='//fonts.googleapis.com/css?family=" +
        font +
        "' rel='stylesheet' type='text/css'>",
    );
    $(this)
      .closest(".webfont")
      .find(".webfont-preview")
      .fadeIn()
      .css("font-family", $(this).val());

    return false;
  });

  //Font Size
  $(".list-font-weight").on("change", function (event) {
    event.preventDefault();

    var variant = $(this).val(),
      weight = "",
      style = "",
      family =
        $(this)
          .closest(".webfont")
          .find(".list-font-families")
          .val()
          .replace(" ", "+") +
        ":" +
        variant;

    if (variant == "regular") {
      weight = "regular";
      style = "";
    } else if (variant == "italic") {
      weight = "regular";
      style = "italic";
    } else {
      weight = parseInt(variant);
      style = $(this).val().replace(weight, "");
    }

    $("head").append(
      "<link href='//fonts.googleapis.com/css?family=" +
        family +
        "' rel='stylesheet' type='text/css'>",
    );
    $(this)
      .closest(".webfont")
      .find(".webfont-preview")
      .fadeIn()
      .css({
        "font-family": $(this)
          .closest(".webfont")
          .find(".list-font-families")
          .val(),
        "font-weight": weight,
        "font-style": style,
      });
  });

  //Font Subset
  $(".list-font-subset").on("change", function (event) {
    event.preventDefault();

    var subsets = $(this).val(),
      variant = $(this).closest(".webfont").find(".list-font-weight").val(),
      weight = "",
      style = "",
      family =
        $(this)
          .closest(".webfont")
          .find(".list-font-families")
          .val()
          .replace(" ", "+") +
        ":" +
        variant +
        "&subset=" +
        subsets;

    if (variant == "regular") {
      weight = "regular";
      style = "";
    } else if (variant == "italic") {
      weight = "regular";
      style = "italic";
    } else {
      weight = parseInt(variant);
      style = $(this).val().replace(weight, "");
    }

    $("head").append(
      "<link href='//fonts.googleapis.com/css?family=" +
        family +
        "' rel='stylesheet' type='text/css'>",
    );
  });

  //Font Size
  $(".webfont-size").on("change", function (event) {
    event.preventDefault();

    var font_size = $(this).val(),
      subsets = $(this).closest(".webfont").find(".list-font-subset").val(),
      variant = $(this).closest(".webfont").find(".list-font-weight").val(),
      weight = "",
      style = "",
      family =
        $(this)
          .closest(".webfont")
          .find(".list-font-families")
          .val()
          .replace(" ", "+") +
        ":" +
        variant +
        "&subset=" +
        subsets;

    if (variant == "regular") {
      weight = "regular";
      style = "";
    } else if (variant == "italic") {
      weight = "regular";
      style = "italic";
    } else {
      weight = parseInt(variant);
      style = $(this).val().replace(weight, "");
    }

    $("head").append(
      "<link href='//fonts.googleapis.com/css?family=" +
        family +
        "' rel='stylesheet' type='text/css'>",
    );
    $(this)
      .closest(".webfont")
      .find(".webfont-preview")
      .fadeIn()
      .css({
        "font-family": $(this)
          .closest(".webfont")
          .find(".list-font-families")
          .val(),
        "font-weight": weight,
        "font-style": style,
        "font-size": $(this).val() + "px",
        "line-height": "1",
      });
  });

  //Update Fonts list
  $(".btn-update-fonts-list").on("click", function (event) {
    event.preventDefault();

    var $that = $(this),
      data = {
        action: "updateFonts",
        layoutName: "",
      };

    var request = {
      option: "com_ajax",
      plugin: "helix3",
      data: data,
      format: "raw",
    };

    $.ajax({
      type: "POST",
      data: request,
      beforeSend: function () {
        $that.prepend('<i class="fa fa-spinner fa-spin"></i> ');
      },
      success: function (response) {
        $that.after(response);
        $that.find(".fa-spinner").remove();
        $that
          .next()
          .delay(1000)
          .fadeOut(300, function () {
            $(this).remove();
          });
      },
    });

    return false;
  });
});