From 032cc8497fe7ecd2730e23d2bf81e19040349dcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20H=C3=B6nig?= Date: Wed, 7 Feb 2018 10:34:52 +0100 Subject: [PATCH] settings sidebar: Extract bot edit form. This is the first step in cleaning up the bot edit code. Since the bot edit form appears dynamically, we remove it from the static HTML scaffold, of which settings_sidebar is a part of. --- frontend_tests/node_tests/templates.js | 4 +++ static/js/settings.js | 1 + static/js/settings_bots.js | 8 +++-- static/templates/edit_bot.handlebars | 45 ++++++++++++++++++++++++ templates/zerver/settings_sidebar.html | 47 +------------------------- 5 files changed, 56 insertions(+), 49 deletions(-) create mode 100644 static/templates/edit_bot.handlebars diff --git a/frontend_tests/node_tests/templates.js b/frontend_tests/node_tests/templates.js index 2a549133cc..9d73fb8e4f 100644 --- a/frontend_tests/node_tests/templates.js +++ b/frontend_tests/node_tests/templates.js @@ -1465,6 +1465,10 @@ function render(template_name, args) { assert.equal($(html).find('input').attr('placeholder'), args.value); }()); +(function edit_bot() { + render('edit_bot'); +}()); + // By the end of this test, we should have compiled all our templates. Ideally, // we will also have exercised them to some degree, but that's a little trickier // to enforce. diff --git a/static/js/settings.js b/static/js/settings.js index c1cad3ce87..5cf22943cf 100644 --- a/static/js/settings.js +++ b/static/js/settings.js @@ -11,6 +11,7 @@ $("body").ready(function () { var close_sidebar = function () { $sidebar.removeClass("show"); + $sidebar.find("#edit_bot").empty(); is_open = false; }; diff --git a/static/js/settings_bots.js b/static/js/settings_bots.js index 8339fdf59d..6ef6786dc9 100644 --- a/static/js/settings_bots.js +++ b/static/js/settings_bots.js @@ -274,9 +274,11 @@ exports.set_up = function () { var image_version = 0; - var avatar_widget = avatar.build_bot_edit_widget($("#settings_page")); - $("#active_bots_list").on("click", "button.open_edit_bot_form", function (e) { + var edit_bot_form = templates.render('edit_bot'); + $(".edit_bot").empty(); + $(".edit_bot").append(edit_bot_form); + var avatar_widget = avatar.build_bot_edit_widget($("#settings_page")); var users_list = people.get_realm_persons().filter(function (person) { return !person.is_bot; }); @@ -286,7 +288,7 @@ exports.set_up = function () { var image = li.find(".image"); var bot_info = li; var bot_id = bot_info.find('.bot_info').attr('data-user_id').valueOf(); - var reset_edit_bot = li.find(".reset_edit_bot"); + var reset_edit_bot = $("#edit_bot .reset_edit_bot"); var owner_select = $(templates.render("bot_owner_select", {users_list:users_list})); var old_full_name = bot_info.find(".name").text(); var old_owner = bot_data.get(bot_id).owner; diff --git a/static/templates/edit_bot.handlebars b/static/templates/edit_bot.handlebars new file mode 100644 index 0000000000..0d62fc3696 --- /dev/null +++ b/static/templates/edit_bot.handlebars @@ -0,0 +1,45 @@ +
+
+
+ +
+
+
+
+ + +
+
+
+ +
+
+
+
+ + +
+
+
+ + +
+
+
+ + +
+ + +
+
+
+ + +
+
+
+
diff --git a/templates/zerver/settings_sidebar.html b/templates/zerver/settings_sidebar.html index 1bdbc61866..3a40ffcf70 100644 --- a/templates/zerver/settings_sidebar.html +++ b/templates/zerver/settings_sidebar.html @@ -5,52 +5,7 @@
-
-
-
-
- -
-
-
-
- - -
-
-
- -
-
-
-
- - -
-
-
- - -
-
-
- - -
- - -
-
-
- - -
-
-
-
+