lint: Fix many no-unused-vars eslint rule violations.

These have been carefully audited by tabbott to ensure they are
unlikely to cause regressions.
This commit is contained in:
Rafid Aslam
2016-12-02 20:06:06 +07:00
committed by Tim Abbott
parent 80ad28bab5
commit 45f39be37f
36 changed files with 127 additions and 219 deletions

View File

@@ -29,7 +29,7 @@ exports.init_viewport = function () {
casper.options.viewportSize = {width: 1280, height: 1024};
};
exports.initialize_casper = function (viewport) {
exports.initialize_casper = function () {
if (casper.zulip_initialized !== undefined) {
return;
}

View File

@@ -1,7 +1,6 @@
var common = require('../casper_lib/common.js').common;
var email = 'alice@test.example.com';
var domain = 'test.example.com';
var subdomain = 'testsubdomain';
var organization_name = 'Awesome Organization';
var REALMS_HAVE_SUBDOMAINS = casper.cli.get('subdomains');

View File

@@ -435,7 +435,7 @@ var run = (function () {
}());
run(function (override, capture, args) {
run(function () {
// alert_words
var event = event_fixtures.alert_words;
dispatch(event);
@@ -443,7 +443,7 @@ run(function (override, capture, args) {
});
run(function (override, capture, args) {
run(function (override) {
// default_streams
var event = event_fixtures.default_streams;
override('admin', 'update_default_streams_table', noop);
@@ -471,7 +471,7 @@ run(function (override, capture, args) {
});
run(function (override, capture, args) {
run(function () {
// pointer
var event = event_fixtures.pointer;
global.pointer.furthest_read = 0;
@@ -492,7 +492,7 @@ run(function (override, capture, args) {
});
run(function (override, capture, args) {
run(function (override) {
// realm
function test_realm_boolean(event, parameter_name) {
page_params[parameter_name] = true;
@@ -565,7 +565,7 @@ run(function (override, capture, args) {
});
run(function (override, capture, args) {
run(function (override) {
// realm_filters
var event = event_fixtures.realm_filters;
page_params.realm_filters = [];
@@ -684,7 +684,7 @@ run(function (override, capture, args) {
});
run(function (override, capture, args) {
run(function () {
// update_display_settings
var event = event_fixtures.update_display_settings__default_language;
page_params.default_language = 'en';

View File

@@ -201,10 +201,6 @@ var _ = global._;
var search_term = 'a';
var users = people.get_rest_of_realm();
var filtered_people = people.filter_people_by_search_terms(users, [search_term]);
var expected = [
{ email: 'athens@example.com', full_name: 'Maria Athens' },
{ email: 'ashton@example.com', full_name: 'Ashton Smith' },
];
assert.equal(filtered_people["ashton@example.com"], true);
assert.equal(filtered_people["athens@example.com"], true);
assert.equal(_.keys(filtered_people).length, 2);

View File

@@ -123,12 +123,6 @@ var zero_counts = {
// Test defensive code. Trying to update a message we don't know
// about should be a no-op.
var unknown_message = {
id: 18,
type: 'stream',
stream: 'social',
subject: 'lunch',
};
event = {
subject: 'brunch',
};

View File

@@ -2,7 +2,6 @@ var admin = (function () {
var exports = {};
var all_streams = [];
var user_row_to_deactivate;
exports.show_or_hide_menu_item = function () {
var item = $('.admin-menu-item').expectOne();
@@ -41,20 +40,16 @@ exports.update_user_full_name = function (email, new_full_name) {
user_row.show();
};
function failed_listing_users(xhr, error) {
function failed_listing_users(xhr) {
loading.destroy_indicator($('#subs_page_loading_indicator'));
ui.report_error(i18n.t("Error listing users or bots"), xhr, $("#administration-status"));
}
function failed_listing_streams(xhr, error) {
function failed_listing_streams(xhr) {
ui.report_error(i18n.t("Error listing streams"), xhr, $("#administration-status"));
}
function failed_listing_emoji(xhr, error) {
ui.report_error(i18n.t("Error listing emoji"), xhr, $("#administration-status"));
}
function failed_changing_name(xhr, error) {
function failed_changing_name(xhr) {
ui.report_error(i18n.t("Error changing name"), xhr, $("#administration-status"));
}
@@ -144,12 +139,11 @@ function make_stream_default(stream_name) {
var data = {
stream_name: stream_name
};
var default_streams_table = $("#admin_default_streams_table").expectOne();
channel.put({
url: '/json/default_streams',
data: data,
error: function (xhr, error_type) {
error: function (xhr) {
if (xhr.status.toString().charAt(0) === "4") {
$(".active_stream_row button").closest("td").html(
$("<p>").addClass("text-error").text(JSON.parse(xhr.responseText).msg));
@@ -223,7 +217,7 @@ exports.populate_auth_methods = function (auth_methods) {
};
exports.set_up_deactivate_user_modal = function (row) {
$("#do_deactivate_user_button").expectOne().click(function (e) {
$("#do_deactivate_user_button").expectOne().click(function () {
var email = row.find(".email").text();
if ($("#deactivation_user_modal .email").html() !== email) {
blueslip.error("User deactivation canceled due to non-matching fields.");
@@ -234,7 +228,7 @@ exports.set_up_deactivate_user_modal = function (row) {
row.find("button").prop("disabled", true).text("Working…");
channel.del({
url: '/json/users/' + email,
error: function (xhr, error_type) {
error: function (xhr) {
if (xhr.status.toString().charAt(0) === "4") {
row.find("button").closest("td").html(
$("<p>").addClass("text-error").text(JSON.parse(xhr.responseText).msg)
@@ -379,7 +373,7 @@ function _setup_page() {
channel.del({
url: '/json/default_streams'+ '?' + $.param({stream_name: stream_name}),
error: function (xhr, error_type) {
error: function (xhr) {
if (xhr.status.toString().charAt(0) === "4") {
$(".active_default_stream_row button").closest("td").html(
$("<p>").addClass("text-error").text(JSON.parse(xhr.responseText).msg));
@@ -404,7 +398,7 @@ function _setup_page() {
$('.create_default_stream').typeahead({
items: 5,
fixed: true,
source: function (query) {
source: function () {
return get_non_default_streams_names(all_streams);
},
highlight: true,
@@ -419,12 +413,11 @@ function _setup_page() {
var row = $(e.target).closest(".user_row");
var user_name = row.find('.user_name').text();
var email = get_email_for_user_row(row);
channel.del({
url: '/json/bots/' + email,
error: function (xhr, error_type) {
error: function (xhr) {
if (xhr.status.toString().charAt(0) === "4") {
row.find("button").closest("td").html(
$("<p>").addClass("text-error").text(JSON.parse(xhr.responseText).msg)
@@ -455,7 +448,7 @@ function _setup_page() {
channel.post({
url: '/json/users/' + email + "/reactivate",
error: function (xhr, error_type) {
error: function (xhr) {
var button = row.find("button");
if (xhr.status.toString().charAt(0) === "4") {
button.closest("td").html(
@@ -506,7 +499,6 @@ function _setup_page() {
var create_stream_by_admins_only_status = $("#admin-realm-create-stream-by-admins-only-status").expectOne();
var message_editing_status = $("#admin-realm-message-editing-status").expectOne();
var default_language_status = $("#admin-realm-default-language-status").expectOne();
var auth_methods_table = $('.admin_auth_methods_table');
name_status.hide();
restricted_to_domain_status.hide();
invite_required_status.hide();
@@ -626,7 +618,7 @@ function _setup_page() {
}
}
},
error: function (xhr, error) {
error: function (xhr) {
var reason = $.parseJSON(xhr.responseText).reason;
if (reason === "no authentication") {
ui.report_error(i18n.t("Failed!"), xhr, authentication_methods_status);
@@ -661,7 +653,7 @@ function _setup_page() {
button.removeClass("make-admin");
button.text(i18n.t("Remove admin"));
},
error: function (xhr, error) {
error: function (xhr) {
var status = row.find(".admin-user-status");
ui.report_error(i18n.t("Failed!"), xhr, status);
}
@@ -692,7 +684,7 @@ function _setup_page() {
button.removeClass("remove-admin");
button.text(i18n.t("Make admin"));
},
error: function (xhr, error) {
error: function (xhr) {
var status = row.find(".admin-user-status");
ui.report_error(i18n.t("Failed!"), xhr, status);
}
@@ -713,7 +705,7 @@ function _setup_page() {
user_row.hide();
form_row.show();
reset_button.on("click", function (e) {
reset_button.on("click", function () {
form_row.hide();
user_row.show();
});
@@ -738,7 +730,7 @@ function _setup_page() {
});
});
$("#do_deactivate_stream_button").click(function (e) {
$("#do_deactivate_stream_button").click(function () {
if ($("#deactivation_stream_modal .stream_name").text() !== $(".active_stream_row").find('.stream_name').text()) {
blueslip.error("Stream deactivation canceled due to non-matching fields.");
ui.report_message("Deactivation encountered an error. Please reload and try again.",
@@ -748,7 +740,7 @@ function _setup_page() {
$(".active_stream_row button").prop("disabled", true).text("Working…");
channel.del({
url: '/json/streams/' + encodeURIComponent($(".active_stream_row").find('.stream_name').text()),
error: function (xhr, error_type) {
error: function (xhr) {
if (xhr.status.toString().charAt(0) === "4") {
$(".active_stream_row button").closest("td").html(
$("<p>").addClass("text-error").text(JSON.parse(xhr.responseText).msg)
@@ -771,7 +763,7 @@ function _setup_page() {
channel.del({
url: '/json/realm/emoji/' + encodeURIComponent(btn.attr('data-emoji-name')),
error: function (xhr, error_type) {
error: function (xhr) {
if (xhr.status.toString().charAt(0) === "4") {
btn.closest("td").html(
$("<p>").addClass("text-error").text(JSON.parse(xhr.responseText).msg)
@@ -804,7 +796,7 @@ function _setup_page() {
ui.report_success(i18n.t("Custom emoji added!"), emoji_status);
$("form.admin-emoji-form input[type='text']").val("");
},
error: function (xhr, error) {
error: function (xhr) {
$('#admin-emoji-status').hide();
var errors = JSON.parse(xhr.responseText).msg;
xhr.responseText = JSON.stringify({msg: errors});
@@ -820,7 +812,7 @@ function _setup_page() {
channel.del({
url: '/json/realm/filters/' + encodeURIComponent(btn.attr('data-filter-id')),
error: function (xhr, error_type) {
error: function (xhr) {
if (xhr.status.toString().charAt(0) === "4") {
btn.closest("td").html(
$("<p>").addClass("text-error").text($.parseJSON(xhr.responseText).msg)
@@ -857,7 +849,7 @@ function _setup_page() {
filter.id = data.id;
ui.report_success(i18n.t("Custom filter added!"), filter_status);
},
error: function (xhr, error) {
error: function (xhr) {
var errors = $.parseJSON(xhr.responseText).errors;
if (errors.pattern !== undefined) {
xhr.responseText = JSON.stringify({msg: errors.pattern});

View File

@@ -162,7 +162,7 @@ exports.build_direct_upload_widget = function (
upload_function
) {
function accept(file) {
function accept() {
input_error.hide();
upload_function(get_file_input());
}

View File

@@ -272,10 +272,10 @@ $(function () {
popovers.register_click_handlers();
notifications.register_click_handlers();
$('.logout_button').click(function (e) {
$('.logout_button').click(function () {
$('#logout_form').submit();
});
$('.restart_get_events_button').click(function (e) {
$('.restart_get_events_button').click(function () {
server_events.restart_get_events({dont_block: true});
});
@@ -289,10 +289,10 @@ $(function () {
);
$('.compose_stream_button').click(function (e) {
$('.compose_stream_button').click(function () {
compose.start('stream');
});
$('.compose_private_button').click(function (e) {
$('.compose_private_button').click(function () {
compose.start('private');
});
@@ -325,7 +325,7 @@ $(function () {
$("#compose_buttons").click(handle_compose_click);
$(".compose-content").click(handle_compose_click);
$("#compose_close").click(function (e) {
$("#compose_close").click(function () {
compose.cancel();
});
@@ -333,7 +333,7 @@ $(function () {
// Keep these 2 feedback bot triggers separate because they have to
// propagate the event differently.
$('.feedback').click(function (e) {
$('.feedback').click(function () {
compose.start('private', {private_message_recipient: 'feedback@zulip.com',
trigger: 'feedback menu item'});
@@ -372,10 +372,10 @@ $(function () {
channel.post({
url: "/accounts/webathena_kerberos_login/",
data: {cred: JSON.stringify(r.session)},
success: function (data, success) {
success: function () {
$("#zephyr-mirror-error").hide();
},
error: function (data, success) {
error: function () {
$("#zephyr-mirror-error").show();
}
});
@@ -388,11 +388,11 @@ $(function () {
// BANKRUPTCY
$(".bankruptcy_button").click(function (e) {
$(".bankruptcy_button").click(function () {
unread.enable();
});
$('#yes-bankrupt').click(function (e) {
$('#yes-bankrupt').click(function () {
pointer.fast_forward_pointer();
$("#yes-bankrupt").hide();
$("#no-bankrupt").hide();
@@ -432,7 +432,7 @@ $(function () {
}
});
$("#overlay .download").click(function (e) {
$("#overlay .download").click(function () {
this.blur();
});
}());

View File

@@ -403,8 +403,6 @@ function compose_error(error_text, bad_input) {
}
}
var send_options;
function send_message_ajax(request, success, error) {
channel.post({
url: '/json/messages',

View File

@@ -238,10 +238,10 @@ exports.update_rendered_message_groups = function (message_groups, get_element)
};
$(function () {
$(document).on('peer_subscribe.zulip', function (e) {
$(document).on('peer_subscribe.zulip', function () {
exports.update_faded_users();
});
$(document).on('peer_unsubscribe.zulip', function (e) {
$(document).on('peer_unsubscribe.zulip', function () {
exports.update_faded_users();
});
});

View File

@@ -165,7 +165,7 @@ function select_on_focus(field_id) {
// conditions in Chrome so we need to protect against infinite
// recursion.
var in_handler = false;
$("#" + field_id).focus(function (e) {
$("#" + field_id).focus(function () {
if (in_handler) {
return;
}
@@ -378,7 +378,7 @@ exports.initialize = function () {
// limit number of items so the list doesn't fall off the screen
$( "#stream" ).typeahead({
source: function (query, process) {
source: function () {
return stream_data.subscribed_streams();
},
items: 3,
@@ -396,7 +396,7 @@ exports.initialize = function () {
});
$( "#subject" ).typeahead({
source: function (query, process) {
source: function () {
var stream_name = $("#stream").val();
return exports.topics_seen_for(stream_name);
},
@@ -450,7 +450,7 @@ exports.initialize = function () {
exports.initialize_compose_typeahead("#new_message_content", {mention: true, emoji: true, stream: true});
$( "#private_message_recipient" ).blur(function (event) {
$( "#private_message_recipient" ).blur(function () {
var val = $(this).val();
var recipients = exports.get_cleaned_pm_recipients(val);
$(this).val(recipients.join(", "));

View File

@@ -140,7 +140,7 @@ exports.condense_and_collapse = function (elems) {
};
$(function () {
$("#home").on("click", ".message_expander", function (e) {
$("#home").on("click", ".message_expander", function () {
// Expanding a message can mean either uncollapsing or
// uncondensing it.
var row = $(this).closest(".message_row");
@@ -158,7 +158,7 @@ $(function () {
}
});
$("#home").on("click", ".message_condenser", function (e) {
$("#home").on("click", ".message_condenser", function () {
var row = $(this).closest(".message_row");
current_msg_list.get(rows.id(row)).condensed = true;
condense_row(row);

View File

@@ -36,7 +36,7 @@ function find_boundary_tr(initial_tr, iterate_row) {
}
function copy_handler(e) {
function copy_handler() {
var selection = window.getSelection();
var i;
var range;

View File

@@ -36,7 +36,7 @@ var exports = {};
subscriptions: JSON.stringify([stream_name])
}
}).then(
function (data) {
function () {
$status_message.hide();
}, function (xhr) {
ui.report_error(i18n.t("Error removing subscription"), xhr, $status_message);

View File

@@ -415,7 +415,7 @@ exports.set_realm_filters = function set_realm_filters(realm_filters) {
$(function () {
function disable_markdown_regex(rules, name) {
rules[name] = {exec: function (_) {
rules[name] = {exec: function () {
return false;
}
};
@@ -533,7 +533,7 @@ $(document).on('socket_loaded_requests.zulip', function (event, data) {
var msgs_to_insert = [];
var next_local_id = get_next_local_id();
_.each(data.requests, function (socket_msg, key) {
_.each(data.requests, function (socket_msg) {
var msg = socket_msg.msg;
// Check for any message objects, then insert them locally
if (msg.stream === undefined || msg.local_id === undefined) {

View File

@@ -53,7 +53,7 @@ exports.initialize = function () {
$("#invite_user_form").ajaxForm({
dataType: 'json',
beforeSubmit: function (arr, $form, options) {
beforeSubmit: function () {
reset_error_messages();
// TODO: You could alternatively parse the textarea here, and return errors to
// the user if they don't match certain constraints (i.e. not real email addresses,
@@ -63,7 +63,7 @@ exports.initialize = function () {
$('#submit-invitation').button('loading');
return true;
},
success: function (resp, statusText, xhr, form) {
success: function () {
$('#submit-invitation').button('reset');
invite_status.text(i18n.t('User invited successfully.', {count: (invitee_emails.val().match(/@/g) || [] ).length}))
.addClass('alert-success')
@@ -77,7 +77,7 @@ exports.initialize = function () {
}
},
error: function (xhr, error_type, xhn) {
error: function (xhr) {
$('#submit-invitation').button('reset');
var arr = JSON.parse(xhr.responseText);
if (arr.errors === undefined) {

View File

@@ -105,12 +105,12 @@ exports.save = function (row, from_topic_edited_only) {
channel.post({
url: '/json/update_message',
data: request,
success: function (data) {
success: function () {
if (msg_list === current_msg_list) {
row.find(".edit_error").text("Message successfully edited!").removeClass("alert-error").addClass("alert-success").show();
}
},
error: function (xhr, error_type, xhn) {
error: function (xhr) {
if (msg_list === current_msg_list) {
var message = channel.xhr_error_message("Error saving edit", xhr);
row.find(".edit_error").text(message).show();
@@ -355,7 +355,7 @@ exports.maybe_show_edit = function (row, id) {
}
};
$(document).on('narrow_deactivated.zulip', function (event) {
$(document).on('narrow_deactivated.zulip', function () {
_.each(currently_editing_messages, function (elem, idx) {
if (current_msg_list.get(idx) !== undefined) {
var row = current_msg_list.get_row(idx);

View File

@@ -41,7 +41,7 @@ function batched_updater(flag, op, immediate) {
start = _.debounce(server_request, 1000);
}
on_success = function on_success(data, status, jqXHR) {
on_success = function on_success(data) {
if (data === undefined || data.messages === undefined) {
return;
}

View File

@@ -634,7 +634,7 @@ exports.all = new exports.MessageList(
// doing something. Be careful, though, if you try to capture
// mousemove, then you will have to contend with the autoscroll
// itself generating mousemove events.
$(document).on('message_selected.zulip zuliphashchange.zulip mousewheel', function (event) {
$(document).on('message_selected.zulip zuliphashchange.zulip mousewheel', function () {
viewport.stop_auto_scrolling();
});

View File

@@ -130,8 +130,7 @@ MessageListView.prototype = {
}
},
build_message_groups: function MessageListView__build_message_groups(message_containers,
message_id_prefix) {
build_message_groups: function MessageListView__build_message_groups(message_containers) {
function start_group() {
return {
message_containers: [],
@@ -399,10 +398,7 @@ MessageListView.prototype = {
// we we record if last_message_was_selected before updating the table
var last_message_was_selected = rows.id(rows.last_visible()) === list.selected_id();
var orig_scrolltop_offset;
var last_message_id;
var message_containers;
var first_msg;
var last_msg;
var self = this;
@@ -582,7 +578,6 @@ MessageListView.prototype = {
// scroll up without moving the pointer out of the viewport, do so, by
// up to the amount taken up by the new message.
var new_messages_height = 0;
var distance_to_last_message_sent_by_me = 0;
var id_of_last_message_sent_by_us = -1;
// C++ iterators would have made this less painful
@@ -593,14 +588,12 @@ MessageListView.prototype = {
new_messages_height += elem.height();
// starting from the last message, ignore message heights that weren't sent by me.
if (id_of_last_message_sent_by_us > -1) {
distance_to_last_message_sent_by_me += elem.height();
return;
}
var row_id = rows.id(elem);
// check for `row_id` NaN in case we're looking at a date row or bookend row
if (row_id > -1 &&
util.is_current_user(this.get_message(row_id).sender_email)) {
distance_to_last_message_sent_by_me += elem.height();
id_of_last_message_sent_by_us = rows.id(elem);
}
}
@@ -803,13 +796,6 @@ MessageListView.prototype = {
rerender_messages: function MessageListView__rerender_messages(messages) {
var self = this;
// Only re-render the messages that are in this narrow
var own_messages = _.map(messages, function (message) {
return self.list.get(message.id);
});
own_messages = _.reject(own_messages, function (message) {
return message === undefined;
});
// Convert messages to list messages
var message_containers = _.map(messages, function (message) {
return self.message_containers[message.id];
@@ -868,13 +854,10 @@ MessageListView.prototype = {
}
},
rerender_the_whole_thing: function MessageListView__rerender_the_whole_thing(messages) {
rerender_the_whole_thing: function MessageListView__rerender_the_whole_thing() {
// TODO: Figure out if we can unify this with this.list.rerender().
this.clear_rendering_state(true);
this.update_render_window(this.list.selected_idx(), false);
this.render(this.list.all_messages().slice(this._render_win_start, this._render_win_end), 'bottom');
},

View File

@@ -41,7 +41,7 @@ exports.get_private_message_recipient = function (message, attr, fallback_attr)
};
exports.process_message_for_recent_private_messages =
function process_message_for_recent_private_messages(message, remove_message) {
function process_message_for_recent_private_messages(message) {
var current_timestamp = 0;
var user_ids_string = people.emails_strings_to_user_ids_string(message.reply_to);
@@ -219,7 +219,7 @@ function maybe_add_narrowed_messages(messages, msg_list, messages_are_new) {
notifications.possibly_notify_new_messages_outside_viewport(new_messages);
notifications.notify_messages_outside_current_search(elsewhere_messages);
},
error: function (xhr) {
error: function () {
// We might want to be more clever here
setTimeout(function () {
if (msg_list === current_msg_list) {
@@ -496,7 +496,7 @@ exports.load_old_messages = function load_old_messages(opts) {
success: function (data) {
get_old_messages_success(data, opts);
},
error: function (xhr, error_type, exn) {
error: function (xhr) {
if (opts.msg_list.narrowed && opts.msg_list !== current_msg_list) {
// We unnarrowed before getting an error so don't
// bother trying again or doing further processing.

View File

@@ -17,7 +17,6 @@ exports.rerender = function () {
};
exports.notify_with_undo_option = (function () {
var event_added = false;
var meta = {
stream: null,
topic: null,
@@ -26,12 +25,12 @@ exports.notify_with_undo_option = (function () {
$mute: null
};
var animate = {
fadeOut: function ($mute) {
fadeOut: function () {
if (meta.$mute) {
meta.$mute.fadeOut(500).removeClass("show");
}
},
fadeIn: function ($mute) {
fadeIn: function () {
if (meta.$mute) {
meta.$mute.fadeIn(500).addClass("show");
}

View File

@@ -9,7 +9,6 @@ var notice_memory = {};
var window_has_focus = document.hasFocus && document.hasFocus();
var asked_permission_already = false;
var names;
var supports_sound;
var unread_pms_favicon = '/static/images/favicon/favicon-pms.png';

View File

@@ -521,7 +521,6 @@ exports.register_click_handlers = function () {
var stream = $(elt).parents('li').attr('data-name');
var ypos = $(elt).offset().top - viewport.scrollTop();
$(elt).popover({
content: templates.render('stream_sidebar_actions', {stream: stream_data.get_sub(stream)}),
trigger: "manual",
@@ -566,7 +565,7 @@ exports.register_click_handlers = function () {
$(e.target).hide();
});
$('.streams_popover').on('click', 'a.sp-cancel', function (e) {
$('.streams_popover').on('click', 'a.sp-cancel', function () {
popovers.hide_stream_sidebar_popover();
});
});

View File

@@ -93,7 +93,7 @@ $(function () {
}
});
$("#referral-form input").on('blur', function (e) {
$("#referral-form input").on('blur', function () {
if ($("#referral-form input").val() === '') {
validator.resetForm();
resize.resize_page_components();

View File

@@ -15,8 +15,6 @@ function confine_to_range(lo, val, hi) {
}
function size_blocks(blocks, usable_height) {
var n = blocks.length;
var sum_height = 0;
_.each(blocks, function (block) {
sum_height += block.real_height;
@@ -183,15 +181,6 @@ exports.resize_stream_filters_container = function (h) {
};
exports.resize_page_components = function () {
var composebox = $("#compose");
var floating_recipient_bar = $("#floating_recipient_bar");
var desired_width;
if (ui.home_tab_obscured() === 'other_tab') {
desired_width = $("div.tab-pane.active").outerWidth();
} else {
desired_width = $("#main_div").outerWidth();
}
var h;
var sidebar;
@@ -238,7 +227,7 @@ exports.resize_page_components = function () {
var _old_width = $(window).width();
exports.handler = function (e) {
exports.handler = function () {
var new_width = $(window).width();
if (new_width !== _old_width) {

View File

@@ -60,7 +60,7 @@ exports.initialize = function () {
var obj = search_object[item];
return obj.description;
},
matcher: function (item) {
matcher: function () {
return true;
},
updater: narrow_or_search_for_term,

View File

@@ -356,7 +356,7 @@ function get_events(options) {
}
get_events_timeout = setTimeout(get_events, 0);
},
error: function (xhr, error_type, exn) {
error: function (xhr, error_type) {
try {
get_events_xhr = undefined;
// If we are old enough to have messages outside of the
@@ -458,7 +458,7 @@ exports.cleanup_event_queue = function cleanup_event_queue() {
});
};
window.addEventListener("beforeunload", function (event) {
window.addEventListener("beforeunload", function () {
exports.cleanup_event_queue();
});

View File

@@ -187,7 +187,7 @@ function _setup_page() {
clear_password_change();
$('#api_key_button').click(function (e) {
$('#api_key_button').click(function () {
if (page_params.password_auth_enabled !== false) {
$("#get_api_key_box").show();
} else {
@@ -237,7 +237,7 @@ function _setup_page() {
$("form.your-account-settings").ajaxForm({
dataType: 'json', // This seems to be ignored. We still get back an xhr.
beforeSubmit: function (arr, form, options) {
beforeSubmit: function () {
if (page_params.password_auth_enabled !== false) {
// FIXME: Check that the two password fields match
// FIXME: Use the same jQuery validation plugin as the signup form?
@@ -258,21 +258,20 @@ function _setup_page() {
}
return true;
},
success: function (resp, statusText, xhr, form) {
success: function () {
settings_change_success("Updated settings!");
},
error: function (xhr, error_type, xhn) {
error: function (xhr) {
settings_change_error("Error changing settings", xhr);
},
complete: function (xhr, statusText) {
complete: function () {
// Whether successful or not, clear the password boxes.
// TODO: Clear these earlier, while the request is still pending.
clear_password_change();
}
});
function update_notification_settings_success(resp, statusText, xhr, form) {
var message = "Updated notification settings!";
function update_notification_settings_success(resp, statusText, xhr) {
var result = JSON.parse(xhr.responseText);
var notify_settings_status = $('#notify-settings-status').expectOne();
@@ -318,7 +317,7 @@ function _setup_page() {
ui.report_success(i18n.t("Updated notification settings!"), notify_settings_status);
}
function update_notification_settings_error(xhr, error_type, xhn) {
function update_notification_settings_error(xhr) {
ui.report_error(i18n.t("Error changing settings"), xhr, $('#notify-settings-status').expectOne());
}
@@ -376,22 +375,22 @@ function _setup_page() {
var control_group = notification_checkbox.closest(".control-group");
var checkbox_status = notification_checkbox.is(":checked");
control_group.find(".propagate_stream_notifications_change").html(html);
control_group.find(".yes_propagate_notifications").on("click", function (e) {
control_group.find(".yes_propagate_notifications").on("click", function () {
propagate_setting_function(checkbox_status);
control_group.find(".propagate_stream_notifications_change").empty();
});
control_group.find(".no_propagate_notifications").on("click", function (e) {
control_group.find(".no_propagate_notifications").on("click", function () {
control_group.find(".propagate_stream_notifications_change").empty();
});
}
$("#enable_stream_desktop_notifications").on("click", function (e) {
$("#enable_stream_desktop_notifications").on("click", function () {
var notification_checkbox = $("#enable_stream_desktop_notifications");
maybe_bulk_update_stream_notification_setting(notification_checkbox,
update_desktop_notification_setting);
});
$("#enable_stream_sounds").on("click", function (e) {
$("#enable_stream_sounds").on("click", function () {
var notification_checkbox = $("#enable_stream_sounds");
maybe_bulk_update_stream_notification_setting(notification_checkbox,
update_audible_notification_setting);
@@ -411,11 +410,11 @@ function _setup_page() {
channel.patch({
url: '/json/left_side_userlist',
data: data,
success: function (resp, statusText, xhr, form) {
success: function () {
ui.report_success(i18n.t("User list will appear on the __side__ hand side! You will need to reload the window for your changes to take effect.", context),
$('#display-settings-status').expectOne());
},
error: function (xhr, error_type, xhn) {
error: function (xhr) {
ui.report_error(i18n.t("Error updating user list placement setting"), xhr, $('#display-settings-status').expectOne());
}
});
@@ -435,11 +434,11 @@ function _setup_page() {
channel.patch({
url: '/json/time_setting',
data: data,
success: function (resp, statusText, xhr, form) {
success: function () {
ui.report_success(i18n.t("Time will be displayed in the __format__-hour format! You will need to reload the window for your changes to take effect", context),
$('#display-settings-status').expectOne());
},
error: function (xhr, error_type, xhn) {
error: function (xhr) {
ui.report_error(i18n.t("Error updating time format setting"), xhr, $('#display-settings-status').expectOne());
}
});
@@ -464,11 +463,11 @@ function _setup_page() {
channel.patch({
url: '/json/language_setting',
data: data,
success: function (resp, statusText, xhr, form) {
success: function () {
ui.report_success(i18n.t("__lang__ is now the default language! You will need to reload the window for your changes to take effect", context),
$('#display-settings-status').expectOne());
},
error: function (xhr, error_type, xhn) {
error: function (xhr) {
ui.report_error(i18n.t("Error updating default language setting"), xhr, $('#display-settings-status').expectOne());
}
});
@@ -486,14 +485,14 @@ function _setup_page() {
$("#deactivate_self_modal").modal("show");
});
$("#do_deactivate_self_button").on('click',function (e) {
$("#do_deactivate_self_button").on('click',function () {
$("#deactivate_self_modal").modal("hide");
channel.del({
url: '/json/users/me',
success: function () {
window.location.href = "/login";
},
error: function (xhr, error_type) {
error: function (xhr) {
ui.report_error(i18n.t("Error deactivating account"), xhr, $('#settings-status').expectOne());
}
});
@@ -503,8 +502,7 @@ function _setup_page() {
$("#show_api_key_box").hide();
$("#get_api_key_box form").ajaxForm({
dataType: 'json', // This seems to be ignored. We still get back an xhr.
success: function (resp, statusText, xhr, form) {
var message = "Updated settings!";
success: function (resp, statusText, xhr) {
var result = JSON.parse(xhr.responseText);
var settings_status = $('#settings-status').expectOne();
@@ -514,7 +512,7 @@ function _setup_page() {
$("#get_api_key_box").hide();
settings_status.hide();
},
error: function (xhr, error_type, xhn) {
error: function (xhr) {
ui.report_error(i18n.t("Error getting API key"), xhr, $('#settings-status').expectOne());
$("#show_api_key_box").hide();
$("#get_api_key_box").show();
@@ -595,17 +593,17 @@ function _setup_page() {
cache: false,
processData: false,
contentType: false,
success: function (data) {
success: function () {
$('#bot_table_error').hide();
$('#create_bot_name').val('');
$('#create_bot_short_name').val('');
$('#create_bot_button').show();
create_avatar_widget.clear();
},
error: function (xhr, error_type, exn) {
error: function (xhr) {
$('#bot_table_error').text(JSON.parse(xhr.responseText).msg).show();
},
complete: function (xhr, status) {
complete: function () {
$('#create_bot_button').val('Create bot').prop('disabled', false);
}
});
@@ -678,7 +676,7 @@ function _setup_page() {
form.validate({
errorClass: 'text-error',
success: function (label) {
success: function () {
errors.hide();
},
submitHandler: function () {
@@ -720,7 +718,7 @@ function _setup_page() {
image.find('img').attr('src', data.avatar_url+'&v='+image_version.toString());
}
},
error: function (xhr, error_type, exn) {
error: function (xhr) {
loading.destroy_indicator(spinner);
edit_button.show();
errors.text(JSON.parse(xhr.responseText).msg).show();
@@ -749,7 +747,7 @@ function _setup_page() {
));
});
$("#show_api_key_box").on("click", "button.regenerate_api_key", function (e) {
$("#show_api_key_box").on("click", "button.regenerate_api_key", function () {
channel.post({
url: '/json/users/me/api_key/regenerate',
idempotent: true,
@@ -762,9 +760,7 @@ function _setup_page() {
});
});
$("#ui-settings").on("click", "input[name='change_settings']", function (e) {
e.preventDefault();
$("#ui-settings").on("click", "input[name='change_settings']", function () {
var labs_updates = {};
_.each(["autoscroll_forever", "default_desktop_notifications"],
function (setting) {
@@ -774,7 +770,7 @@ function _setup_page() {
channel.post({
url: '/json/ui_settings/change',
data: labs_updates,
success: function (resp, statusText, xhr, form) {
success: function (resp, statusText, xhr) {
var message = i18n.t("Updated __product_name__ Labs settings!", page_params);
var result = JSON.parse(xhr.responseText);
var ui_settings_status = $('#ui-settings-status').expectOne();
@@ -786,7 +782,7 @@ function _setup_page() {
ui.report_success(message, ui_settings_status);
},
error: function (xhr, error_type, xhn) {
error: function (xhr) {
ui.report_error(i18n.t("Error changing settings"), xhr, $('#ui-settings-status').expectOne());
}
});

View File

@@ -2,7 +2,7 @@ $(function () {
// NB: this file is included on multiple pages. In each context,
// some of the jQuery selectors below will return empty lists.
$.validator.addMethod('password_strength', function (value, element) {
$.validator.addMethod('password_strength', function (value) {
return password_quality(value);
}, 'Password is weak.');
@@ -38,7 +38,7 @@ $(function () {
$("#send_confirm").validate({
errorElement: "p",
errorPlacement: function (error, element) {
errorPlacement: function (error) {
$('#errors').empty();
error.appendTo("#errors")
.addClass("text-error");

View File

@@ -370,9 +370,8 @@ exports.update_dom_with_unread_counts = function (counts) {
counts.mentioned_message_count);
};
exports.rename_stream = function (sub, new_name) {
// TODO: we don't actually need new_name, since the sub
// will have been updated
exports.rename_stream = function (sub) {
// The sub object is expected to already have the updated name
build_stream_sidebar_row(sub);
exports.build_stream_list(); // big hammer
};

View File

@@ -232,7 +232,6 @@ function stream_audible_notifications_clicked(e) {
function stream_pin_clicked(e) {
var stream = get_stream_name(e.target);
var sub = stream_data.get_sub(stream);
exports.toggle_pin_to_top_stream(stream);
}
@@ -336,7 +335,7 @@ function show_subscription_settings(sub_row) {
list.append(elem);
});
},
error: function (xhr) {
error: function () {
loading.destroy_indicator(indicator_elem);
error_elem.removeClass("hide").text("Could not fetch subscriber list");
}
@@ -365,19 +364,8 @@ function show_subscription_settings(sub_row) {
});
var colorpicker = sub_settings.find('.colorpicker');
var color = stream_data.get_color(sub.name);
stream_color.set_colorpicker_color(colorpicker, color);
// To figure out the worst case for an expanded row's height, we do some math:
// .subscriber_list_container max-height,
// .subscriber_list_settings,
// .regular_subscription_settings
// .subscription_header line-height,
// .subscription_header padding
var expanded_row_size = 200 + 30 + 100 + 30 + 5;
var cover = sub_row.offset().top + expanded_row_size -
viewport.height() + viewport.scrollTop();
}
exports.show_settings_for = function (stream_name) {
@@ -692,7 +680,7 @@ function ajaxSubscribe(stream) {
return channel.post({
url: "/json/users/me/subscriptions",
data: {subscriptions: JSON.stringify([{name: stream}]) },
success: function (resp, statusText, xhr, form) {
success: function (resp, statusText, xhr) {
$("#create_stream_name").val("");
actually_filter_streams();
@@ -717,9 +705,7 @@ function ajaxUnsubscribe(stream) {
return channel.post({
url: "/json/subscriptions/remove",
data: {subscriptions: JSON.stringify([stream]) },
success: function (resp, statusText, xhr, form) {
var name;
var res = JSON.parse(xhr.responseText);
success: function () {
$("#subscriptions-status").hide();
// The rest of the work is done via the unsubscribe event we will get
},
@@ -739,7 +725,7 @@ function ajaxSubscribeForCreation(stream, description, principals, invite_only,
invite_only: JSON.stringify(invite_only),
announce: JSON.stringify(announce)
},
success: function (data) {
success: function () {
$("#create_stream_name").val("");
$("#create_stream_description").val("");
$("#subscriptions-status").hide();
@@ -808,7 +794,6 @@ exports.remove_user_from_stream = function (user_email, stream_name, success, fa
};
$(function () {
var i;
stream_data.initialize_from_page_params();
stream_list.create_initial_sidebar_rows();
@@ -963,11 +948,11 @@ $(function () {
$(e.target).removeClass("btn-danger").text(i18n.t("Subscribed"));
});
$(".subscriptions").on("click", "#close-subscriptions-status", function (e) {
$(".subscriptions").on("click", "#close-subscriptions-status", function () {
$("#subscriptions-status").hide();
});
$("#subscriptions_table").on("click", ".email-address", function (e) {
$("#subscriptions_table").on("click", ".email-address", function () {
selectText(this);
});
@@ -1077,7 +1062,7 @@ $(function () {
}
}
function invite_failure(xhr) {
function invite_failure() {
warning_elem.addClass("hide");
error_elem.removeClass("hide").text("Could not add user to this stream");
}
@@ -1144,7 +1129,7 @@ $(function () {
}
}
function removal_failure(xhr) {
function removal_failure() {
warning_elem.addClass("hide");
error_elem.removeClass("hide").text("Could not remove user from this stream");
}
@@ -1167,7 +1152,7 @@ $(function () {
// Stream names might contain unsafe characters so we must encode it first.
url: "/json/streams/" + encodeURIComponent(sub.name),
data: {new_name: JSON.stringify(new_name)},
success: function (data) {
success: function () {
new_name_box.val('');
ui.report_success(i18n.t("The stream has been renamed!"), $("#subscriptions-status "),
'subscriptions-status');
@@ -1181,8 +1166,6 @@ $(function () {
$('#subscriptions_table').on('submit', '.change-stream-description form', function (e) {
e.preventDefault();
var form = $(e.target);
var sub_settings = $(e.target).closest('.subscription_settings');
var stream_name = get_stream_name(sub_settings);
var description = sub_settings.find('input[name="description"]').val();
@@ -1247,7 +1230,7 @@ $(function () {
channel.post({
url: url,
data: data,
success: function (data) {
success: function () {
sub = stream_data.get_sub_by_id(stream_id);
var stream_settings = settings_for_sub(sub);
var sub_row = $(".stream-row[data-stream-id='" + stream_id + "']");

View File

@@ -37,7 +37,6 @@ function make_tab_data() {
if (narrow.active() && narrow.operators().length > 0) {
var stream;
var ops = narrow.operators();
var hash = hashchange.operators_to_hash(ops);
// Second breadcrumb item
var hashed = hashchange.operators_to_hash(ops.slice(0, 1));
if (filter.has_operator("stream")) {
@@ -150,10 +149,10 @@ function build_tab_bar() {
}
$(function () {
$(document).on('narrow_activated.zulip', function (event) {
$(document).on('narrow_activated.zulip', function () {
build_tab_bar();
});
$(document).on('narrow_deactivated.zulip', function (event) {
$(document).on('narrow_deactivated.zulip', function () {
build_tab_bar();
});

View File

@@ -131,10 +131,6 @@ exports.sort_by_pms = function (objs) {
return objs;
};
function identity(item) {
return item;
}
exports.sort_recipients = function (matches, query) {
var name_results = prefix_sort(query, matches, function (x) { return x.full_name; });
var email_results = prefix_sort(query, name_results.rest, function (x) { return x.email; });

View File

@@ -98,11 +98,9 @@ exports.replace_emoji_with_text = function (element) {
var current_message_hover;
function message_unhover() {
var message;
if (current_message_hover === undefined) {
return;
}
message = current_msg_list.get(rows.id(current_message_hover));
current_message_hover.find('span.edit_content').html("");
current_message_hover.removeClass('message_hovered');
current_message_hover = undefined;
@@ -172,15 +170,6 @@ exports.report_success = function (response, status_box, type) {
ui.report_message(response, status_box, 'alert-success', type);
};
function need_skinny_mode() {
if (window.matchMedia !== undefined) {
return window.matchMedia("(max-width: 767px)").matches;
}
// IE<10 doesn't support window.matchMedia, so do this
// as best we can without it.
return window.innerWidth <= 767;
}
function update_message_in_all_views(message_id, callback) {
_.each([message_list.all, home_msg_list, message_list.narrowed], function (list) {
if (list === undefined) {
@@ -315,7 +304,7 @@ exports.lightbox_photo = function (image, user) {
$(".image-actions .open, .image-actions .download").attr("href", url);
};
exports.exit_lightbox_photo = function (image) {
exports.exit_lightbox_photo = function () {
$("#overlay").removeClass("show");
$(".player-container iframe").remove();
document.activeElement.blur();
@@ -451,30 +440,30 @@ $(function () {
$("#navbar-buttons").addClass("right-userlist");
}
$("#main_div").on("mouseover", ".message_row", function (e) {
$("#main_div").on("mouseover", ".message_row", function () {
var row = $(this).closest(".message_row");
message_hover(row);
});
$("#main_div").on("mouseleave", ".message_row", function (e) {
$("#main_div").on("mouseleave", ".message_row", function () {
message_unhover();
});
$("#main_div").on("mouseover", ".message_sender", function (e) {
$("#main_div").on("mouseover", ".message_sender", function () {
var row = $(this).closest(".message_row");
row.addClass("sender_name_hovered");
});
$("#main_div").on("mouseout", ".message_sender", function (e) {
$("#main_div").on("mouseout", ".message_sender", function () {
var row = $(this).closest(".message_row");
row.removeClass("sender_name_hovered");
});
$("#subscriptions_table").on("mouseover", ".subscription_header", function (e) {
$("#subscriptions_table").on("mouseover", ".subscription_header", function () {
$(this).addClass("active");
});
$("#subscriptions_table").on("mouseout", ".subscription_header", function (e) {
$("#subscriptions_table").on("mouseout", ".subscription_header", function () {
$(this).removeClass("active");
});
@@ -574,8 +563,6 @@ $(function () {
});
var scroll_start_message;
function scroll_finished() {
actively_scrolling = false;
@@ -613,7 +600,7 @@ function scroll_finish() {
var saved_compose_cursor = 0;
$(function () {
viewport.message_pane.scroll($.throttle(50, function (e) {
viewport.message_pane.scroll($.throttle(50, function () {
unread.process_visible();
scroll_finish();
}));

View File

@@ -327,7 +327,7 @@ exports.mark_message_as_read = function mark_message_as_read(message, options) {
// If we ever materially change the algorithm for this function, we
// may need to update notifications.received_messages as well.
exports.process_visible = function process_visible(update_cursor) {
exports.process_visible = function process_visible() {
if (! notifications.window_has_focus()) {
return;
}