mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 14:03:30 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			87 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
"use strict";
 | 
						|
 | 
						|
const _ = require("lodash");
 | 
						|
 | 
						|
const common = require("./common");
 | 
						|
/* Arguments used in the report_* functions are,
 | 
						|
   response- response that we want to display
 | 
						|
   status_box- element being used to display the response
 | 
						|
   cls- class that we want to add/remove to/from the status_box
 | 
						|
*/
 | 
						|
 | 
						|
exports.message = function (response, status_box, cls, remove_after) {
 | 
						|
    if (cls === undefined) {
 | 
						|
        cls = "alert";
 | 
						|
    }
 | 
						|
 | 
						|
    // Note we use html() below, since we can rely on our callers escaping HTML
 | 
						|
    // via i18n.t when interpolating data.
 | 
						|
    status_box
 | 
						|
        .removeClass(common.status_classes)
 | 
						|
        .addClass(cls)
 | 
						|
        .html(response)
 | 
						|
        .stop(true)
 | 
						|
        .fadeTo(0, 1);
 | 
						|
    if (remove_after) {
 | 
						|
        setTimeout(() => {
 | 
						|
            status_box.fadeOut(400);
 | 
						|
        }, remove_after);
 | 
						|
    }
 | 
						|
    status_box.addClass("show");
 | 
						|
};
 | 
						|
 | 
						|
exports.error = function (response, xhr, status_box, remove_after) {
 | 
						|
    if (xhr && xhr.status.toString().charAt(0) === "4") {
 | 
						|
        // Only display the error response for 4XX, where we've crafted
 | 
						|
        // a nice response.
 | 
						|
        const server_response = _.escape(JSON.parse(xhr.responseText).msg);
 | 
						|
        if (response) {
 | 
						|
            response += ": " + server_response;
 | 
						|
        } else {
 | 
						|
            response = server_response;
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    exports.message(response, status_box, "alert-error", remove_after);
 | 
						|
};
 | 
						|
 | 
						|
exports.client_error = function (response, status_box, remove_after) {
 | 
						|
    exports.message(response, status_box, "alert-error", remove_after);
 | 
						|
};
 | 
						|
 | 
						|
exports.success = function (response, status_box, remove_after) {
 | 
						|
    exports.message(response, status_box, "alert-success", remove_after);
 | 
						|
};
 | 
						|
 | 
						|
exports.generic_embed_error = function (error) {
 | 
						|
    const $alert = $("<div class='alert home-error-bar'></div>");
 | 
						|
    const $exit = "<div class='exit'></div>";
 | 
						|
 | 
						|
    $(".alert-box").append(
 | 
						|
        $alert.html($exit + "<div class='content'>" + error + "</div>").addClass("show"),
 | 
						|
    );
 | 
						|
};
 | 
						|
 | 
						|
exports.generic_row_button_error = function (xhr, btn) {
 | 
						|
    if (xhr.status.toString().charAt(0) === "4") {
 | 
						|
        btn.closest("td").html(
 | 
						|
            $("<p>").addClass("text-error").text(JSON.parse(xhr.responseText).msg),
 | 
						|
        );
 | 
						|
    } else {
 | 
						|
        btn.text(i18n.t("Failed!"));
 | 
						|
    }
 | 
						|
};
 | 
						|
 | 
						|
exports.hide_error = function ($target) {
 | 
						|
    $target.addClass("fade-out");
 | 
						|
    setTimeout(() => {
 | 
						|
        $target.removeClass("show fade-out");
 | 
						|
    }, 300);
 | 
						|
};
 | 
						|
 | 
						|
exports.show_error = function ($target) {
 | 
						|
    $target.addClass("show");
 | 
						|
};
 | 
						|
 | 
						|
window.ui_report = exports;
 |