Drawer

Struct Drawer 

Source
pub struct Drawer { /* private fields */ }
Expand description

Drawer component

A drawer is a sliding panel that enters from the right edge of the viewport. It can be configured to either overlay content on a page or create a sidebar by pushing that content to the left.

See: https://www.patternfly.org/components/drawer

§Properties

Defined by DrawerProperties.

§Children

The drawer requires a structure of other drawer elements, which isn’t enforced through types. See the example, the quickstart project, and the PatternFly documentation for guidance.

§Example

use yew::prelude::*;
use patternfly_yew::prelude::*;

#[function_component(Example)]
fn example() -> Html {

  let expanded = use_state_eq(|| false);
  let onclick = use_callback(expanded.clone(), |_, expanded| expanded.set(!**expanded));
  let onclose = use_callback( expanded.clone(), |_, expanded| expanded.set(false));

  let panel_content = html!(
    <DrawerPanelContent>
      <DrawerHead>
        <span>
          {"drawer-panel"}
        </span>
        <DrawerActions>
          <DrawerCloseButton onclick={onclose} />
        </DrawerActions>
      </DrawerHead>
    </DrawerPanelContent>
  );

  html!(
    <>
      <Button variant={ButtonVariant::Primary} {onclick}>{"Toggle drawer"}</Button>
      <Drawer expanded={*expanded}>
        <DrawerContent {panel_content}>
          <DrawerContentBody>
            { "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus pretium est a porttitor vehicula. Quisque vel commodo urna. Morbi mattis rutrum ante, id vehicula ex accumsan ut. Morbi viverra, eros vel porttitor facilisis, eros purus aliquet erat,nec lobortis felis elit pulvinar sem. Vivamus vulputate, risus eget commodo eleifend, eros nibh porta quam, vitae lacinia leo libero at magna. Maecenas aliquam sagittis orci, et posuere nisi ultrices sit amet. Aliquam ex odio, malesuada sed posuere quis, pellentesque at mauris. Phasellus venenatis massa ex, eget pulvinar libero auctor pretium. Aliquam erat volutpat. Duis euismod justo in quam ullamcorper, in commodo massa vulputate." }
          </DrawerContentBody>
        </DrawerContent>
      </Drawer>
    </>
  )
}

For more examples, see the PatternFly Yew Quickstart project.

Trait Implementations§

Source§

impl BaseComponent for Drawer
where Self: 'static,

Source§

type Message = ()

The Component’s Message.
Source§

type Properties = DrawerProperties

The Component’s Properties.
Source§

fn create(ctx: &Context<Self>) -> Self

Creates a component.
Source§

fn update(&mut self, _ctx: &Context<Self>, _msg: Self::Message) -> bool

Updates component’s internal state.
Source§

fn changed( &mut self, _ctx: &Context<Self>, _old_props: &Self::Properties, ) -> bool

React to changes of component properties.
Source§

fn view(&self, ctx: &Context<Self>) -> HtmlResult

Returns a component layout to be rendered.
Source§

fn rendered(&mut self, _ctx: &Context<Self>, _first_render: bool)

Notified after a layout is rendered.
Source§

fn destroy(&mut self, _ctx: &Context<Self>)

Notified before a component is destroyed.
Source§

fn prepare_state(&self) -> Option<String>

Prepares the server-side state.
Source§

impl Debug for Drawer

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl FunctionProvider for Drawer

Source§

type Properties = DrawerProperties

Properties for the Function Component.
Source§

fn run(ctx: &mut HookContext, props: &Self::Properties) -> HtmlResult

Render the component. This function returns the Html to be rendered for the component. Read more

Auto Trait Implementations§

§

impl !Freeze for Drawer

§

impl !RefUnwindSafe for Drawer

§

impl !Send for Drawer

§

impl !Sync for Drawer

§

impl Unpin for Drawer

§

impl !UnwindSafe for Drawer

Blanket Implementations§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Borrow<T> for T
where T: ?Sized,

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for T
where T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
§

impl<T, U> Into<U> for T
where U: From<T>,

§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoPropValue<Option<T>> for T

Source§

fn into_prop_value(self) -> Option<T>

Convert self to a value of a Properties struct.
Source§

impl<T> IntoPropValue<T> for T

Source§

fn into_prop_value(self) -> T

Convert self to a value of a Properties struct.
§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<Token, Builder, How> AllPropsFor<Builder, How> for Token
where Builder: Buildable<Token>, <Builder as Buildable<Token>>::WrappedToken: HasAllProps<<Builder as Buildable<Token>>::Output, How>,

Source§

impl<T> HasAllProps<(), T> for T