mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +00:00 
			
		
		
		
	right_sidebar: Standardize user list filter input.
This follow-up commit replaces the current right sidebar user list filter input implementation with the redesigned input component. Fixes part of #34476.
This commit is contained in:
		@@ -21,14 +21,13 @@ export class UserSearch {
 | 
				
			|||||||
        this._update_list = opts.update_list;
 | 
					        this._update_list = opts.update_list;
 | 
				
			||||||
        this._on_focus = opts.on_focus;
 | 
					        this._on_focus = opts.on_focus;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $("#clear_search_people_button").on("click", () => {
 | 
					        $("#userlist-header-search .input-button").on("click", () => {
 | 
				
			||||||
            this.clear_search();
 | 
					            this.clear_search();
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        this.$input.on("input", () => {
 | 
					        this.$input.on("input", () => {
 | 
				
			||||||
            const input_is_empty = this.$input.val() === "";
 | 
					            const input_is_empty = this.$input.val() === "";
 | 
				
			||||||
            buddy_data.set_is_searching_users(!input_is_empty);
 | 
					            buddy_data.set_is_searching_users(!input_is_empty);
 | 
				
			||||||
            $("#clear_search_people_button").toggleClass("hidden", input_is_empty);
 | 
					 | 
				
			||||||
            opts.update_list();
 | 
					            opts.update_list();
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
        this.$input.on("focus", (e) => {
 | 
					        this.$input.on("focus", (e) => {
 | 
				
			||||||
@@ -54,7 +53,6 @@ export class UserSearch {
 | 
				
			|||||||
    // the search widget unless it was already empty.
 | 
					    // the search widget unless it was already empty.
 | 
				
			||||||
    clear_search(): void {
 | 
					    clear_search(): void {
 | 
				
			||||||
        buddy_data.set_is_searching_users(false);
 | 
					        buddy_data.set_is_searching_users(false);
 | 
				
			||||||
        $("#clear_search_people_button").toggleClass("hidden", true);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        this.$input.val("");
 | 
					        this.$input.val("");
 | 
				
			||||||
        this.$input.trigger("blur");
 | 
					        this.$input.trigger("blur");
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -511,28 +511,6 @@
 | 
				
			|||||||
    padding-right: var(--width-simplebar-scroll-hover);
 | 
					    padding-right: var(--width-simplebar-scroll-hover);
 | 
				
			||||||
    background-color: var(--color-background);
 | 
					    background-color: var(--color-background);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    #userlist-header-search {
 | 
					 | 
				
			||||||
        display: grid;
 | 
					 | 
				
			||||||
        grid-template-rows: var(--line-height-sidebar-row-prominent);
 | 
					 | 
				
			||||||
        grid-template-columns: minmax(0, 1fr) 30px;
 | 
					 | 
				
			||||||
        align-items: center;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        & .user-list-filter {
 | 
					 | 
				
			||||||
            grid-area: 1 / 1 / 2 / 3;
 | 
					 | 
				
			||||||
            white-space: nowrap;
 | 
					 | 
				
			||||||
            text-overflow: ellipsis;
 | 
					 | 
				
			||||||
            overflow: hidden;
 | 
					 | 
				
			||||||
            /* Prevent text from colliding with #clear_search_button */
 | 
					 | 
				
			||||||
            padding-right: 28px;
 | 
					 | 
				
			||||||
            height: var(--line-height-sidebar-row-prominent);
 | 
					 | 
				
			||||||
            box-sizing: border-box;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        .user-list-filter:placeholder-shown + #clear_search_people_button {
 | 
					 | 
				
			||||||
            visibility: hidden;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    #buddy-list-menu-icon {
 | 
					    #buddy-list-menu-icon {
 | 
				
			||||||
        color: var(--color-vdots-visible);
 | 
					        color: var(--color-vdots-visible);
 | 
				
			||||||
        justify-content: center;
 | 
					        justify-content: center;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,12 +2,9 @@
 | 
				
			|||||||
    <div class="right-sidebar-items">
 | 
					    <div class="right-sidebar-items">
 | 
				
			||||||
        <div id="user-list">
 | 
					        <div id="user-list">
 | 
				
			||||||
            <div id="userlist-header">
 | 
					            <div id="userlist-header">
 | 
				
			||||||
                <div id="userlist-header-search">
 | 
					                {{#> input input_type="filter-input" id="userlist-header-search" icon="search" input_button_icon="close"}}
 | 
				
			||||||
                    <input class="user-list-filter home-page-input filter_text_input" type="text" autocomplete="off" placeholder="{{t 'Filter users' }}" />
 | 
					                    <input type="text" class="input-element user-list-filter home-page-input" autocomplete="off" placeholder="{{t 'Filter users' }}" />
 | 
				
			||||||
                    <button type="button" class="clear_search_button" id="clear_search_people_button">
 | 
					                {{/input}}
 | 
				
			||||||
                        <i class="zulip-icon zulip-icon-close" aria-hidden="true"></i>
 | 
					 | 
				
			||||||
                    </button>
 | 
					 | 
				
			||||||
                </div>
 | 
					 | 
				
			||||||
                <span id="buddy-list-menu-icon" class="user-list-sidebar-menu-icon">
 | 
					                <span id="buddy-list-menu-icon" class="user-list-sidebar-menu-icon">
 | 
				
			||||||
                    <i class="zulip-icon zulip-icon-more-vertical" aria-hidden="true"></i>
 | 
					                    <i class="zulip-icon zulip-icon-more-vertical" aria-hidden="true"></i>
 | 
				
			||||||
                </span>
 | 
					                </span>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -114,9 +114,9 @@ test("clear_search with button", ({override}) => {
 | 
				
			|||||||
    override(fake_buddy_list, "populate", (user_ids) => {
 | 
					    override(fake_buddy_list, "populate", (user_ids) => {
 | 
				
			||||||
        assert.deepEqual(user_ids, {all_user_ids: ordered_user_ids});
 | 
					        assert.deepEqual(user_ids, {all_user_ids: ordered_user_ids});
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
    $("#clear_search_people_button").trigger("click");
 | 
					    $("#userlist-header-search .input-button").trigger("click");
 | 
				
			||||||
    assert.equal($("input.user-list-filter").val(), "");
 | 
					    assert.equal($("input.user-list-filter").val(), "");
 | 
				
			||||||
    $("#clear_search_people_button").trigger("click");
 | 
					    $("#userlist-header-search .input-button").trigger("click");
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
test("clear_search", ({override}) => {
 | 
					test("clear_search", ({override}) => {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user