Mini Kabibi Habibi

Current Path : C:/Program Files/McAfee/WebAdvisor/MFW/packages_web_view/builtin/
Upload File :
Current File : C:/Program Files/McAfee/WebAdvisor/MFW/packages_web_view/builtin/wa-ui-dialog.js

/* Dialog UI */
(function (wa, $) {
  var ui = wa.UI = wa.UI || {};

  ui.CheckListDialog = function (options) {
    var animateDuration = 400,
      el = {
        $dialog: $("#wa-dialog"),
        $body: $("body")
      },

      create = function () {
        clearDialog();
        createHeader();
        createContent();
        createButtons();
        createScript();
      },

      createHeader = function () {
        if (options.header) {
          el.$dialog.append(
            $("<div>", {
              id: "wa-dialog-header",
              html: options.header.html,
              tabindex:"0"
            }).addClass(options.header.css));
        }
      },

      createContent = function () {
        if (options.content) {
          el.$dialog.append(
            $("<div>", {
              id: "wa-dialog-content",
              html: options.content.html,
              tabindex:"0"
            }));
        }
      },

      createButtons = function () {
        if (options.buttons) {
          var $buttons = $("<div>", {
            id: "wa-dialog-buttons"
          }).appendTo(el.$dialog);

          var buttons = options.buttons;
          for (var i = 0; i < buttons.length; i++) {
            if (buttons[i]) {
              $buttons.append($("<input>", {
                id: buttons[i].id,
                'class': buttons[i].css,
                type: "button",
                value: buttons[i].text,
                click: buttons[i].click
              }));
            }
          }
        }
      },

      clearDialog = function () {
        el.$dialog.unbind();
        el.$dialog.empty();
      },

      createScript = function () {
        if (options.script) {
          el.$body.append($("<script>").text(options.script.scripts));
        }
      };



    this.open = function () {
      create();
      var dialogWidth = options.dialogWidth || "370px";
      var dialogCustomStyle = options.dialogCustomStyle || "";
      var styles = `bottom: ${el.$dialog.outerHeight()}; width: ${dialogWidth}; ${dialogCustomStyle}`;

      el.$dialog
        .attr("style", styles)
        .animate({
          bottom: 0
        }, animateDuration, function ()
        {
          window.chrome.webview.postMessage("draw_background");
        });

      return this;
    };

    this.close = function (callback) {
      window.chrome.webview.postMessage("clear_background");
      el.$dialog
        .animate({
          bottom: el.$dialog.outerHeight()
        }, {
          duration: animateDuration,
          complete: function () {
            if (callback && typeof callback === "function") {
              callback();
              return;
            }
          }
        });

      return this;
    };

    
  };

  ui.WebAdvisorDialog = function (options) {
    var buttonOkId = "wa-dialog-button-ok",
      buttonCancelId = "wa-dialog-button-cancel",
      buttonClass = "wa-button",
      fix = {
        id: buttonOkId,
        css: buttonClass
      },
      ignore = {
        id: buttonCancelId,
        css: buttonClass
      };

    return new ui.CheckListDialog({
      header: options.header,
      content: options.content,
      buttons: function () {
        if (options.buttons[1]) {
          $.extend(options.buttons[1], fix);
        }
        if (options.buttons[0]) {
          $.extend(options.buttons[0], ignore);
        }
        return options.buttons;
      }(),
      dialogWidth: options.dialogWidth,
      dialogCustomStyle: options.dialogCustomStyle
    });
  };

}(window.WebAdvisor = window.WebAdvisor || {}, jQuery));
//3300CB0B70D288ED28F1725D5F5D6233108354844787844CD6D41BCC24759DC38BA9E201C0D3B1D26C51D3D76F9BEA32F8D22EA946F286E6C73998F7EC2DA3E9++