Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tweaks to icon parameter in gr.Button() #5285

Merged
merged 16 commits into from
Aug 22, 2023
Merged

Tweaks to icon parameter in gr.Button() #5285

merged 16 commits into from
Aug 22, 2023

Conversation

abidlabs
Copy link
Member

@abidlabs abidlabs commented Aug 21, 2023

When I was working with @dawoodkhan82 on adding avatar images, we realized that we should slightly change the way that we handle icons in gr.Button() as well. I've implemented that logic for gr.Button() here.

The main advantage of this approach is that we no longer do any preprocessing in the backend of the icon parameter in the __init__ of gr.Button(). This is important because @aliabid94 is working on unifying the __init__ and update() of each component so we should make both as simple as possible. As a bonus, this fixes: #5243

Made some tweaks to gr.Chatbot and gr.Dataset as well.

cc @hannahblair @dawoodkhan82

Feel free to wreck my frontend code.

Test code:

import gradio as gr

path = "cheetah.jpg"
url = "https://fastly.picsum.photos/id/322/200/300.jpg?hmac=q6h4jr1n6SrXrRCeqCblcexGQCfYmSXhr8Oo5EGoHIU"

with gr.Blocks() as demo:
    b1 = gr.Button(icon=path)
    b2 = gr.Button(icon=url)
    
    b2.click(lambda :gr.Button.update(icon=url, value="hello"), None, b1)
    b1.click(lambda :gr.update(icon=path, value="hi"), None, b2)    
    
demo.launch()

@gradio-pr-bot
Copy link
Collaborator

gradio-pr-bot commented Aug 21, 2023

🪼 branch checks and previews

Name Status URL
Spaces ready! Spaces preview
Website ready! Website preview
Storybook ready! Storybook preview
Visual tests all good! Build review
🦄 Changes detected! Details

Install Gradio from this PR

pip install https://gradio-builds.s3.amazonaws.com/2266ed5c10938dfb9b92d64a68568967bb094a8b/gradio-3.40.1-py3-none-any.whl

Install Gradio Python Client from this PR

pip install "gradio-client @ git+https://github.com/gradio-app/gradio@2266ed5c10938dfb9b92d64a68568967bb094a8b#subdirectory=client/python"

@gradio-pr-bot
Copy link
Collaborator

gradio-pr-bot commented Aug 21, 2023

🦄 change detected

This Pull Request includes changes to the following packages.

Package Version
@gradio/app patch
@gradio/button patch
@gradio/chatbot patch
@gradio/upload patch
gradio patch
  • Maintainers can select this checkbox to manually select packages to update.

With the following changelog entry.

Tweaks to icon parameter in gr.Button()

Maintainers or the PR author can modify the PR title to modify this entry.

Something isn't right?

  • Maintainers can change the version label to modify the version bump.
  • If the bot has failed to detect any changes, or if this pull request needs to update multiple packages to different versions or requires a more comprehensive changelog entry, maintainers can update the changelog file directly.

@abidlabs abidlabs marked this pull request as ready for review August 21, 2023 22:21
@abidlabs
Copy link
Member Author

Thanks @freddyaboulton @hannahblair I've addressed your comments. Let me know if you have other feedback!

Copy link
Collaborator

@freddyaboulton freddyaboulton left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the refactor and fix @abidlabs !

@abidlabs abidlabs merged commit cdfd421 into main Aug 22, 2023
@abidlabs abidlabs deleted the icon-fix branch August 22, 2023 22:05
@pngwn pngwn mentioned this pull request Aug 22, 2023
dawoodkhan82 pushed a commit that referenced this pull request Aug 23, 2023
* button

* add changeset

* fix

* add changeset

* add changeset

* types

* type fix

* formatting

* fix based on review

* fix unit tests

* stories

---------

Co-authored-by: gradio-pr-bot <[email protected]>
dawoodkhan82 added a commit that referenced this pull request Aug 23, 2023
* waveform res fix

* add changeset

* add changeset

* Improve audio streaming (#5238)

* changes

* changes

* add changeset

* add changeset

* chages

* Update silver-clowns-brush.md

* changes

* chagers

* changes

* Update silver-clowns-brush.md

* change

* change

---------

Co-authored-by: gradio-pr-bot <[email protected]>
Co-authored-by: pngwn <[email protected]>

* Tweaks to `icon` parameter in `gr.Button()` (#5285)

* button

* add changeset

* fix

* add changeset

* add changeset

* types

* type fix

* formatting

* fix based on review

* fix unit tests

* stories

---------

Co-authored-by: gradio-pr-bot <[email protected]>

* test

* test

---------

Co-authored-by: gradio-pr-bot <[email protected]>
Co-authored-by: aliabid94 <[email protected]>
Co-authored-by: pngwn <[email protected]>
Co-authored-by: Abubakar Abid <[email protected]>
dawoodkhan82 added a commit that referenced this pull request Aug 28, 2023
* waveform res fix

* add changeset

* add changeset

* Improve audio streaming (#5238)

* changes

* changes

* add changeset

* add changeset

* chages

* Update silver-clowns-brush.md

* changes

* chagers

* changes

* Update silver-clowns-brush.md

* change

* change

---------

Co-authored-by: gradio-pr-bot <[email protected]>
Co-authored-by: pngwn <[email protected]>

* Tweaks to `icon` parameter in `gr.Button()` (#5285)

* button

* add changeset

* fix

* add changeset

* add changeset

* types

* type fix

* formatting

* fix based on review

* fix unit tests

* stories

---------

Co-authored-by: gradio-pr-bot <[email protected]>

* test

* test

---------

Co-authored-by: gradio-pr-bot <[email protected]>
Co-authored-by: aliabid94 <[email protected]>
Co-authored-by: pngwn <[email protected]>
Co-authored-by: Abubakar Abid <[email protected]>
dawoodkhan82 added a commit that referenced this pull request Aug 29, 2023
* disable sanitize

* add changeset

* Fix devcontainer postCreateCommand (#5289)

* add chmod commands to grant execute permissions to each script before running them

* increase the memory limit

* Increase memory requirement to 8

* Setting a minimum specification for codespace machines

* Rotate axes labels on LinePlot, BarPlot, and ScatterPlot (#5305)

* add chmod commands to grant execute permissions to each script before running them

* increase the memory limit

* Increase memory requirement to 8

* Setting a minimum specification for codespace machines

* Added label_angle parameter to LinePlot

* add the x_label_angle and y_label_angle to the postprocess

* Add x_label_angle and y_label_angle to ScatterPlot

* Add x_label_angle and y_label_angle to BarPlot

* Remove postCreateCommand update from this PR, it is in its own PR

* Remove custumization on the devcontainer, it is on another PR

* Remove extra line  on the devcontainer, it is on another PR

* add changeset

* update the parameter definition in the docstring

---------

Co-authored-by: Abubakar Abid <[email protected]>
Co-authored-by: gradio-pr-bot <[email protected]>

* `make_waveform()` twitter video resolution fix (#5296)

* waveform res fix

* add changeset

* add changeset

* Improve audio streaming (#5238)

* changes

* changes

* add changeset

* add changeset

* chages

* Update silver-clowns-brush.md

* changes

* chagers

* changes

* Update silver-clowns-brush.md

* change

* change

---------

Co-authored-by: gradio-pr-bot <[email protected]>
Co-authored-by: pngwn <[email protected]>

* Tweaks to `icon` parameter in `gr.Button()` (#5285)

* button

* add changeset

* fix

* add changeset

* add changeset

* types

* type fix

* formatting

* fix based on review

* fix unit tests

* stories

---------

Co-authored-by: gradio-pr-bot <[email protected]>

* test

* test

---------

Co-authored-by: gradio-pr-bot <[email protected]>
Co-authored-by: aliabid94 <[email protected]>
Co-authored-by: pngwn <[email protected]>
Co-authored-by: Abubakar Abid <[email protected]>

* Allow caching examples with streamed output (#5295)

* changes

* changes

* add changeset

* add changeset

* chages

* Update silver-clowns-brush.md

* changes

* chagers

* changes

* Update silver-clowns-brush.md

* change

* change

* change

* changes

* chages

* changes

* add changeset

* changes

* changes

* changes

---------

Co-authored-by: gradio-pr-bot <[email protected]>
Co-authored-by: pngwn <[email protected]>

* Create event listener table for components on docs (#5298)

* changes

* changes

* remove languages from code docs

* fix img path in guide

* rework event listeners

* add changeset

* remove console log

* name it event arguments

* Update js/_website/src/lib/components/EventListeners.svelte

Co-authored-by: Abubakar Abid <[email protected]>

* Update js/_website/src/lib/components/EventListeners.svelte

Co-authored-by: Abubakar Abid <[email protected]>

* requested changes

---------

Co-authored-by: gradio-pr-bot <[email protected]>
Co-authored-by: Abubakar Abid <[email protected]>

* merge

* fix (#5308)

* only start listening for events after the components are mounted (#5312)

* only start listening for events after the components are mounted

* add changeset

---------

Co-authored-by: gradio-pr-bot <[email protected]>

* Restores missing part of bottom border on file component (#5313)

* removes missing part of bottom border on file component

* add changeset

* add changeset

---------

Co-authored-by: gradio-pr-bot <[email protected]>

* chore: update versions (#5177)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* Test Blocks.svelte footer copy (#5307)

* test test

* fix test

* tweak

* tweak test name

* ensure login form has correct styles (#5324)

* fix changelog generation (#5328)

* Add ignore scripts to pnpm i in pypi action (#5316)

* add json generation to prepare

* add changeset

* remove pnpm prepare

* add changeset

* bring back prepare, add ignore scripts

* delete changeset

* add to right commadn

* add frozen lockfile to gh_action_pypi

* remove unused gh_action_pypi script

* remove unused scripts

---------

Co-authored-by: gradio-pr-bot <[email protected]>

* ensure dropdown stays open when identical data is passed in (#5323)

* ensure dropwdown stays open when new data is passed in

* add changeset

* add changeset

---------

Co-authored-by: gradio-pr-bot <[email protected]>

* Fix ci again again again (#5329)

* fix changelog generation

* fix changelog generation

* fix

* chore: update versions (#5326)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* Fix ci again again again (#5330)

* fix changelog generation

* fix changelog generation

* fix

* fix script

* Fix ci again again again (#5331)

* fix changelog generation

* fix changelog generation

* fix

* fix script

* fix script

* Fix ci again again again (#5332)

* fix changelog generation

* fix changelog generation

* fix

* fix script

* fix script

* fix vars

* Fix ci again again again (#5333)

* fix changelog generation

* fix changelog generation

* fix

* fix script

* fix script

* fix vars

* fix vars

* Fix Checkbox select dispatch (#5340)

* Fix bug

* add changeset

---------

Co-authored-by: gradio-pr-bot <[email protected]>

* Minor bug fix sweep (#5284)

* changes

* changes

* add changeset

* changes

* changes

* fix box changes on website

* add changeset

* changes

* changes

* Revert "changes"

This reverts commit 189b4e8.

* chanegs

* changes

* changes

* changes

* changes

* add changeset

* Update fancy-bats-deny.md

---------

Co-authored-by: gradio-pr-bot <[email protected]>
Co-authored-by: aliabd <[email protected]>
Co-authored-by: Abubakar Abid <[email protected]>

* Fix: wrap avatar-image in a div to clip its shape (#5319)

* fix: wrap avatar-image in a div to clip its shape

and add data url support

* add changeset

* revert get file from data url

* add changeset

---------

Co-authored-by: Dawood Khan <[email protected]>
Co-authored-by: gradio-pr-bot <[email protected]>

* chore: update versions (#5341)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* add kwarg to markdown

* add changeset

* config

---------

Co-authored-by: gradio-pr-bot <[email protected]>
Co-authored-by: Faiga Alawad <[email protected]>
Co-authored-by: Abubakar Abid <[email protected]>
Co-authored-by: aliabid94 <[email protected]>
Co-authored-by: pngwn <[email protected]>
Co-authored-by: Ali Abdalla <[email protected]>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Hannah <[email protected]>
Co-authored-by: Freddy Boulton <[email protected]>
Co-authored-by: Keldos <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Allow dynamic update of gr.Button icon value
4 participants