This commit serves as the base for the ongoing effort to standardize
redesigned input elements throughout the Zulip Web UI. It introduces a
new Handlebars partial block for inputs, located at
web/templates/components/input.hbs.
The partial can be used with the partial block syntax: {{#> input}},
allowing contributors to pass in the input element as a template. This
approach wraps the input with a consistent structure that includes
support for an icon and an action button. It also applies the necessary
styling to ensure visual and functional consistency across the web UI.
This commit also implements the filter input component at
/devtools/inputs/ showroom page for design discussions and prototyping.
Instead of changing the height of the button subheader depending
on the width of the modal, which was fiddly and error prone, we now
let grid determine the height of the button subheader, and determine
the height of the body through javascript resize calculations.
This commit fixes code to correctly show the long group
names by clipping them and showing ellipsis in group rows
in left panel and in the header shown in right section.
Group names are handled in a different way than stream
names because we need to show deactivated icons as well
for stream names.
This commit fixes a bug where clicking the copy icon in the
'#copy_email_address_modal' did not copy the email address
displayed to the clipboard.
It was because we didn't set the 'text' option to specify
the explicit text to copy.
Fixes: #35062.
This part of the UI was removed from the sidebar in commit
2feee9d756. There is still unreachable
codeblock inside right sidebar.
This commit removes the unreachable code.
Previously, we included channel, topic, sender name and search
qeries (if present) in the empty feed banner.
With this commit, we will now not include channel, topic and sender
name and we only display the search queries when there are excluded
stop words.
Fixes: #34872
This fixes an accidental change introduced in #32578.
Forwarding a message and choosing DM should result in
an empty recipient box instead of showing current
recipients.
This commit fixes the kbd element text being centered in dark theme
but not in light theme. Aligns text for all kbd elements not just
in dark theme.
Fixes:zulip#35059.
We reset the internal state while opening the stream settings
overlay to reflect that "Subscribed" tab will be selected.
We did set show_subscribed value to "True" but did not
set show_not_subscribed value to "False".
Due to this opening the overlay, after closing the overlay
when "Not subscribed" tab was selected, resulted in left
panel being shown empty with "Subscribed" tab selected
even when there were subscribed streams because both
show_subscribed and show_not_subscribed were set to "True".
This commit fixes it by setting show_not_subscribed to
"False" as well when resetting the state.
This renames the function to `contains_no_partial_conversations`. The
function initially was created to determine whether its appropriate to
collapse recipient/sender headings. Since then it has many other use
cases, so it's renamed to clearly describe what it does instead.
When there is only one user group, the tooltip appears on the upper side
of the "group-row" and gets hidden.
This commit sets `overflow: visible` which is default value, causing the
tooltip position to invert when there is only one user group.
The "sub_unsub_status" spinner was inside the div with the "check" class
, causing the tooltip to appear over the spinner, which should only be
visible on the check icon.
This commit moves the "sub_unsub_status" spinner div outside, ensuring
the tooltip is now visible only when hovering over the check icon.
The previous logic only worked correctly when user moved from
inbox view to channel topic list view and vice versa.
The logic failed if user moves out of inbox since then `save` state
is never called and hence when restore is called, the navigation
state gets reset.
Fixed by also saving state when inbox is hidden.
We want to prevent users from adding a duplicate or empty
task to the todo list. For this purpose, we disable the
"Add task" button in both the cases.
Fixes: #20211
This commit fixes the behavior when manually changing
the date input instead of selecting from the picker.
Changes done are-
- Users can enter date in various formats including the
one showed in the input like "June 20, 1999", "MM-DD-YYY",
and basically the formats which can be parsed by "Date".
- Fixed handling of invalid strings where we show
"Invalid date value" error message for some time without
sending the request to server.
Fixes#19936.
This is a prep commit to avoid import cycles when we
would use update_user_custom_profile_fields function
in custom_profile_fields_ui.ts in next commit.
It is important to remove the class when hiding the status
element to make sure that when showing status again by calling
some other function than ui_report.message, for example using
loading.make_indicator, the status text should not be styled
as per the class used previously.
One example can be that "Saving" text in indicator can be shown
in "red" color, used for showing errors, if previously an error
response was showed in that status element.
Currently checkbox type input will pass through to the default condition
that records the input elements value. This is inaccurate for checkbox
type input field where it should check for the `checked` attribute
instead.
This is added so that we can use `get_current_values` to get the values
of checkbox inputs too.
This removes the "service" field from the `test_bot` fixture, because it
is a default bot. In the `/bots` API endpoint, only service bots can
have their own service.
This is a prep commit for #34524, this cleans up the test cases related
to service bots so that it would keep things from getting confusing when
adding test for the changes to that PR.
This refactors a CSS variable for checkbox field margin for checkboxes
nested in another field. For example, the "integration events" options
in the "Generate integration URL" modal. Those nested checkboxes are
spaced out closer together.
This is a prep commit for #34524, that PR will add another nested
checkbox in the "Add a new bot" modal.
Prevent displaying the topic resolved banner when the channel
picker (compose_select_recipient_dropdown_widget) is opened in
the case of forwarding messages. This is done to prevent the
overlap of the channel picker and the banner, as it hides some
part of the banner text.
Fixes: #33449
Earlier, buddy list tooltip would get stuck if tooltip was displayed
when redraw for presence update got triggered. This happened due to
tooltip target element was changed but reference element for
mutation wasn't updated.
This commit removes the keep_focus_on_search option from the
DropdownWidgetOptions type, and updates logic to always set
keep_focus_on_search when the search box is visible in the
dropdown.
Fixes: #34828.