(function ($) {
$.fn.feedback = function (success, fail) {
self = $(this);
self.find('.dropdown-menu-form').on('click', function (e) {
e.stopPropagation();
});
self.find('.screenshot').on('click', function () {
self.find('.cam').removeClass('fa-camera fa-check').addClass('fa-refresh fa-spin');
html2canvas($(document.body)[0]).then(function (canvas) {
self.find('.screen-uri').val(canvas.toDataURL("image/png"));
self.find('.cam').removeClass('fa-refresh fa-spin').addClass('fa-check');
});
});
self.find('.do-close').on('click', function () {
self.find('.dropdown-toggle').dropdown('toggle');
self.find('.reported, .failed').hide();
self.find('.report').show();
self.find('.cam').removeClass('fa-check').addClass('fa-camera');
self.find('.screen-uri').val('');
self.find('textarea').val('');
});
failed = function () {
self.find('.loading').hide();
self.find('.failed').show();
if (fail) fail();
}
self.find('form').on('submit', function () {
self.find('.report').hide();
self.find('.loading').show();
self.find('input[name="viewport"]').val($(window).width()+"x"+$(window).height());
$.post($(this).attr('action'), $(this).serialize(), null, 'json').done(function (res) {
if (res == 'success') {
self.find('.loading').hide();
self.find('.reported').show();
if (success) success();
} else failed();
}).fail(function () {
failed();
});
return false;
});
};
}(jQuery));
$(document).ready(function () {
$('.feedback').feedback();
});