Mini Kabibi Habibi
/* 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++